551 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			SCSS
		
	
	
	
			
		
		
	
	
			551 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			SCSS
		
	
	
	
| .navbar {
 | |
|   margin: auto;
 | |
|   width: inherit;
 | |
|   max-width: inherit;
 | |
|   height: $grid_navbar_height;
 | |
|   z-index: z('navbar');
 | |
|   position: fixed;
 | |
|   left: 0;
 | |
|   right: 0;
 | |
|   top: 0;
 | |
| 
 | |
|   &[data-dir="rtl"] {
 | |
|     direction: rtl;
 | |
|   }
 | |
|   
 | |
|   &[data-dir="ltr"] {
 | |
|     direction: ltr;
 | |
|   }
 | |
| 
 | |
|   @media only screen and (max-width: 769px) {
 | |
|     &[data-dir="rtl"] {
 | |
|       direction: ltr;  
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   @include transition(all, 0.2s, ease);  
 | |
|   @include flexbox();
 | |
|   @include justify-content(space-between);
 | |
|   @include themify($themes) {
 | |
|     border-bottom: 1px solid themed('navbar-border-bottom-color');
 | |
|     background-color: themed('navbar-background-color');
 | |
|   }
 | |
| 
 | |
|   &--hide {
 | |
|     top: -$grid_navbar_height;
 | |
|   }
 | |
| 
 | |
|   &--show {
 | |
|     top: 0;
 | |
|   }
 | |
| 
 | |
|   &__slide-down {
 | |
|     svg {
 | |
|       margin: auto;
 | |
|       display: block;
 | |
|     }
 | |
| 
 | |
|     @include themify($themes) {
 | |
|       background-color: themed('navbar-background-color') !important;
 | |
| 
 | |
|       @include on-event {
 | |
|         color: themed('navbar-title-hover-color');
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &[data-ani="true"] {
 | |
|       @media only screen and (min-width: 769px) {
 | |
|         @for $i from 1 through 10 {
 | |
|           &:nth-child(#{$i}) {
 | |
|             @include animation('slide-in-down .25s #{$i * .1}s 1 ease both');
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
|   
 | |
|   &__brand {
 | |
|     height: $grid_navbar_height;
 | |
| 
 | |
|     @include flexbox();
 | |
|     @include align-items(center);
 | |
|     @include flex-shrink(0);  
 | |
|   }
 | |
| 
 | |
|   &__burger {
 | |
|     display: none;
 | |
| 
 | |
|     &[data-ani="true"] {
 | |
|       @include animation('slide-in-down .5s .0s 1 ease both');
 | |
|     }
 | |
|     
 | |
|     @media only screen and (max-width: 769px) {
 | |
|       cursor: pointer;
 | |
|       margin-left: auto;
 | |
|       height: $grid_navbar_height;    
 | |
|       width: 35px;
 | |
|       position: absolute;
 | |
|       right: 0;
 | |
| 
 | |
|       @include flexbox();
 | |
|       @include align-items(center);
 | |
|       @include justify-content(flex-end);
 | |
|       @include themify($themes) {
 | |
|         background: themed('navbar-background-color');
 | |
|         border-bottom: 1px solid themed('navbar-border-bottom-color');
 | |
|       }
 | |
| 
 | |
|       span {
 | |
|         @include themify($themes) {
 | |
|           background-color: themed('burger-menu-color');
 | |
|         }
 | |
|         
 | |
|         border-radius: 1rem;
 | |
|         display: block;
 | |
|         height: 2px;
 | |
|         left: calc(50% - 8px);
 | |
|         position: absolute;
 | |
|         transform-origin: center;
 | |
|         transition-duration: 86ms;
 | |
|         transition-property: background-color, opacity, transform;
 | |
|         transition-timing-function: ease-out;
 | |
|         z-index: z('navbar');
 | |
|         width: 16px;
 | |
|         &:nth-child(1) {
 | |
|           top: calc(50% - 6px);
 | |
|         }      
 | |
|         &:nth-child(2) {
 | |
|           top: calc(50% - 1px);
 | |
|         } 
 | |
|         &:nth-child(3) {
 | |
|           top: calc(50% + 4px);
 | |
|         }      
 | |
|       }      
 | |
|           
 | |
|       @include on-event {
 | |
|         span {
 | |
|           @include themify($themes) {
 | |
|             background-color: themed('navbar-title-hover-color');
 | |
|           }
 | |
|         }        
 | |
|       }
 | |
| 
 | |
|       &.is-active {
 | |
|         display: block;
 | |
|         span {
 | |
|           &:nth-child(1) {
 | |
|             transform: translateY(5px) rotate(45deg);
 | |
|           }        
 | |
|           &:nth-child(2) {
 | |
|             opacity: 0;
 | |
|           }        
 | |
|           &:nth-child(3) {
 | |
|             transform: translateY(-5px) rotate(-45deg);
 | |
|           }        
 | |
|         }      
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &__logo {
 | |
|     width: 100%;
 | |
|     height: 100%;
 | |
| 
 | |
|     &-link {
 | |
|       width: 40px;
 | |
|       height: 40px;
 | |
|       padding: 0.1rem;
 | |
|       margin: auto 0.25rem;
 | |
|       @include flex-shrink(0);
 | |
|       flex-shrink: 0;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &__long {
 | |
|     &-link {
 | |
|       width: 100%;
 | |
|       height: 100%;
 | |
|       padding: 0.6rem 0.2rem;
 | |
|       margin: auto 0.25rem;
 | |
|       @include flex-shrink(0);
 | |
|       flex-shrink: 0;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &__title {
 | |
|     height: $grid_navbar_height;
 | |
|     font-size: 1.5rem;
 | |
|     font-family: $title-font;
 | |
| 
 | |
|     @include flexbox();
 | |
|     @include align-items(center);        
 | |
|     
 | |
|     &-link {
 | |
|       @include themify($themes) {
 | |
|         color: themed("navbar-title-color");
 | |
|         @include on-event {
 | |
|             text-decoration: none;
 | |
|             color: themed("navbar-title-color");
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &__menu {
 | |
|     @include flex-grow(1);
 | |
|     @include flexbox();
 | |
|     @include align-items(center);
 | |
|     @include justify-content(flex-end);
 | |
| 
 | |
|     height: $grid_navbar_height;
 | |
| 
 | |
|     @media only screen and (max-width: 769px) {
 | |
|       display: none;
 | |
|     }    
 | |
| 
 | |
|     &-item {
 | |
|       height: $grid_navbar_height;
 | |
|       padding: 0.5rem;
 | |
|       font-size: 1rem;
 | |
|       font-family: $title-font;
 | |
|       font-weight: 700;
 | |
|       
 | |
|       @include flexbox();
 | |
|       @include align-items(center);
 | |
|       @include justify-content(center);
 | |
|       @include no-select;
 | |
|       @include themify($themes) {
 | |
|         color: themed('navbar-title-color');
 | |
|         border-top: 1px solid transparent;
 | |
|         border-bottom: 1px solid themed('navbar-border-bottom-color');
 | |
|         background-color: themed('navbar-background-color');
 | |
|         @include on-event {
 | |
|           color: themed('navbar-title-hover-color');
 | |
|           // background-color: themed('navbar-menu-hover-background-color');
 | |
|           text-decoration: none;
 | |
|           border-bottom: 1px solid themed('navbar-border-bottom-color');
 | |
|         }
 | |
|         @media only screen and (max-width: 769px) {
 | |
|           border-bottom: none;
 | |
|         }
 | |
|         &.active {
 | |
|           color: themed('navbar-title-active-color') !important;
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       @media only screen and (max-width: 769px) {
 | |
|         @include justify-content(flex-start);
 | |
|         width: 100%;
 | |
|         padding: 0 0.75rem;
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     // &.is-active {
 | |
|     //   position: absolute;
 | |
|     //   top: $grid_navbar_height;
 | |
|     //   left: 0;
 | |
|     //   width: 100%;
 | |
|     //   height: auto;
 | |
|     //   overflow: hidden;
 | |
| 
 | |
|     //   @include flexbox();
 | |
|     //   @include flex-direction(column);
 | |
|     //   @include align-items(flex-start);
 | |
|     //   @include themify($themes) {        
 | |
|     //     border-top: 1px solid themed('navbar-border-bottom-color');
 | |
|     //     background-color: themed('navbar-mobile-background-color');
 | |
|     //     border-bottom: 1px solid themed('navbar-border-bottom-color');
 | |
|     //   }
 | |
|     // }
 | |
|   }
 | |
| 
 | |
|   &__dropdown {
 | |
|     display: inline-block;
 | |
|     height: $grid_navbar_height;
 | |
|     @media only screen and (max-width: 769px) {
 | |
|       width: 100%;
 | |
|       height: auto;
 | |
|     }
 | |
| 
 | |
|     &--content {
 | |
|       position: absolute;
 | |
|       display: none;
 | |
|       width: inherit;      
 | |
|       z-index: z("dropdown");
 | |
|       border-bottom-left-radius: 0.15rem;
 | |
|       border-bottom-right-radius: 0.15rem;
 | |
| 
 | |
|       @include box-shadow(0, 1px, 3px, 0, rgba(0, 0, 0, 0.4));
 | |
|       @include themify($themes) {
 | |
|         border-top: 4px solid themed("dropdown-border-top-color");
 | |
|         background-color: themed("dropdown-content-background-color");
 | |
|       }
 | |
| 
 | |
|       @media only screen and (max-width: 769px) {
 | |
|         position: relative;
 | |
|         display: block;
 | |
|         box-shadow: none;
 | |
|         @include themify($themes) {
 | |
|           border-top: none;
 | |
|           background-color: themed("navbar-mobile-background-color");
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &--item {
 | |
|       padding: 0.25rem 0.75rem;
 | |
|       height: auto;
 | |
|       margin: auto;
 | |
|       min-width: 40px;
 | |
|       max-width: 150px;
 | |
|       text-decoration: none;
 | |
|       display: block;
 | |
|       font-size: 1rem;
 | |
|       font-weight: 700;
 | |
| 
 | |
|       @include truncate(150px);
 | |
|       @include themify($themes) {
 | |
|         color: themed("dropdown-item-color");
 | |
|         background-color: themed("navbar-background-color");
 | |
|         @include on-event {
 | |
|           color: themed("navbar-dropdown-item-hover-color");
 | |
|           background-color: themed("navbar-menu-hover-background-color");
 | |
|           text-decoration: none;          
 | |
| 
 | |
|           &:last-child {
 | |
|             border-bottom-left-radius: 0.15rem;
 | |
|             border-bottom-right-radius: 0.15rem;
 | |
|           }
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       @media only screen and (max-width: 769px) {
 | |
|         padding: 0 2.5rem;
 | |
|         min-width: 100%;
 | |
|         max-width: 100%;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| }
 | |
| 
 | |
| .navbar__dropdown:hover .navbar__dropdown--content {
 | |
|   display: block;
 | |
| }
 | |
| 
 | |
| .theme {
 | |
|   @include flexbox();
 | |
|   @include align-items(center);
 | |
|   @include justify-content(flex-end);
 | |
| 
 | |
|   &[data-ani="true"] {
 | |
|     @include animation('slide-in-down .5s .0s 1 ease both');
 | |
|   }
 | |
| 
 | |
|   @media only screen and (max-width: 769px) {
 | |
|     display: none;
 | |
|   }
 | |
| 
 | |
|   .dropdown {
 | |
|     height: $grid_navbar_height !important;
 | |
|     position: relative;
 | |
| 
 | |
|     @include flexbox();
 | |
|     @include align-items(center);
 | |
|     @include justify-content(center);    
 | |
|     @include themify($themes) {
 | |
|       color: themed('burger-menu-color');  
 | |
|       @include on-event {
 | |
|         color: themed('navbar-title-hover-color');
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &-trigger {
 | |
|       padding: 0.5rem;
 | |
|       cursor: pointer;
 | |
|       border: none;
 | |
|       outline: none;
 | |
|       width: $grid_navbar_height;
 | |
|       height: $grid_navbar_height - 2px;
 | |
| 
 | |
|       @include themify($themes) {
 | |
|         color: themed('burger-menu-color');
 | |
|         @include on-event {
 | |
|           color: themed('navbar-title-hover-color');
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     @media only screen and (max-width: 769px) {
 | |
|       &-trigger {
 | |
|         padding: 0.25rem;
 | |
|         width: 35px;
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &-content {
 | |
|       position: absolute;
 | |
|       top: 100%;
 | |
|       right: 0;
 | |
|       display: none;
 | |
|       height: auto;
 | |
|       z-index: z("dropdown");      
 | |
|       border-bottom-left-radius: 0.25rem;
 | |
|       border-bottom-right-radius: 0.25rem;
 | |
| 
 | |
|       a {
 | |
|         font-size: 0.9rem;
 | |
|       }
 | |
| 
 | |
|       @include box-shadow(0, 1px, 3px, 0, rgba(0, 0, 0, 0.4));
 | |
|       @include themify($themes) {
 | |
|         border-top: 4px solid themed("dropdown-border-top-color");
 | |
|         background-color: themed("dropdown-content-background-color");
 | |
|       }
 | |
| 
 | |
|       .is-active {
 | |
|         @include themify($themes) {
 | |
|           background-color: themed("dropdown-item-active-background-color");
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &-item {
 | |
|       padding: 0.25rem 0.75rem;
 | |
|       height: 100%;
 | |
|       text-decoration: none;
 | |
|       display: block;
 | |
|       font-size: 1rem;
 | |
| 
 | |
|       @include no-select;
 | |
|       @include themify($themes) {
 | |
|         color: themed("dropdown-item-color");
 | |
|         @include on-event {
 | |
|           color: themed("dropdown-item-hover-color");
 | |
|           background-color: themed("dropdown-item-hover-background-color");
 | |
|           text-decoration: none;
 | |
| 
 | |
|           &:last-child {
 | |
|             border-bottom-left-radius: 0.25rem;
 | |
|             border-bottom-right-radius: 0.25rem;
 | |
|           }
 | |
|         }
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   .dropdown:hover .dropdown-content {
 | |
|     display: block;
 | |
|   }
 | |
| }
 | |
| 
 | |
| .theme-mobile {
 | |
|   display: none;
 | |
|   outline: none;
 | |
|   position: absolute;
 | |
|   top: 0;
 | |
|   right: 35px * 2;
 | |
|   width: 35px;
 | |
|   height: $grid_navbar_height;
 | |
|   cursor: pointer;
 | |
|   z-index: z('modal');
 | |
| 
 | |
|   &[data-ani="true"] {
 | |
|     @include animation('slide-in-down .5s .4s 1 ease both');
 | |
|   }
 | |
| 
 | |
|   @media only screen and (max-width: 769px) {
 | |
|     @include flexbox();
 | |
|   }
 | |
| 
 | |
|   .dropdown:hover .dropdown-content {
 | |
|     display: block;
 | |
|   }
 | |
| }
 | |
| 
 | |
| .navbarm {
 | |
|   padding: 0 0.75rem;
 | |
|   height: 100%;
 | |
|   position: relative;
 | |
|   
 | |
|   @include flexbox();
 | |
|   @include align-items(center);
 | |
| 
 | |
|   &__menu {
 | |
|     height: 100%;
 | |
|     padding: 0 0.75rem;
 | |
| 
 | |
|     @include flexbox();
 | |
| 
 | |
|     &--term {
 | |
|       &[data-index="0"] {
 | |
|         @include themify($themes) {
 | |
|           border-top: 1px solid themed('search-border-outline-color');
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &--item {
 | |
|       height: $grid-navbar-height;
 | |
| 
 | |
|       & > a {
 | |
|         height: 100%;
 | |
|         font-family: $title-font;
 | |
|         font-size: 1rem;
 | |
|         font-weight: bold;
 | |
|         color: inherit;
 | |
|         text-decoration: none !important;
 | |
|         padding: 0 1rem;
 | |
|         
 | |
|         @include flexbox();
 | |
|         @include align-items(center);
 | |
|         @include justify-content(flex-start);
 | |
|       }
 | |
| 
 | |
|       & svg {
 | |
|         margin: auto 0.25rem;
 | |
|       }
 | |
| 
 | |
|       @include themify($themes) {
 | |
|         color: themed('body-color');
 | |
|         &.active {
 | |
|           font-weight: bold;
 | |
|           color: themed('navbar-title-active-color');
 | |
|         }
 | |
|         
 | |
|         @include on-event {
 | |
|           background-color: themed('navbar-menu-hover-background-color');
 | |
|         }
 | |
|       }
 | |
|     }
 | |
| 
 | |
|     &--subitem {
 | |
|       height: 30px;
 | |
|       padding: 0 2.5rem;
 | |
|       
 | |
|       & > a {
 | |
|         font-size: 0.9rem;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   &__collapse {
 | |
|     width: 100%;
 | |
|     position: absolute;
 | |
|     top: $grid-navbar-height;
 | |
|     left: 0;
 | |
|     max-height: 0;
 | |
|     overflow: hidden;
 | |
| 
 | |
|     @include transition(all, 0.15s, ease-out);
 | |
|     @include themify($themes) {
 | |
|       background-color: themed('navbar-background-color');
 | |
|       
 | |
|       &[data-open="true"] {
 | |
|         border-bottom: 2px solid themed('navbar-border-bottom-color');
 | |
|       }
 | |
|       &[data-open="false"] {
 | |
|         border-bottom: none;
 | |
|       }
 | |
|     }
 | |
|   }
 | |
| } |