164 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			164 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
| ///
 | |
| /// Phantom by HTML5 UP
 | |
| /// html5up.net | @ajlkn
 | |
| /// Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
 | |
| ///
 | |
| 
 | |
| /* Menu */
 | |
| 
 | |
| 	#wrapper {
 | |
| 		@include vendor('transition', 'opacity #{_duration(menu)} ease');
 | |
| 		opacity: 1;
 | |
| 	}
 | |
| 
 | |
| 	#menu {
 | |
| 		@include vendor('transform', 'translateX(#{_size(menu)})');
 | |
| 		@include vendor('transition', ('transform #{_duration(menu)} ease', 'visibility #{_duration(menu)}'));
 | |
| 		position: fixed;
 | |
| 		top: 0;
 | |
| 		right: 0;
 | |
| 		width: _size(menu);
 | |
| 		max-width: 80%;
 | |
| 		height: 100%;
 | |
| 		-webkit-overflow-scrolling: touch;
 | |
| 		background: _palette(fg);
 | |
| 		color: _palette(bg);
 | |
| 		cursor: default;
 | |
| 		visibility: hidden;
 | |
| 		z-index: _misc(z-index-base) + 2;
 | |
| 
 | |
| 		> .inner {
 | |
| 			@include vendor('transition', 'opacity #{_duration(menu)} ease');
 | |
| 			-webkit-overflow-scrolling: touch;
 | |
| 			position: absolute;
 | |
| 			top: 0;
 | |
| 			left: 0;
 | |
| 			width: 100%;
 | |
| 			height: 100%;
 | |
| 			padding: 2.75em;
 | |
| 			opacity: 0;
 | |
| 			overflow-y: auto;
 | |
| 
 | |
| 			> ul {
 | |
| 				list-style: none;
 | |
| 				margin: 0 0 (_size(element-margin) * 0.5) 0;
 | |
| 				padding: 0;
 | |
| 
 | |
| 				> li {
 | |
| 					padding: 0;
 | |
| 					border-top: solid 1px transparentize(_palette(bg), 0.85);
 | |
| 
 | |
| 					a {
 | |
| 						display: block;
 | |
| 						padding: 1em 0;
 | |
| 						line-height: 1.5;
 | |
| 						border: 0;
 | |
| 						color: inherit;
 | |
| 					}
 | |
| 
 | |
| 					&:first-child {
 | |
| 						border-top: 0;
 | |
| 						margin-top: -1em;
 | |
| 					}
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		> .close {
 | |
| 			@include vendor('transition', (
 | |
| 				'opacity #{_duration(menu)} ease',
 | |
| 				'transform #{_duration(menu)} ease'
 | |
| 			));
 | |
| 			@include vendor('transform', 'scale(0.25) rotate(180deg)');
 | |
| 			-webkit-tap-highlight-color: transparent;
 | |
| 			display: block;
 | |
| 			position: absolute;
 | |
| 			top: 2em;
 | |
| 			left: -6em;
 | |
| 			width: 6em;
 | |
| 			text-indent: 6em;
 | |
| 			height: 3em;
 | |
| 			border: 0;
 | |
| 			font-size: 1em;
 | |
| 			opacity: 0;
 | |
| 			overflow: hidden;
 | |
| 			padding: 0;
 | |
| 			white-space: nowrap;
 | |
| 
 | |
| 			&:before, &:after {
 | |
| 				@include vendor('transition', 'opacity #{_duration(transition)} ease');
 | |
| 				content: '';
 | |
| 				display: block;
 | |
| 				position: absolute;
 | |
| 				top: 0;
 | |
| 				left: 0;
 | |
| 				width: 100%;
 | |
| 				height: 100%;
 | |
| 				background-position: center;
 | |
| 				background-repeat: no-repeat;
 | |
| 				background-size: 2em 2em;
 | |
| 			}
 | |
| 
 | |
| 			&:before {
 | |
| 				background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" preserveAspectRatio="none"><style>line { stroke-width: 8px; stroke: #{_palette(accent1)}; }</style><line x1="15" y1="15" x2="85" y2="85" /><line x1="85" y1="15" x2="15" y2="85" /></svg>');
 | |
| 				opacity: 0;
 | |
| 			}
 | |
| 
 | |
| 			&:after {
 | |
| 				background-image: svg-url('<svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" viewBox="0 0 100 100" preserveAspectRatio="none"><style>line { stroke-width: 8px; stroke: #{_palette(fg)}; }</style><line x1="15" y1="15" x2="85" y2="85" /><line x1="85" y1="15" x2="15" y2="85" /></svg>');
 | |
| 				opacity: 1;
 | |
| 			}
 | |
| 
 | |
| 			&:hover {
 | |
| 				&:before {
 | |
| 					opacity: 1;
 | |
| 				}
 | |
| 
 | |
| 				&:after {
 | |
| 					opacity: 0;
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		@include breakpoint('<=small') {
 | |
| 			@include vendor('transform', 'translateX(#{_size(menu) * 0.75})');
 | |
| 			width: (_size(menu) * 0.75);
 | |
| 
 | |
| 			> .inner {
 | |
| 				padding: 2.75em 1.5em;
 | |
| 			}
 | |
| 
 | |
| 			> .close {
 | |
| 				top: 0.5em;
 | |
| 				left: -4.25em;
 | |
| 				width: 4.25em;
 | |
| 				text-indent: 4.25em;
 | |
| 
 | |
| 				&:before, &:after {
 | |
| 					background-size: 1.5em 1.5em;
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	body.is-menu-visible {
 | |
| 		#wrapper {
 | |
| 			@include vendor('pointer-events', 'none');
 | |
| 			cursor: default;
 | |
| 			opacity: 0.25;
 | |
| 		}
 | |
| 
 | |
| 		#menu {
 | |
| 			@include vendor('transform', 'translateX(0)');
 | |
| 			visibility: visible;
 | |
| 
 | |
| 			> * {
 | |
| 				opacity: 1;
 | |
| 			}
 | |
| 
 | |
| 			.close {
 | |
| 				@include vendor('transform', 'scale(1.0) rotate(0deg)');
 | |
| 				opacity: 1;
 | |
| 			}
 | |
| 		}
 | |
| 	} |