*,
*::after,
*::before {
	box-sizing: border-box;
}

:root{font-size:12px;}


.content {
	display: flex;
	flex-direction: column;
	height: calc(100vh - 50rem);
	position: relative;
	justify-content: flex-start;
}

@media screen and (min-width: 53em) {

	.content {
		height: 100vh;
		justify-content: center;
	}
}


html.has-scroll-smooth {
	overflow: hidden; }
  
  html.has-scroll-dragging {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none; }
  
  .has-scroll-smooth body {
	overflow: hidden; }
  
  .has-scroll-smooth [data-scroll-container] {
	min-height: 100vh; }
  
  [data-scroll-direction="horizontal"] [data-scroll-container] {
	white-space: nowrap;
	height: 100vh;
	display: inline-block;
	white-space: nowrap; }
  
  [data-scroll-direction="horizontal"] [data-scroll-section] {
	display: inline-block;
	vertical-align: top;
	white-space: nowrap;
	height: 100%; }
  
  .c-scrollbar {
	position: absolute;
	right: 0;
	top: 0;
	width: 11px;
	height: 100%;
	transform-origin: center right;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0; }
	.c-scrollbar:hover {
	  transform: scaleX(1.45); }
	.c-scrollbar:hover, .has-scroll-scrolling .c-scrollbar, .has-scroll-dragging .c-scrollbar {
	  opacity: 1; }
	[data-scroll-direction="horizontal"] .c-scrollbar {
	  width: 100%;
	  height: 10px;
	  top: auto;
	  bottom: 0;
	  transform: scaleY(1); }
	  [data-scroll-direction="horizontal"] .c-scrollbar:hover {
		transform: scaleY(1.3); }
  
  .c-scrollbar_thumb {
	position: absolute;
	top: 0;
	right: 0;
	background-color: black;
	opacity: 0.5;
	width: 7px;
	border-radius: 10px;
	margin: 2px;
	cursor: -webkit-grab;
	cursor: grab; }
	.has-scroll-dragging .c-scrollbar_thumb {
	  cursor: -webkit-grabbing;
	  cursor: grabbing; }
	[data-scroll-direction="horizontal"] .c-scrollbar_thumb {
	  right: auto;
	  bottom: 0; }

    
body {
	background-color: rgba(3, 19, 41, 0.9);
}


.gallery {
	display: flex;
	margin-left: 12vw;
	padding:5vh 38vw 0 0;
}

.gallery__item {
	margin: 0 3vw;
	display: grid;
	grid-template-areas: '... ...' 
						 '... gallery-image'
						 '... ...' ;
	grid-template-columns: 8rem 37vmax;
	grid-template-rows: 8rem 26vmax 3rem;
	will-change: transform;
}

.gallery__item:nth-child(even) {
	padding-top: 10vh;
}

.gallery__item-img {
	grid-area: gallery-image;
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: relative;
	will-change: transform;
}

.gallery__item-imginner {
	background-size: cover;
    background-position: 50% 0;
    width: 100%;
    height: calc(100% + 14vh);
	margin-top: -7vh;
	will-change: transform;
}

.gallery__item-caption {
	grid-area: 1 / 1 / 4 / 3;
	display: grid;
	grid-template-areas: 'gallery-number gallery-title' 
						 'gallery-link ...'
						 'gallery-link gallery-tags' ;
	grid-template-columns: 8rem auto;
	grid-template-rows: 8rem auto 3rem;

}

.gallery__item-number {
	grid-area: gallery-number;
	font-size: 6rem;
	font-size: clamp(2.5rem,9vw,6.5rem);
	justify-self: end;
	padding-right: 2rem;
	color: #ed1b24;
}

.gallery__item-title {
	grid-area: gallery-title;
	margin: 0;
	font-size: 4rem;
	font-size: clamp(2rem,5vw,4rem);
	color: #ccc;
}

.gallery__item-number,
.gallery__item-title,
.gallery__text {
	font-weight: 800;
	align-self: center;
    font-style: italic;
}

.gallery__item-link {
	grid-area: gallery-link;
	align-self: end;
	font-size: 1.5rem;
	background: #ed1b24;
	color: #fff;
	text-decoration: underline;
	width: 120px;
	height: 120px;
	border-radius: 50%;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center; text-align:center;
    line-height:1.4em;
}

.gallery__item-link:focus,
.gallery__item-link:hover {
	background: #d4b77d;
	color: #fff;
	text-decoration: none;
}

.gallery__item-tags {
	grid-area: gallery-tags;
	justify-self: end;
	font-size: 1.5rem;
	display: grid;
	grid-auto-flow: column;
	grid-gap: 1rem;
	cursor: pointer;
}

.gallery__item-tags span{
	color: #fff;
    padding-top:15px;
}

.gallery__text {
	font-size: 13vw;
	line-height: 0.8;
	margin: 0 10vw 0 10vw;
	color: #eee;
	-webkit-text-stroke: 1px #aaa;
	text-stroke: 1px #aaa;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	
}
.gallery__text span{
	color: #eee;
	-webkit-text-stroke: 1px #aaa;
	text-stroke: 1px #aaa;
	-webkit-text-fill-color: transparent;
	text-fill-color: transparent;
	
}

.gallery__text-inner {
	display: block;
}






@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width:1026px) {
    .content{height:auto;}
    .gallery{display:block; padding:30vh 0 20vh 0; width:80%; max-width:1200px; margin:0 auto;}
    .gallery__text{margin:0 0 35vh 0; text-align:center;}
    .gallery__item{padding-top:0 !important; display:block; width:750px; position:relative;}
    .gallery__item:nth-child(even){margin:30vh auto 0 0;}
    .gallery__item:nth-child(odd){margin:30vh 0 0 auto;}
    .gallery__item-img{padding-left:60px;}
    .gallery__item-imginner{height:500px; margin:0px; background-position:center center;}
    .gallery__item-tags{display:block; position:absolute; bottom:-30px; right:0;}
    .gallery__item-title{position:absolute; top:-70px; left:110px;}
    .gallery__item-number{position:absolute; top:-85px; left:0;}
    .gallery__item-link{position:absolute; bottom:-45px; left:0; z-index:1;}
}



@media screen and (max-width:1025px) {
    .content{height:auto;}
    .gallery{display:block; padding:25vh 15px 15vh 15px; margin:0 auto;}
    .gallery__text{margin:0 0 35vh 0; text-align:center;}
    .gallery__item-caption{display:block;}
    .gallery__item{padding-top:0 !important; display:block; width:85vw; position:relative; margin:30vh auto 0 auto;}
    .gallery__item-img{padding-left:30px;}
    .gallery__item-imginner{height:35vh; margin:0px; background-position:center center;}
    .gallery__item-tags{display:block; position:absolute; bottom:-42px; right:0; font-size:14px; line-height:18px; height:36px; box-sizing:border-box; padding-left:100px; text-align:right;}
    .gallery__item-tags span{display:inline-block; padding-top:0;}
    .gallery__item-title{position:absolute; bottom:37vh; left:74px; font-size:30px; }
    .gallery__item-number{position:absolute; top:-60px; left:0; font-size:50px;}
    .gallery__item-link{position:absolute; bottom:-45px; left:0; z-index:1; font-size:14px; height:85px; width:85px;}
    
}