@font-face {
	font-family: 'Boogaloo';
	src: url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.eot');
	src: url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.eot?#iefix') format('embedded-opentype'),
		url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.woff2') format('woff2'),
		url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.woff') format('woff'),
		url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.ttf') format('truetype'),
		url('../../../../fonts/Boogaloo-Regular/Boogaloo-Regular.svg#Boogaloo-Regular') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'National Railway Banner';
	src: url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.eot');
	src: url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.eot?#iefix') format('embedded-opentype'),
		url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.woff2') format('woff2'),
		url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.woff') format('woff'),
		url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.ttf') format('truetype'),
		url('../../../../fonts/NationalRailway-Banner/NationalRailway-Banner.svg#NationalRailway-Banner') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

.nat-railway-banner {
	font-family: 'National Railway Banner';
}

.boogaloo {
	font-family: 'Boogaloo';
}

.promo-wrapper {
	max-width: 1338px;
	margin-top: 60px;
	margin-bottom: 60px;
	padding: 0 15px;
	width: 100%;
}

#nov2-banner {
	border-radius: 5px;
	position: relative;
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
}

#nov2-banner.banner-1 {
	background-image: url("../images/banner/back-1.jpg");
	background-image: image-set(url("../images/banner/back-1.webp") 1x, url("../images/banner/back-1@2x.webp") 2x);
	background-image: -webkit-image-set(url("../images/banner/back-1.webp") 1x, url("../images/banner/back-1@2x.webp") 2x);
}

#nov2-banner.banner-2 {
	background-image: url("../images/banner/back-2.jpg");
	background-image: image-set(url("../images/banner/back-2.webp") 1x, url("../images/banner/back-2@2x.webp") 2x);
	background-image: -webkit-image-set(url("../images/banner/back-2.webp") 1x, url("../images/banner/back-2@2x.webp") 2x);
}

#nov2-banner.banner-3 {
	background-image: url("../images/banner/back-3.jpg");
	background-image: image-set(url("../images/banner/back-3.webp") 1x, url("../images/banner/back-3@2x.webp") 2x);
	background-image: -webkit-image-set(url("../images/banner/back-3.webp") 1x, url("../images/banner/back-3@2x.webp") 2x);
}

#nov2-banner p {
	margin-bottom: 0;
}

#nov2-banner .button {
	width: 195px;
	height: 35px;
	padding: 0;
	border-radius: 50px;
	background: #ED1C24;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	text-transform: uppercase;
	margin-top: 14px;
}

@supports (text-box: trim-both cap alphabetic) {
	#nov2-banner .button span {
		text-box: trim-both cap alphabetic;
	}
}

#nov2-banner.banner-3 .button {
	background-color: #009546;
}

#nov2-banner .banner-inner {
	gap: 20px;
	max-width: 1200px;
	width: 100%;
}

#nov2-banner .banner-image {
	bottom: 0;
	left: 17px;
	z-index: 1;
}

#nov2-banner .cta-text-top {
	color: #FFF;
	text-align: center;
	font-size: 52px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	text-transform: uppercase;
}

#nov2-banner .cta-text-bottom {
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 20px;
}

#nov2-banner .main-text {
	color: #FFF;
	text-align: center;
	font-size: 76.211px;
	font-style: normal;
	font-weight: 400;
	line-height: 70px;
	letter-spacing: 0;
	text-transform: uppercase;
}

#nov2-banner .main-text sup {
	top: -16px;
}

#nov2-banner .banner-main {
	margin-left: 189px;
	margin-right: 126px;
}

#nov2-banner.banner-2 .main-text {
	font-size: 67.542px;
	line-height: 62px;
}

#nov2-banner.banner-2 .main-text span {
	color: #FFF;
	font-size: 31.976px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
}

#nov2-banner.banner-2 .cta-text-top {
	text-wrap-mode: nowrap;
}

@media screen and (max-width: 1200px) {
	#nov2-banner .banner-main {
		margin-left: 69px;
		margin-right: 2px;
	}

	#nov2-banner .banner-image {
		display: none;
	}
}

@media screen and (max-width: 991px) {
	#nov2-banner .banner-inner {
		flex-direction: column;
		gap: 0;
		padding: 15px;
	}

	#nov2-banner .banner-main {
		margin-left: 0;
	}

	#nov2-banner .main-text {
		position: relative;
	}

	#nov2-banner {
		background-position: top center;
	}

	#nov2-banner.banner-1 {
		background-image: url("../images/banner/back-1-m.jpg");
		background-image: image-set(url("../images/banner/back-1-m.webp") 1x, url("../images/banner/back-1-m@2x.webp") 2x);
		background-image: -webkit-image-set(url("../images/banner/back-1-m.webp") 1x, url("../images/banner/back-1-m@2x.webp") 2x);
	}

	#nov2-banner.banner-2 {
		background-image: url("../images/banner/back-2-m.jpg");
		background-image: image-set(url("../images/banner/back-2-m.webp") 1x, url("../images/banner/back-2-m@2x.webp") 2x);
		background-image: -webkit-image-set(url("../images/banner/back-2-m.webp") 1x, url("../images/banner/back-2-m@2x.webp") 2x);
	}

	#nov2-banner.banner-3 {
		background-image: url("../images/banner/back-3-m.jpg");
		background-image: image-set(url("../images/banner/back-3-m.webp") 1x, url("../images/banner/back-3-m@2x.webp") 2x);
		background-image: -webkit-image-set(url("../images/banner/back-3-m.webp") 1x, url("../images/banner/back-3-m@2x.webp") 2x);
	}
}

@media screen and (max-width: 767px) {
	#nov2-banner {
		background-position: bottom center;
	}

	#nov2-banner .button {
		margin-top: 12px;
	}

	.promo-wrapper {
		margin-bottom: 15px;
		margin-top: 15px;
	}

	#nov2-banner .banner-inner {
		padding: 0;
		padding-bottom: 66px;
		padding-top: 30px;
	}

	#nov2-banner .main-text {
		font-size: 68.862px;
		line-height: 63.25px;
	}

	#nov2-banner .banner-main {
		width: 100%;
		order: 2;
	}

	#nov2-banner .cta-text-top {
		font-size: 46.2px;
		transform: rotate(-6deg);
		margin-bottom: 16px;
	}

	#nov2-banner.banner-2 .main-text {
		font-size: 63.382px;
		line-height: 61px;
	}

	#nov2-banner.banner-2 .main-text span {
		font-size: 28.428px;
		margin-left: -10px;
		margin-right: -10px;
	}

	#nov2-banner.banner-2 .cta-text-top {
		line-height: 40px;
	}
}

/* Mobile (xs, <=567px): sizes in cqw, relative to banner width (370px at 400px viewport = original look) */
@media screen and (max-width: 567px) {
	#nov2-banner {
		container-type: inline-size;
	}

	#nov2-banner .button {
		width: 52.703cqw;
		height: 9.459cqw;
		font-size: 4.324cqw;
		margin-top: 3.243cqw;
	}

	#nov2-banner .banner-inner {
		padding-bottom: 17.838cqw;
		padding-top: 8.108cqw;
	}

	#nov2-banner .main-text {
		font-size: 18.611cqw;
		line-height: 17.095cqw;
	}

	#nov2-banner .main-text sup {
		top: -4.324cqw;
	}

	#nov2-banner .cta-text-top {
		font-size: 12.486cqw;
		margin-bottom: 4.324cqw;
	}

	#nov2-banner.banner-2 .main-text {
		font-size: 17.13cqw;
		line-height: 16.486cqw;
	}

	#nov2-banner.banner-2 .main-text span {
		font-size: 7.683cqw;
		margin-left: -2.703cqw;
		margin-right: -2.703cqw;
	}

	#nov2-banner.banner-2 .cta-text-top {
		line-height: 10.811cqw;
	}
}

.container.promo-wrapper {
	max-width: 1338px !important;
	margin-top: 60px;
	margin-bottom: 60px;
	width: 100%;
}

#wish-banner {
	position: relative;
	background-image: url("../images/banner/back.jpg");
	background-image: image-set(url("../images/banner/back.webp") 1x, url("../images/banner/back@2x.webp") 2x);
	background-image: -webkit-image-set(url("../images/banner/back.webp") 1x, url("../images/banner/back@2x.webp") 2x);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: cover;
	border-radius: 10px;
}

#wish-banner .button {
	width: 195px;
	height: 35px;
	border-radius: 50px;
	background: #ED1C24;
	color: #FFF;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 900;
	line-height: normal;
	text-transform: uppercase;
	margin-top: 11px;
	padding: 0;
	border: 0;
}

@supports (text-box: trim-both cap alphabetic) {
	#wish-banner .button span {
		text-box: trim-both cap alphabetic;
	}
}

#wish-banner .banner-inner {
	gap: 100px;
	width: 100%;
}

#wish-banner .banner-cta {
	margin-left: -57px;
}

#wish-banner .banner-image {
	margin-top: -25px;
}

#wish-banner .cta-text {
	color: #FFF;
	text-align: center;
	font-size: 40px;
	font-style: normal;
	font-weight: 400;
	line-height: 40px;
	text-transform: uppercase;
	margin-bottom: 0;
}

@media screen and (max-width: 1200px) {
	#wish-banner .banner-cta {
		margin-left: 0;
	}

	#wish-banner .banner-inner {
		gap: 16px;
	}
}

@media screen and (max-width: 991px) {
	#wish-banner .banner-inner {
		flex-direction: column;
		gap: 0;
		padding: 15px;
	}

	#wish-banner {
		background-position: left
	}
}

@media screen and (max-width: 767px) {
	#wish-banner {
		padding: 0;
		margin-bottom: 20px;
	}

	#wish-banner {
		width: 98%;
		gap: 0;
		box-shadow: none;
		background-image: url("../images/banner/back-m.jpg");
		background-image: image-set(url("../images/banner/back-m.webp") 1x, url("../images/banner/back-m@2x.webp") 2x);
		background-image: -webkit-image-set(url("../images/banner/back-m.webp") 1x, url("../images/banner/back-m@2x.webp") 2x);
		background-position: bottom;
	}

	#wish-banner .button {
		margin-top: 18px;
	}

	.container.promo-wrapper {
		margin-bottom: 15px;
		margin-top: 15px;
	}

	#wish-banner .banner-inner {
		padding: 0;
		padding-bottom: 178px;
		padding-top: 35px;
	}
}

/* Mobile (xs, <=567px): sizes in cqw, relative to banner width (392px at 400px viewport = original look) */
@media screen and (max-width: 567px) {
	#wish-banner {
		container-type: inline-size;
	}

	#wish-banner .button {
		width: 49.745cqw;
		height: 8.929cqw;
		font-size: 4.082cqw;
		margin-top: 4.592cqw;
	}

	#wish-banner .cta-text {
		font-size: 10.204cqw;
		line-height: 10.204cqw;
	}

	#wish-banner .banner-inner {
		padding-bottom: 45.408cqw;
		padding-top: 8.929cqw;
	}
}
