302 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
			
		
		
	
	
			302 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			SCSS
		
	
	
	
	
	
// Featured image styles
 | 
						|
 | 
						|
.site-header.featured-image {
 | 
						|
 | 
						|
	/* Hide overflow for overflowing featured image */
 | 
						|
	overflow: hidden;
 | 
						|
 | 
						|
	/* Need relative positioning to properly align layers. */
 | 
						|
	position: relative;
 | 
						|
 | 
						|
	/* Add text shadow to text, to increase readability. */
 | 
						|
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
 | 
						|
 | 
						|
	/* Set white text color when featured image is set. */
 | 
						|
	.site-branding .site-title,
 | 
						|
	.site-branding .site-description,
 | 
						|
	.main-navigation a:after,
 | 
						|
	.main-navigation .main-menu > li.menu-item-has-children:after,
 | 
						|
	.main-navigation li,
 | 
						|
	.social-navigation li,
 | 
						|
	.entry-meta,
 | 
						|
	.entry-title {
 | 
						|
		color: $color__background-body;
 | 
						|
	}
 | 
						|
 | 
						|
	.main-navigation a,
 | 
						|
	.main-navigation a + svg,
 | 
						|
	.social-navigation a,
 | 
						|
	.site-title a,
 | 
						|
	.site-featured-image a {
 | 
						|
		color: $color__background-body;
 | 
						|
		transition: opacity $link_transition ease-in-out;
 | 
						|
 | 
						|
		&:hover,
 | 
						|
		&:active,
 | 
						|
		&:hover + svg,
 | 
						|
		&:active + svg {
 | 
						|
			color: $color__background-body;
 | 
						|
			opacity: 0.6;
 | 
						|
		}
 | 
						|
 | 
						|
		&:focus,
 | 
						|
		&:focus + svg {
 | 
						|
			color: $color__background-body;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	.main-navigation .sub-menu a {
 | 
						|
		opacity: inherit;
 | 
						|
	}
 | 
						|
 | 
						|
	/* add focus state to social media icons */
 | 
						|
	.social-navigation a {
 | 
						|
		&:focus {
 | 
						|
			color: $color__background-body;
 | 
						|
			opacity: 1;
 | 
						|
			border-bottom: 1px solid $color__background-body;
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	.social-navigation svg,
 | 
						|
	.site-featured-image svg {
 | 
						|
		/* Use -webkit- only if supporting: Chrome < 54, iOS < 9.3, Android < 4.4.4 */
 | 
						|
		-webkit-filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35) );
 | 
						|
				filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35) );
 | 
						|
	}
 | 
						|
 | 
						|
	/* Entry header */
 | 
						|
	.site-featured-image {
 | 
						|
 | 
						|
		/* First layer: grayscale. */
 | 
						|
		.post-thumbnail img {
 | 
						|
			height: auto;
 | 
						|
			left: 50%;
 | 
						|
			max-width: 1000%;
 | 
						|
			min-height: 100%;
 | 
						|
			min-width: 100vw;
 | 
						|
			position: absolute;
 | 
						|
			top: 50%;
 | 
						|
			transform: translateX(-50%) translateY(-50%);
 | 
						|
			width: auto;
 | 
						|
			z-index: 1;
 | 
						|
 | 
						|
			@supports ( object-fit: cover ) {
 | 
						|
				height: 100%;
 | 
						|
				left: 0;
 | 
						|
				object-fit: cover;
 | 
						|
				top: 0;
 | 
						|
				transform: none;
 | 
						|
				width: 100%;
 | 
						|
			}
 | 
						|
 | 
						|
			/* When image filters are active, make it grayscale to colorize it blue. */
 | 
						|
			.image-filters-enabled & {
 | 
						|
				filter: grayscale(100%);
 | 
						|
			}
 | 
						|
		}
 | 
						|
 | 
						|
		.entry-header {
 | 
						|
 | 
						|
			margin-top: calc( 4 * #{$size__spacing-unit});
 | 
						|
			margin-bottom: 0;
 | 
						|
			margin-left: 0;
 | 
						|
			margin-right: 0;
 | 
						|
 | 
						|
			@include media (tablet) {
 | 
						|
 | 
						|
				margin-left: $size__site-margins;
 | 
						|
				margin-right: $size__site-margins;
 | 
						|
			}
 | 
						|
 | 
						|
			.entry-title {
 | 
						|
 | 
						|
				&:before {
 | 
						|
					background: $color__background-body;
 | 
						|
				}
 | 
						|
			}
 | 
						|
 | 
						|
			/* Entry meta */
 | 
						|
 | 
						|
			.entry-meta {
 | 
						|
 | 
						|
				font-weight: 500;
 | 
						|
 | 
						|
				> span {
 | 
						|
 | 
						|
					margin-right: $size__spacing-unit;
 | 
						|
					display: inline-block;
 | 
						|
 | 
						|
					&:last-child {
 | 
						|
						margin-right: 0;
 | 
						|
					}
 | 
						|
				}
 | 
						|
 | 
						|
				a {
 | 
						|
 | 
						|
					@include link-transition;
 | 
						|
					color: currentColor;
 | 
						|
 | 
						|
					&:hover {
 | 
						|
						text-decoration: none;
 | 
						|
					}
 | 
						|
				}
 | 
						|
 | 
						|
				.svg-icon {
 | 
						|
					position: relative;
 | 
						|
					display: inline-block;
 | 
						|
					vertical-align: middle;
 | 
						|
					margin-right: 0.5em;
 | 
						|
				}
 | 
						|
 | 
						|
				.discussion-avatar-list {
 | 
						|
					display: none;
 | 
						|
				}
 | 
						|
			}
 | 
						|
 | 
						|
			&.has-discussion {
 | 
						|
 | 
						|
				@include media (tablet) {
 | 
						|
 | 
						|
					.entry-meta {
 | 
						|
						display: flex;
 | 
						|
						position: relative;
 | 
						|
					}
 | 
						|
 | 
						|
					.entry-title {
 | 
						|
						padding-right: calc(1 * (100vw / 12) + #{$size__spacing-unit});
 | 
						|
					}
 | 
						|
 | 
						|
					.entry-meta .comment-count {
 | 
						|
						position: absolute;
 | 
						|
						right: 0;
 | 
						|
					}
 | 
						|
 | 
						|
					.entry-meta .discussion-avatar-list {
 | 
						|
						display: block;
 | 
						|
						position: absolute;
 | 
						|
						bottom: 100%;
 | 
						|
					}
 | 
						|
				}
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/* Custom Logo Link */
 | 
						|
 | 
						|
	.custom-logo-link {
 | 
						|
 | 
						|
		background: $color__background-body;
 | 
						|
		box-shadow: 0 0 0 0 rgba($color__background-body, 0);
 | 
						|
 | 
						|
		&:hover,
 | 
						|
		&:active,
 | 
						|
		&:focus {
 | 
						|
			box-shadow: 0 0 0 2px rgba($color__background-body, 1);
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/* Make sure important elements are above pseudo elements used for effects. */
 | 
						|
	.site-branding {
 | 
						|
		position: relative;
 | 
						|
		z-index: 10;
 | 
						|
	}
 | 
						|
 | 
						|
	.site-featured-image .entry-header {
 | 
						|
		position: relative;
 | 
						|
		z-index: 9;
 | 
						|
	}
 | 
						|
 | 
						|
	/* Set up image filter layer positioning */
 | 
						|
	.site-branding-container:after,
 | 
						|
	.site-featured-image:before,
 | 
						|
	.site-featured-image:after,
 | 
						|
	&:after {
 | 
						|
		display: block;
 | 
						|
		position: absolute;
 | 
						|
		top: 0; left: 0;
 | 
						|
		content: "\020";
 | 
						|
		width: 100%;
 | 
						|
		height: 100%;
 | 
						|
	}
 | 
						|
 | 
						|
	/* Background & Effects */
 | 
						|
	/* Shared background settings between pseudo elements. */
 | 
						|
	background-position: center;
 | 
						|
	background-repeat: no-repeat;
 | 
						|
	background-size: cover;
 | 
						|
 | 
						|
	/* The intensity of each blend mode is controlled via layer opacity. */
 | 
						|
 | 
						|
	/* Second layer: screen. */
 | 
						|
	.image-filters-enabled & .site-featured-image:before {
 | 
						|
		background: $color__link;
 | 
						|
		mix-blend-mode: screen;
 | 
						|
		opacity: 0.1;
 | 
						|
	}
 | 
						|
 | 
						|
	/* Third layer: multiply. */
 | 
						|
	/* When image filters are inactive, a black overlay is added. */
 | 
						|
	.site-featured-image:after {
 | 
						|
		background: #000;
 | 
						|
		mix-blend-mode: multiply;
 | 
						|
		opacity: .7;
 | 
						|
 | 
						|
		/* When image filters are active, a blue overlay is added. */
 | 
						|
		.image-filters-enabled & {
 | 
						|
			background: $color__link;
 | 
						|
			opacity: .8;
 | 
						|
			z-index: 3;
 | 
						|
 | 
						|
			/* Browsers supporting mix-blend-mode don't need opacity < 1 */
 | 
						|
			@supports (mix-blend-mode: multiply) {
 | 
						|
				opacity: 1;
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/* Fourth layer: overlay. */
 | 
						|
	.image-filters-enabled & .site-branding-container:after {
 | 
						|
		background: rgba(0, 0, 0, 0.35);
 | 
						|
		mix-blend-mode: overlay;
 | 
						|
		opacity: 0.5;
 | 
						|
		z-index: 4;
 | 
						|
 | 
						|
		/* Browsers supporting mix-blend-mode can have a light overlay */
 | 
						|
		@supports (mix-blend-mode: overlay) {
 | 
						|
			background: rgba($color__background-body, 0.35);
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	/* Fifth layer: readability overlay */
 | 
						|
	&:after {
 | 
						|
		background: #000;
 | 
						|
		/**
 | 
						|
		 * Add a transition to the readability overlay, to add a subtle
 | 
						|
		 * but smooth effect when resizing the screen.
 | 
						|
		 */
 | 
						|
		transition: opacity 1200ms ease-in-out;
 | 
						|
		opacity: 0.7;
 | 
						|
		z-index: 5;
 | 
						|
 | 
						|
		/* When image filters are active, a blue overlay is added. */
 | 
						|
		.image-filters-enabled & {
 | 
						|
			background: mix($color__link, black, 12%);
 | 
						|
			opacity: 0.38;
 | 
						|
 | 
						|
			@include media(tablet) {
 | 
						|
				opacity: 0.18;
 | 
						|
			}
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
 | 
						|
	::-moz-selection {
 | 
						|
		background: rgba($color__background-body, 0.17);
 | 
						|
	}
 | 
						|
 | 
						|
	::selection {
 | 
						|
		background: rgba($color__background-body, 0.17);
 | 
						|
	}
 | 
						|
}
 |