body {
	--scrollbar-width: 0px;
}

/* default image alignment (center) inside articles (fit width) */

.adjust-legacy-layout .alignnone,
.wp-block-jetpack-slideshow.aligncenter img:not(.keep-size),
.wp-block-jetpack-slideshow.aligncenter .image-and-source,
.wp-block-jetpack-slideshow.aligncenter .image-and-source img:not(.keep-size)  {
	width: 100% !important;
}

.adjust-legacy-layout .alignnone img:not(.keep-size) {
	width: 100% !important;
	margin: 0 !important;
}

.wp-block-image,
.wp-block-image .image-and-source,
.wp-block-image img:not(.keep-size) {
	width: 100%;
}
.wp-block-image figcaption {
	text-align: center;
}

.keep-size {
	width: revert !important;
}

/* legacy (non-block editor) */

figure.aligncenter,
figure.aligncenter img:not(.keep-size) {
	width: 100% !important;
	margin: 0 !important;
}

img.alignleft {
	float: left;
}

/* align left */

.entry-content .alignleft,
.entry-content .alignleft img:not(.keep-size) {
	width: 100%;
}

@media (min-width: 992px) {
	.entry-content .alignleft,
	.entry-content .alignleft img:not(.keep-size) {
		width: 480px;
	}
	
	.entry-content .alignleft {
		margin-left: calc( -2 * ( 960px / 12) ); 
	}
	
	.entry-content .alignleft figcaption {
		text-align: right; 
	}
}

@media (min-width: 1200px) {
	.entry-content .alignleft {
		margin-left: calc( -2 * ( 1140px / 12) ); 
	}
}

/* align right */

.entry-content .alignright,
.entry-content .alignright img:not(.keep-size) {
	width: 100%;
}

@media (min-width: 992px) {
	.entry-content .alignright,
	.entry-content .alignright img:not(.keep-size) {
		width: 480px;
	}
	
	.entry-content .alignright {
		margin-right: calc( -2 * ( 960px / 12) ); 
	}
	.adjust-legacy-layout .entry-content .size-full .alignright {
		margin-right: 0;
	}
	
	.entry-content .alignright figcaption {
		text-align: left; 
	}
}

@media (min-width: 1200px) {
	.entry-content .alignright {
		margin-right: calc( -2 * ( 1140px / 12) ); 
	}
}

/* align wide */

.entry-content .alignwide,
.entry-content .alignwide .image-and-source,
.entry-content .alignwide img:not(.keep-size) {
	width: 100%;
}

@media (min-width: 768px) {
	.entry-content .alignwide:not(.wp-block-media-text),
	.entry-content .alignwide:not(.wp-block-media-text) img {
		width: 696px;
	}
	
	.entry-content .alignwide:not(.wp-block-media-text) {
		/* margin-left: -178px;  */
		margin-left: -58px; 
	}
	.single-special .entry-content .alignwide:not(.wp-block-media-text) {
		margin-left: -178px;
	}
	
	.entry-content .alignwide:not(.wp-block-media-text) figcaption {
		text-align: center; 
	}
}

@media (min-width: 992px) {
	.entry-content .alignwide:not(.wp-block-media-text),
	.entry-content .alignwide:not(.wp-block-media-text) img {
		width: 936px;
	}
	
	.entry-content .alignwide:not(.wp-block-media-text) {
		margin-left: -160px; 
	}
	
	.page .entry-content .alignwide:not(.wp-block-media-text) {
		margin-left: -80px; 
	}
}

@media (min-width: 1200px) {
	.entry-content .alignwide:not(.wp-block-media-text),
	.entry-content .alignwide:not(.wp-block-media-text) img {
		width: 1116px;
	}
	
	.entry-content .alignwide:not(.wp-block-media-text) {
		margin-left: -190px; 
	}
	
	.page .entry-content .alignwide:not(.wp-block-media-text) {
		margin-left: -95px; 
	}
}

/* align full */
/* 'size-full' is a legacy equivalent, but is also (now) used to identify full-size images */

.block-special.alignfull,
.entry-content .alignfull,
.entry-content .alignfull .image-and-source,
.entry-content .alignfull img:not(.keep-size),
.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) .image-and-source,
.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) img,
#post-footer .alignfull {
	/*width: 100%; */
	width: calc(100vw - var(--scrollbar-width));
	/* margin-left: -12px;  */
}

.wp-block-gallery.alignfull {
	width: calc(100vw - var(--scrollbar-width) - 24px); //24 was 0, but created problems for .entry-content .alignfull
}
.wp-block-gallery.alignfull .image-and-source {
	width: 100%;
}
.wp-block-gallery.alignfull img {
	width: 100%;
	height: auto;
}


.block-special.alignfull,
.entry-content .block-special.alignfull img:not(.keep-size) {
	width: calc(100vw - var(--scrollbar-width));
	//margin-left: -12px;
}

.entry-content .block-special.alignfull img:not(.keep-size) {
	margin-left: 0px;
}

//.block-special.alignfull img:not(.keep-size),
.entry-content figure.alignfull img:not(.keep-size),
.entry-content .alignfull {
	margin-left: 0;
}

.block-special.alignfull {
	margin-left: -12px; 
}

.page .entry-content .alignfull .wp-block-group__inner-container {
	margin-left: 12px;
	margin-right: 12px;
}

.single-special .entry-content .alignfull .wp-block-group__inner-container {
	margin-left: 0;
	margin-right: 0;
}


@media (min-width: 576px) {
	//.block-special.alignfull,
	//.entry-content .alignfull,
	.entry-content .alignfull .image-and-source,
	.entry-content .alignfull img:not(.keep-size),
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) .image-and-source,
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) img {
		margin-left: 0px;
	}
	
	.block-special.alignfull,
	.page .entry-content .alignfull,
	.page .entry-content .alignfull img:not(.keep-size),
	.page .adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.page .adjust-legacy-layout .entry-content .size-full:not(figure):not(img) img,
	#post-footer .align-full {
		width: calc(100vw - var(--scrollbar-width)) !important;
	}
	
	.block-special.alignfull,
	.entry-content .alignfull,
	.page .entry-content .alignfull,
	.single-special .entry-content .alignfull,
	.page .entry-content .size-full:not(figure) {
		margin-left: calc(-1 * (100vw - 516px) / 2 - var(--scrollbar-width) / 2 + 12px); 
	}
	
	.entry-content .alignfull,
	#post-footer .alignfull {
		margin-left: calc(-1 * (100vw - 540px) / 2 - var(--scrollbar-width) / 2); 
	}
	
	.block-special.alignfull {
		margin-left: calc(-1 * (100vw - 540px) / 2 - var(--scrollbar-width) / 2 - 12px); 
	}
	
	/* this also included .page, but posts also need to have their inner container limited */
	.alignfull .wp-block-group__inner-container,
	.adjust-legacy-layout .size-full:not(img) .wp-block-group__inner-container {
		width: 516px;	
	}
	
	.page .entry-content .alignfull figcaption,
	.adjust-legacy-layout .page .entry-content .size-full:not(figure):not(img) figcaption {
		text-align: center; 
	}
	
	.page .entry-content .alignfull .wp-block-group__inner-container,
	.single-special .entry-content .alignfull .wp-block-group__inner-container {
		margin: auto;
	}
}


@media (min-width: 768px) {
	//.block-special.alignfull,
	.entry-content .alignfull,
	.entry-content .alignfull:not(.block-threepiece) img:not(.keep-size),
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) img {
		width: calc(100vw - var(--scrollbar-width) - 24px) !important;
	}
	
	.block-special.alignfull {
		width: calc(100vw - var(--scrollbar-width)) !important;
	}
	
	.entry-content .alignfull {
		//margin-left: calc(-1 * (100vw - 640px) / 2 - var(--scrollbar-width) / 2);
		margin-left: calc(-180px - (100vw - 720px) / 2 - var(--scrollbar-width) / 2);
	}
	
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.alignfull .js-scroll_grid[data-direction="-"] {
		margin-left: calc(-192px - (100vw - 2 * var(--scrollbar-width) - 720px) / 2 - var(--scrollbar-width) / 2 + 12px); 
	}
	
	/* .alignfull .js-scroll_grid[data-direction="+"] {
		margin-right: calc(-192px - (100vw - 720px) / 2 - var(--scrollbar-width) / 2); 
	} */
	
	.block-special.alignfull,
	.page .entry-content .alignfull,
	.home .entry-content .alignfull,
	.adjust-legacy-layout .page .entry-content .size-full:not(figure):not(img),
	.page .alignfull .js-scroll_grid[data-direction="-"],
	.home .alignfull .js-scroll_grid[data-direction="-"] {
		margin-left: calc(-60px - (100vw - 2 * var(--scrollbar-width) - 696px) / 2 - var(--scrollbar-width) / 2); 
	}
	
	.single-special .entry-content .alignfull {
		margin-left: calc(-12px - 100vw / 12 - (100vw - 516px) / 2 - var(--scrollbar-width) / 2); 
	}
	
	#post-footer .alignfull {
		margin-left: calc(-1 * (100vw - 696px) / 2 + var(--scrollbar-width) / 2);
		width: calc(100vw - var(--scrollbar-width));
	}
	
	#post-footer .alignfull .js-scroll_grid[data-direction="-"] {
		margin-left: 0;
	}
	
	.alignfull .js-scroll_grid[data-direction="+"],
	.page .alignfull .js-scroll_grid[data-direction="+"],
	.home .alignfull .js-scroll_grid[data-direction="+"] {
/*		margin-right: calc(-60px - (100vw - 696px) / 2 - var(--scrollbar-width) / 2);  */
	}
	
	.alignfull .wp-block-group__inner-container,
	.adjust-legacy-layout .size-full:not(figure) .wp-block-group__inner-container {
		width: 576px;	
	}
	
	.entry-content .alignfull figcaption,
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img) figcaption {
		text-align: center; 
	}
}

@media (min-width: 992px) {
	//.block-special.alignfull,
	//.entry-content .alignfull,
	/*.page .entry-content .alignfull,*/
	.home .entry-content .alignfull,
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.adjust-legacy-layout .page .entry-content .size-full:not(figure):not(img),
	.alignfull .js-scroll_grid[data-direction="-"],
	.page .alignfull .js-scroll_grid[data-direction="-"],
	.home .alignfull .js-scroll_grid[data-direction="-"] {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 616px) / 2 - var(--scrollbar-width) / 2 + 12px) !important;  
	}
	
	.entry-content .alignfull {
		margin-left: calc(-160px - (100vw - 960px) / 2 - var(--scrollbar-width) / 2);
	}
	
	.block-special.alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 616px) / 2 - var(--scrollbar-width) / 2) !important;  
	}
	
	.alignfull .js-scroll_grid[data-direction="+"],
	.page .alignfull .js-scroll_grid[data-direction="+"],
	.page .alignfull .js-scroll_grid[data-direction="+"] {
/*		margin-right: calc(-1 * (100vw - 616px) / 2 - var(--scrollbar-width) / 2);  */
	}
	
	#post-footer .alignfull {
		margin-left: calc(-1 * (100vw - 936px) / 2 + var(--scrollbar-width) / 2);
	}
	
	.alignfull .wp-block-group__inner-container,
	.adjust-legacy-layout .size-full:not(figure) .wp-block-group__inner-container {
		width: 616px;	
	}
	
	.single-special .entry-content .alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 616px) / 2 - var(--scrollbar-width) / 2); 
	}
	.page .entry-content .alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 776px) / 2 - var(--scrollbar-width) / 2); 
	}
	.page .entry-content .alignfull .wp-block-group__inner-container {
		width: 776px;
	}
}

@media (min-width: 1200px) {
	//.block-special.alignfull,
	//.entry-content .alignfull,
	/*.page .entry-content .alignfull,*/
	.home .entry-content .alignfull,
	.adjust-legacy-layout .entry-content .size-full:not(figure):not(img),
	.adjust-legacy-layout .page .entry-content .size-full:not(figure):not(img),
	.alignfull .js-scroll_grid[data-direction="-"],
	.page .alignfull .js-scroll_grid[data-direction="-"],
	.home .alignfull .js-scroll_grid[data-direction="-"] {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 736px) / 2 - var(--scrollbar-width) / 2 + 12px) !important;  
	}
	
	.entry-content .alignfull {
		margin-left: calc(-190px - (100vw - 1116px) / 2 - var(--scrollbar-width) / 2);
	}
	
	.block-special.alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 736px) / 2 - var(--scrollbar-width) / 2) !important;  
	}
	
	.alignfull .js-scroll_grid[data-direction="+"],
	.page .alignfull .js-scroll_grid[data-direction="+"],
	.home .alignfull .js-scroll_grid[data-direction="+"] {
/*		margin-right: calc(-1 * (100vw - 736px) / 2 - var(--scrollbar-width) / 2);  */
	}
	
	#post-footer .alignfull {
		margin-left: calc(-1 * (100vw - 1116px) / 2 + var(--scrollbar-width) / 2);
	}
	
	.alignfull .wp-block-group__inner-container,
	.single-special .entry-content .alignfull .wp-block-group__inner-container {
		width: 736px;	
	}
	
	.single-special .entry-content .alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 736px) / 2 - var(--scrollbar-width) / 2); 
	}
	.page .entry-content .alignfull {
		margin-left: calc(-1 * (100vw - 2 * var(--scrollbar-width) - 926px) / 2 - var(--scrollbar-width) / 2);  
	}
	.page .entry-content .alignfull .wp-block-group__inner-container {
		width: 926px;
	}

}

/* featured posts in grid */

.alignfull.grid {
	white-space: nowrap;
	overflow-x: auto;
}

@media (min-width: 768px) {
	.alignfull.grid {
		padding-left: 2rem;
		padding-right: 2rem;
	}
}

.alignfull.grid::-webkit-scrollbar {
	/* Hide scrollbar for Chrome, Safari and Opera */
	display: none;
}

.alignfull.grid {
	/* Hide scrollbar for IE, Edge and Firefox */
	-ms-overflow-style: none;  /* IE and Edge */
	scrollbar-width: none;  /* Firefox */
}

.alignfull.grid .brick {
	width: 240px;
	white-space: initial;
	display: inline-block;
	margin-right: 1.5rem;
	margin-left: 1.5rem;
	vertical-align: top;
}

@media (min-width: 576px) {
	.alignfull.grid .brick {
		width: 320px;
		margin-right: 2rem;
		margin-left: 2rem;
	}
}

.block-featured-posts .alignfull.grid .brick .thumbnail_wrap img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
}

/* fixes related to nesting .alignfull */
.alignfull .alignfull,
.alignfull .alignfull .js-scroll_grid[data-direction="-"],
.page .alignfull .alignfull .js-scroll_grid[data-direction="-"],
.home .alignfull .alignfull .js-scroll_grid[data-direction="-"] {
	margin-left: 0;
}