body,
p,
h2,
h3,
h4 {
	-webkit-text-size-adjust: 100%;
	margin: 0;
	padding: 0;
}

h1,
h2,
h3,
h4 {
	text-transform: uppercase;
}

body {
	overflow-x: hidden;
	background-color: #000;
}

body.no-scroll {
	overflow: hidden;
}

* {
	--webkit-font-smoothing: antialiased;
	box-sizing: border-box;
	text-rendering: geometricPrecision;
}

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

li {
	list-style-type: none;
}

button {
	background: #0000;
	border: none;
	outline: none;
}

a {
	color: inherit;
	text-decoration: none;
}

figure {
	margin: 0;
}

@font-face {
	font-display: swap;
	font-family: geografic;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/Geograph-Regular.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-bold;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/Geograph-Bold.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-gr-bold;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographWeb-Bold.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-gr-medium;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographWeb-Medium.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-gr-regular;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographWeb-Regular.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-e-bold;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographEdit-Bold.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-e-regular;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographEdit-Regular.woff2) format("woff2");
}

@font-face {
	font-display: swap;
	font-family: geografic-e-medium;
	src: url(https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/fonts/GeographEdit-Medium.woff2) format("woff2");
}

:root {
	--color-white: #fff;
	--color-black: #000;
	--brand-yellow: #fc0;
	--dark-gray: #141414;
	--light-gray: #575757;
	--font-family-geografic-bold: "geografic-bold", sans-serif;
	--font-family-geografic-e-bold: "geografic-e-bold", sans-serif;
	--font-family-geografic-e-medium: "geografic-e-medium", sans-serif;
	--font-family-geografic-e-regular: "geografic-e-regular", sans-serif;
	--font-family-geografic-gr-bold: "geografic-gr-bold", sans-serif;
	--font-family-geografic-gr-medium: "geografic-gr-medium", sans-serif;
	--font-family-geografic-gr-regular: "geografic-gr-regular", sans-serif;
	--font-family-geografic: "geografic", sans-serif;
	--font-family-georgia: "georgia", serif;
	--hero-height-mobile: 575px;

	--theme-bg: #000;
	--theme-color: #fff;
	--author-color: #555;
	--color-gray-80: grey;
	--content-high: #000;
}

@media (min-width: 1280px) {
	:root {
		--font-size-card-lead: 48px;
		--line-height-card-lead: 54px;
	}
}

.taxonomy:hover {
	text-decoration: underline;
}

h3 {
	font-family: geografic-e-bold, sans-serif;
	font-family: var(--font-family-geografic-e-bold);
}

.hidden {
	opacity: 0 !important;
}

/* GRADIENTS */
.gradient-left {
	background: #000000;
	background: -webkit-linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
	background: -moz-linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
	background: linear-gradient(90deg, rgba(0, 0, 0, 1) 0%, rgba(255, 255, 255, 0) 100%);
}

.gradient-right {
	background: #ffffff;
	background: -webkit-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 1) 100%);
	background: -moz-linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 1) 100%);
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(0, 0, 0, 1) 100%);
}

/* BUTTON */
.a-btn {
	align-items: center;
	border: 0;
	cursor: pointer;
	display: flex;
	font-family: var(--font-family-geografic-bold);
	font-weight: 600;
	gap: 8px;
	height: fit-content !important;
	justify-content: center;
	letter-spacing: 3px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	transition: color 0.3s;
	white-space: nowrap;
	width: fit-content;
	z-index: 1;
}

.a-btn--primary {
	background-color: var(--brand-yellow);
	color: var(--color-black);
	padding: 16px 24px;
}

.a-btn--primary:hover {
	color: var(--color-white);
}

.a-btn--primary:hover:before {
	transition: width 0.3s ease-in-out;
	width: 100%;
}

/* TOP GUNS */
#tv-special-content {
	background-color: var(--color-black);
	color: var(--color-white);
	height: 100%;
}

/* NAV MENU */
#tv-special-content .menu__container {
	position: fixed;
	top: 50px;
	left: 0;
	z-index: 2;
	width: 100%;
	transition: top 0.35s ease-in-out;
}

#tv-special-content .special-menu {
	background-color: #000;
	padding: 0 5px;
	overflow-x: auto;
	overflow-y: hidden;
	height: 50px;
}

#tv-special-content .special-menu .carousel-menu {
	display: flex;
	width: fit-content;
	transition: transform 0.2s ease-in;
}

#tv-special-content .special-menu .navigation-button {
	position: fixed;
	top: 67px;
}

#tv-special-content .special-menu .navigation-button.left {
	left: 0;
}

#tv-special-content .special-menu .navigation-button.right {
	right: 0;
}

#tv-special-content .special-menu .navigation-button img {
	width: 16px;
	height: 16px;
}

#tv-special-content .special-menu a {
	color: #fff;
	font-family: var(--font-family-geografic-gr-regular);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0.36px;
	text-transform: uppercase;
	padding: 18px 32px;
	white-space: nowrap;
	position: relative;
}

#tv-special-content .special-menu a:after {
	background: none repeat scroll 0 0 transparent;
	bottom: 0;
	content: "";
	display: block;
	height: 2px;
	left: 50%;
	position: absolute;
	background: var(--brand-yellow);
	transition: width 0.3s ease 0s, left 0.3s ease 0s;
	width: 0;
}

#tv-special-content .special-menu .active:after,
#tv-special-content .special-menu a:hover:after {
	width: 80%;
	left: 10%;
}

@media (min-width: 768px) {
	#tv-special-content .special-menu .carousel-menu {
		justify-content: center;
		margin: 0 auto;
	}

	#tv-special-content .special-menu .navigation-button {
		display: none;
	}
}

/* TITLES */
#tv-special-content .section__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

#tv-special-content .section__title p {
	font-family: var(--font-family-geografic-gr-medium);
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 3px;
	text-transform: uppercase;
}

#tv-special-content .section__title h2 {
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 32px;
	line-height: 40px;
	letter-spacing: 4px;
}

#tv-special-content .section__title .bar {
	width: 64px;
	height: 4px;
	background-color: var(--brand-yellow);
	margin-top: 8px;
}

@media (min-width: 768px) {
	#tv-special-content .section__title h2 {
		font-size: 42px;
		line-height: 50px;
		letter-spacing: 4.5px;
	}
}

/* HERO */
#tv-special-content .hero {
	height: var(--hero-height-mobile);
	position: relative;
	margin-top: 50px;
	overflow: hidden;
}

#tv-special-content .hero .hero-bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#tv-special-content .hero-content {
	position: absolute;
	top: 164px;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
}

#tv-special-content .hero-content #hero-title {
	width: 40vh;
}

#tv-special-content .hero-content .ng-logo {
	width: 13vh;
}

@media (min-width: 768px) {
	#tv-special-content .hero {
		height: calc(100vh - 50px);
	}

	#tv-special-content .hero-content #hero-title {
		width: 58vh;
	}

	#tv-special-content .hero-content .ng-logo {
		width: 16vh;
	}

	#tv-special-content .hero-content {
		gap: 16px;
		top: 27vh;
	}
}

@media (min-width: 1024px) {
	#tv-special-content .hero-content #hero-title {
		width: 72vh;
	}

	#tv-special-content .hero-content .ng-logo {
		width: 18vh;
	}
}

/* ABOUT */
#tv-special-content .about {
	padding: 90px 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

#tv-special-content .about .about-content {
	text-align: center;
	text-transform: uppercase;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

#tv-special-content .about h3 {
	color: var(--brand-yellow);
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 15px;
	line-height: 34px;
	letter-spacing: 0.6px;
}

#tv-special-content .about h2 {
	color: var(--color-white);
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 22px;
	line-height: 28px;
	letter-spacing: 0.6px;
}

@media (min-width: 768px) {
	#tv-special-content .about h3 {
		font-size: 22px;
	}

	#tv-special-content .about h2 {
		font-size: 38px;
		line-height: 125%;
		letter-spacing: 2px;
	}
}

@media (min-width: 1024px) {
	#tv-special-content .about {
		padding: 146px 24px;
		gap: 40px;
	}

	#tv-special-content .about .about-content {
		width: 70%;
		gap: 24px;
	}

	#tv-special-content .about h3 {
		font-size: 32px;
	}

	#tv-special-content .about h2 {
		font-size: 48px;
		letter-spacing: 3px;
	}
}

/* SYNOPSIS */
#tv-special-content .synopsis-tv-special-content {
	position: relative;
	padding: 80px 16px;
	width: 100%;
	background-image: linear-gradient(269deg, rgba(0, 0, 0, 0.1) 59.13%, #000 123.42%),
		url("https://specials.techops.disn.io/ng/global/chernobyl-2026/assets/images/synopsis/pym/synopsis-bg.png");
	background-color: lightgray;
	background-repeat: no-repeat;
	background-size: cover;
}

#tv-special-content .synopsis__content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	justify-content: center;
}

#tv-special-content .synopsis-tv-special-content h3 {
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 22px;
	line-height: 28px;
	letter-spacing: 3px;
}

#tv-special-content .synopsis-tv-special-content p {
	font-family: var(--font-family-geografic-gr-regular);
	font-size: 18px;
	line-height: 27px;
	letter-spacing: 0.1px;
}

@media (min-width: 768px) {
	#tv-special-content .synopsis-tv-special-content {
		padding: 232px 40px;
		display: grid;
		place-items: center;
		background-position: center;
	}

	#tv-special-content .synopsis__content {
		width: 1080px;
	}

	#tv-special-content .synopsis-tv-special-content p {
		width: 550px;
	}

	#tv-special-content .synopsis-tv-special-content h3 {
		font-size: 22px;
		line-height: 28px;
		letter-spacing: 3px;
		text-transform: uppercase;
	}
}

/* EPISODES */
#tv-special-content .episodes {
	padding: 40px 16px;
}

#tv-special-content .episodes .episode__list {
	display: flex;
	flex-direction: column;
	gap: 32px;
	margin-top: 72px;
}

#tv-special-content .episodes .episode,
#tv-special-content .episodes .episode-reverse {
	display: flex;
	flex-direction: column;
}

#tv-special-content .episodes .content {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 32px 0;
}

#tv-special-content .episodes .content h4 {
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.1px;
	color: var(--brand-yellow);
}

#tv-special-content .episodes .content div {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#tv-special-content .episodes .content h3 {
	font-family: var(--font-family-geografic-gr-bold);
	font-size: 18px;
	line-height: 27px;
	letter-spacing: 3px;
}

#tv-special-content .episodes .content p {
	font-family: var(--font-family-geografic-gr-regular);
	font-size: 14px;
	line-height: 21px;
	letter-spacing: 0.1px;
}

#tv-special-content .episodes figure {
	position: relative;
	overflow: hidden;
	flex-shrink: 0;
	height: 324px;
}

#tv-special-content .episodes picture.front {
	position: absolute;
	transition: transform 0.5s ease;
}

/* For moving backgrounds */
#tv-special-content .episodes picture,
#tv-special-content .episodes picture img {
	display: block;
	width: 100%;
	height: 100%;
}

#tv-special-content .episodes picture img {
	object-fit: cover;
	transform-origin: center;
}

#tv-special-content .episodes picture {
	transition: transform 0.5s ease;
	overflow: hidden;
}

/* Episode 01 */
#tv-special-content .episodes figure.episode-01:hover picture.back {
	transform: scale(1.1);
}

/* Episode 02 */
#tv-special-content .episodes figure.episode-02:hover picture.back {
	transform: scale(1.1);
}

/* Episode 03 */
#tv-special-content .episodes figure.episode-03:hover picture.back {
	transform: scale(1.1);
}

/* Episode 04 */
#tv-special-content .episodes figure.episode-04:hover picture.back {
	transform: scale(1.1);
}

@media (min-width: 768px) {
	#tv-special-content .episodes {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		padding: 80px 64px;
	}

	#tv-special-content .episodes .episode__list {
		gap: 88px;
		margin-top: 72px;
		max-width: 1080px;
	}

	#tv-special-content .episodes .episode {
		display: flex;
		flex-direction: row;
	}

	#tv-special-content .episodes .episode-reverse {
		display: flex;
		flex-direction: row-reverse;
	}

	#tv-special-content .episodes figure {
		max-width: 540px;
		width: 40vw;
		height: 100%;
	}

	#tv-special-content .episodes img {
		max-width: 540px;
	}

	#tv-special-content .episodes .content {
		gap: 16px;
		padding: 0 64px 64px;
	}

	#tv-special-content .episodes .content h4 {
		font-size: 22px;
		line-height: 28px;
		letter-spacing: 3px;
	}

	#tv-special-content .episodes .content div {
		gap: 8px;
	}

	#tv-special-content .episodes .content h3 {
		font-size: 32px;
		line-height: 48px;
	}

	#tv-special-content .episodes .content p {
		font-size: 16px;
		line-height: 24px;
	}
}

@media (min-width: 1024px) {
	#tv-special-content .episodes .content {
		padding: 0 32px;
	}
}

/* GALLERY */
.gallery__wrapper {
	display: block;
	padding: 20px 20px 0; /* .legal section in prod adds padding-bottom to this so we set it to 0 */
}

.gallery__content {
	grid-gap: 20px;
	display: grid;
	gap: 20px;
	position: relative;
}

@media (min-width: 768px) {
	.gallery__wrapper {
		justify-items: center;
		margin: 0 auto;
		max-width: 1600px;
    padding: 20px 20px 32px;
	}

	.gallery__content {
		display: block;
		gap: 24px;
		margin: 0 auto 24px;
		max-width: 1080px;
		width: 100%;
	}
}

.thumbs__wrapper {
	margin: 0 auto;
	max-width: 1080px;
	overflow-x: scroll;
	overflow-y: hidden;
	position: relative;
	width: 90vw;
	scrollbar-width: none;
}

.thumbswrapper::-webkit-scrollbar {
	display: none;
}

.thumbs__wrapper:after,
.thumbs__wrapper:before {
	content: "";
	height: 100%;
	position: absolute;
	top: 0;
	width: 40px;
	z-index: 1;
}

.thumbs__wrapper:before {
	background: linear-gradient(270deg, #fff0 24.61%, #000);
	left: 0;
}

.thumbs__wrapper:after {
	background: linear-gradient(90deg, #fff0 24.61%, #000);
	right: 0;
}

.thumbs__wrapper.hideafter:after,
.thumbs__wrapper.hidebefore:before {
	display: none;
}

.img__thumbs {
	margin-bottom: 42px;
}

.m-thumb {
	align-items: center;
	display: flex;
	gap: 20px;
	overflow-y: hidden;
	padding: 0;
	white-space: nowrap;
}

.m-thumb::-webkit-scrollbar {
	display: none;
}

.m-thumb__item {
	border: 4px solid #0000;
	box-sizing: initial;
	height: 40px;
	width: 72px;
}

.m-thumb__item.is-active {
	border: 4px solid var(--brand-yellow);
}

.m-thumb__figure {
	height: 40px;
	margin: 0;
	pointer-events: none;
	width: 72px;
}

.m-thumb__img {
	aspect-ratio: 16/9;
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	width: 100%;
}

.m-thumb__button {
	padding: 0;
	width: 100%;
}

@media (min-width: 768px) {
	.m-thumb__item {
		height: 51px;
		width: 93px;
	}

	.m-thumb__figure {
		height: 51px;
		width: 93px;
	}
}

@media (min-width: 1024px) {
	.m-thumb {
		padding-left: 0;
	}
}

.img__carousel {
	align-items: center;
	display: flex;
	height: min-content;
	justify-content: center;
	position: relative;
}

.img__carousel__picture {
	display: none;
	max-height: 300px;
	max-width: 100%;
	min-height: 300px;
	min-width: 100%;
	overflow: hidden;
	transition: all 0.3s;
}

.img__carousel__picture.next,
.img__carousel__picture.previous,
.img__carousel__picture.selected {
	display: flex;
}

.img__carousel__picture.next,
.img__carousel__picture.previous {
	display: none;
	opacity: 0.6;
	position: absolute;
}

.img__carousel__picture.selected {
	z-index: 1;
}

@media (min-width: 768px) {
	.img__carousel__picture {
		min-width: 280px;
		width: 90%;
		height: 564px;
		max-height: 720px;
		min-height: 180px;
	}

	.img__carousel__picture.previous {
		display: flex;
		transform: translateX(-16%) scale(0.8);
	}

	.img__carousel__picture.next {
		display: flex;
		transform: translateX(16%) scale(0.8);
	}
}

@media (min-width: 1024px) {
	.img__carousel__picture.previous {
		transform: translateX(-120px) scale(0.8);
	}

	.img__carousel__picture.next {
		transform: translateX(120px) scale(0.8);
	}
}

@media (min-width: 1280px) {
	.img__carousel__picture.previous {
		transform: translateX(-25%) scale(0.8);
	}

	.img__carousel__picture.next {
		transform: translateX(25%) scale(0.8);
	}
}

.carousel__img {
	display: block;
	height: 100%;
	margin: auto;
	max-width: 100%;
	min-width: 100%;
	object-fit: cover;
	width: auto;
}

.img__carousel__arrow {
	align-items: center;
	bottom: 0;
	cursor: pointer;
	display: flex;
	height: 100%;
	justify-content: center;
	padding: 0;
	position: absolute;
	top: 0;
	width: 40px;
	z-index: 2;
}

.img__carousel__arrow--next {
	right: 12px;
}

.img__carousel__arrow--previous {
	left: 12px;
}

.img__carousel__arrow.hide {
	display: none;
}

.img__carousel__arrow span {
	align-items: center;
	background-color: #0006;
	border-radius: 50%;
	display: flex;
	height: 36px;
	justify-content: center;
	padding: 0;
	pointer-events: none;
	width: 36px;
}

.img__carousel__arrow svg {
	fill: #fff;
	stroke: #fff;
	stroke-width: 2px;
	height: 20px;
	width: 20px;
}

.img__carousel__arrow--next svg {
	margin-left: 5px;
}

@media (min-width: 768px) {
	.img__carousel__arrow--previous {
		display: flex;
		left: 0;
		margin: 0;
	}

	.img__carousel__arrow.hide {
		display: none;
	}

	.img__carousel__arrow--next {
		right: calc(5% + 16px);
	}

	.img__carousel__arrow--previous {
		left: calc(5% + 16px);
	}
}

@media (min-width: 1024px) {
	.img__carousel__arrow.hide {
		display: none;
	}

	.img__carousel__arrow--next {
		right: 0;
	}

	.img__carousel__arrow--previous {
		left: 0;
	}
}

.img__carousel__dots {
	display: none;
}

/* WHERE TO WATCH */
#tv-special-content .wheretowatch {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 64px;
	padding: 80px 0;
}

#tv-special-content .wheretowatch .wheretowatch__bar {
	position: absolute;
	top: 0;
	width: 100%;
}

#tv-special-content .wheretowatch .title {
	font-family: var(--font-family-geografic-gr-medium);
	font-size: 22px;
	line-height: 33px;
	letter-spacing: 8px;
}

#tv-special-content .wheretowatch .content {
	display: flex;
	flex-direction: column;
	gap: 16px;
	align-items: center;
}

#tv-special-content .wheretowatch .caption {
	font-family: var(--font-family-geografic-e-regular);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.5;
	margin: 0 auto 20px;
	max-width: 1080px;
	text-align: center;
	text-transform: uppercase;
}

@media (min-width: 768px) {
	#tv-special-content .wheretowatch {
		padding: 80px;
	}

	#tv-special-content .wheretowatch .title {
		font-size: 40px;
		line-height: 34px;
	}
}
