463 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			SCSS
		
	
	
	
			
		
		
	
	
			463 lines
		
	
	
		
			11 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;
 | 
						|
  
 | 
						|
  @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 {
 | 
						|
    @for $i from 1 through 8 {
 | 
						|
      &: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;
 | 
						|
    position: relative;
 | 
						|
 | 
						|
    @include animation('slide-in-down .5s .0s 1 ease both');
 | 
						|
    @include respond-to(sm) {
 | 
						|
      cursor: pointer;
 | 
						|
      margin-left: auto;
 | 
						|
      position: relative;
 | 
						|
      height: $grid_navbar_height;    
 | 
						|
      width: 35px;
 | 
						|
 | 
						|
      @include flexbox();
 | 
						|
      @include align-items(center);
 | 
						|
      @include justify-content(flex-end);
 | 
						|
 | 
						|
      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;
 | 
						|
        width: 16px;
 | 
						|
        &:nth-child(1) {
 | 
						|
          top: calc(50% - 6px);
 | 
						|
        }      
 | 
						|
        &:nth-child(2) {
 | 
						|
          top: calc(50% - 1px);
 | 
						|
        } 
 | 
						|
        &:nth-child(3) {
 | 
						|
          top: calc(50% + 4px);
 | 
						|
        }      
 | 
						|
      }      
 | 
						|
          
 | 
						|
      &:hover {
 | 
						|
        span {
 | 
						|
          @include themify($themes) {
 | 
						|
            background-color: themed('link-hover');
 | 
						|
          }
 | 
						|
        }        
 | 
						|
      }
 | 
						|
 | 
						|
      // Modifers
 | 
						|
      &.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;
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  &__title {
 | 
						|
    height: $grid_navbar_height;
 | 
						|
    font-size: 1.5rem;
 | 
						|
    @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;
 | 
						|
    
 | 
						|
    @include respond-to(sm) {
 | 
						|
      display: none;
 | 
						|
    }
 | 
						|
 | 
						|
    &-item {
 | 
						|
      height: $grid_navbar_height;      
 | 
						|
      padding: 0.5rem;
 | 
						|
      font-size: 1rem;
 | 
						|
      font-family: $title-font;
 | 
						|
      font-weight: 400;
 | 
						|
 | 
						|
      @include flexbox();
 | 
						|
      @include align-items(center);
 | 
						|
      @include justify-content(center);
 | 
						|
      @include no-select;
 | 
						|
      @include themify($themes) {
 | 
						|
        color: themed('navbar-title-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');
 | 
						|
          @include respond-to(sm) {
 | 
						|
            border-bottom: none;
 | 
						|
          }
 | 
						|
        }
 | 
						|
        &.active {
 | 
						|
          color: themed('navbar-title-active-color') !important;
 | 
						|
        }
 | 
						|
      }
 | 
						|
 | 
						|
      @include respond-to(sm) {
 | 
						|
        @include justify-content(flex-start);
 | 
						|
        width: 100%;
 | 
						|
        padding: 0 0.75rem;
 | 
						|
      }
 | 
						|
    }
 | 
						|
 | 
						|
    &-icon {
 | 
						|
      margin-top: 0.4rem;
 | 
						|
    }
 | 
						|
 | 
						|
    &.is-active {
 | 
						|
      position: absolute;
 | 
						|
      @include flexbox();
 | 
						|
      @include flex-direction(column);
 | 
						|
      @include align-items(flex-start);
 | 
						|
      top: 100%;
 | 
						|
      width: 100%;
 | 
						|
      height: auto;      
 | 
						|
      overflow: hidden;
 | 
						|
      @include themify($themes) {        
 | 
						|
        border-top: 1px solid themed('navbar-border-bottom-color');
 | 
						|
        background-color: themed('navbar-mobile-background-color');
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  &__dropdown {
 | 
						|
    display: inline-block;
 | 
						|
    height: $grid_navbar_height;
 | 
						|
    @include respond-to(sm) {
 | 
						|
      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");
 | 
						|
      }
 | 
						|
      @include respond-to(sm) {
 | 
						|
        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;
 | 
						|
      text-decoration: none;
 | 
						|
      display: block;
 | 
						|
      font-size: 1rem;
 | 
						|
 | 
						|
      @include themify($themes) {
 | 
						|
        color: themed("dropdown-item-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;
 | 
						|
          }
 | 
						|
        }
 | 
						|
      }
 | 
						|
 | 
						|
      @include respond-to(sm) {
 | 
						|
        padding-left: 2.5rem;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
}
 | 
						|
 | 
						|
.navbar__dropdown:hover .navbar__dropdown--content {
 | 
						|
  display: block;
 | 
						|
}
 | 
						|
 | 
						|
.theme {
 | 
						|
  @include flexbox();
 | 
						|
  @include align-items(center);
 | 
						|
  @include justify-content(flex-end);
 | 
						|
  @include animation('slide-in-down .5s .0s 1 ease both');  
 | 
						|
  @include respond-to(sm) {
 | 
						|
    display: none;
 | 
						|
  }
 | 
						|
 | 
						|
  .dropdown {    
 | 
						|
    @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');
 | 
						|
        background-color: themed('navbar-menu-hover-background-color');
 | 
						|
      }      
 | 
						|
    }
 | 
						|
 | 
						|
    &-trigger {      
 | 
						|
      padding: 0.5rem;
 | 
						|
      cursor: pointer;
 | 
						|
      border: none;
 | 
						|
      outline: none;
 | 
						|
      width: $grid_navbar_height;
 | 
						|
      height: $grid_navbar_height - 2px;
 | 
						|
      color: inherit;
 | 
						|
      background-color: inherit;
 | 
						|
    }
 | 
						|
 | 
						|
    &-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 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;
 | 
						|
  padding: 0.25rem;
 | 
						|
  cursor: pointer;
 | 
						|
  z-index: z('modal');
 | 
						|
 | 
						|
  @include animation('slide-in-down .5s .4s 1 ease both');
 | 
						|
  @include themify($themes) {
 | 
						|
    color: themed('burger-menu-color');  
 | 
						|
    @include on-event {
 | 
						|
      color: themed('link-hover');
 | 
						|
      background-color: inherit;
 | 
						|
      border-bottom: none;
 | 
						|
    }      
 | 
						|
  }
 | 
						|
  @include respond-to(sm) {
 | 
						|
    @include flexbox();
 | 
						|
    @include align-items(center);
 | 
						|
    @include justify-content(flex-end);
 | 
						|
    
 | 
						|
  }
 | 
						|
 | 
						|
  .dropdown {
 | 
						|
    border-bottom: 2px solid transparent;
 | 
						|
    @include themify($themes) {
 | 
						|
      color: themed('burger-menu-color');  
 | 
						|
      @include on-event {
 | 
						|
        color: themed('link-hover');
 | 
						|
        background-color: themed('navbar-menu-hover-background-color');
 | 
						|
        border-bottom: 2px solid themed('navbar-border-bottom-color');
 | 
						|
      }      
 | 
						|
    }
 | 
						|
 | 
						|
    &-trigger {      
 | 
						|
      padding: 0.5rem;
 | 
						|
      cursor: pointer;
 | 
						|
      border: none;      
 | 
						|
      outline: none;
 | 
						|
      width: 35px;
 | 
						|
      height: $grid_navbar_height;
 | 
						|
      color: inherit;
 | 
						|
      background-color: inherit;
 | 
						|
    }
 | 
						|
 | 
						|
    &-content {
 | 
						|
      position: absolute;
 | 
						|
      top: 100%;
 | 
						|
      right: 0;
 | 
						|
      display: none;
 | 
						|
      height: auto;
 | 
						|
      z-index: z("dropdown");
 | 
						|
      border-top-left-radius: 0.15rem;
 | 
						|
      border-top-right-radius: 0.15rem;
 | 
						|
 | 
						|
      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 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;
 | 
						|
 | 
						|
          &:first-child {
 | 
						|
            border-top-left-radius: 0.15rem;
 | 
						|
            border-top-right-radius: 0.15rem;
 | 
						|
          }
 | 
						|
        }
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  .dropdown:hover .dropdown-content {
 | 
						|
    display: block;
 | 
						|
  }
 | 
						|
} |