/**
 * Social Gaming Canada — “How Social Gaming Canada Works” fidelity pass.
 * Loaded after the hero pass and scoped to .sgc-page .sgc-how.
 */

.sgc-page .sgc-how {
	position: relative;
	padding: 60px 0 65px;
	background: #2e0d08 url('../images/section1_bg.webp') center top / cover no-repeat;
	overflow: hidden;
}

.sgc-page .sgc-how > .e-con-inner,
.sgc-page .sgc-how > .sgc-inner,
.sgc-page .sgc-how .sgc-inner {
	width: min(1170px, calc(100% - 40px));
	max-width: 1170px;
	margin-inline: auto;
	padding: 0;
	position: relative;
	align-items: center;
}

.sgc-page .sgc-how .sgc-section-title .elementor-heading-title {
	margin: 0;
	color: #fff;
	font-size: 60px;
	font-weight: 900;
	line-height: 62px;
	letter-spacing: 0;
	text-align: center;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .7), 0 0 10px rgba(255, 0, 0, .35), 0 0 11px rgba(255, 0, 0, .2);
}

.sgc-page .sgc-how .sgc-steps {
	display: flex !important;
	width: min(490px, 100%);
	max-width: 490px;
	margin: 60px auto 0;
	padding: 0;
	flex-direction: column;
	align-items: stretch;
	gap: 18px;
	position: relative;
	z-index: 3;
}

.sgc-page .sgc-how .sgc-step-card {
	display: flex;
	width: 100%;
	min-height: 238px;
	padding: 50px 40px 15px;
	align-items: center;
	justify-content: flex-start;
	position: relative; 
	background: url('../images/step_card.webp') center top / 100% 100% no-repeat;
	text-align: center;
	box-shadow: none;
	overflow: visible;
}

.sgc-page .sgc-how .sgc-step-card.sgc-step-3 {
	min-height: 180px;
}

.sgc-page .sgc-how .sgc-step-number {
	position: absolute !important;
	top: -32px;
	left: 50%;
	width: 70px !important;
	height: 70px;
	margin: 0;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: url('../images/step_number_bg.webp') center / 100% 100% no-repeat;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 1;
	z-index: 5;
}

.sgc-page .sgc-how .sgc-step-number .elementor-widget-container,
.sgc-page .sgc-how .sgc-step-number span {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

.sgc-page .sgc-how .sgc-step-title .elementor-heading-title {
	margin: 0 0 10px;
	color: #fff;
	font-size: 24px;
	font-weight: 800;
	line-height: 28px;
	letter-spacing: 0;
	text-align: center;
}

.sgc-page .sgc-how .sgc-red { color: #d81f05; }
.sgc-page .sgc-how .sgc-yellow { color: #ffb204; }
.sgc-page .sgc-how .sgc-green { color: #32bb2e; }

.sgc-page .sgc-how .sgc-step-desc {
	margin: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	line-height: 26px;
	text-align: center;
}

.sgc-page .sgc-how .sgc-step-desc p {
	margin: 0;
}

.sgc-page .sgc-how .sgc-step-arrows {
	position: static !important;
	top: auto;
	right: auto;
	width: 100% !important;
	height: auto;
	margin: 15px 0 0;
	transform: none;
}

.sgc-page .sgc-how .sgc-step-arrows .elementor-widget-container {
	display: block;
}

.sgc-page .sgc-how .sgc-step-arrows span {
	display: block;
	width: 16px;
	height: 16px;
	margin: 3px auto;
	border: 0;
	border-right: 3px solid #ccc;
	border-bottom: 3px solid #ccc;
	transform: rotate(45deg);
	opacity: .9;
	animation: sgcStepArrow 1.5s infinite;
}

.sgc-page .sgc-how .sgc-step-arrows span:nth-child(1) { animation-delay: 0s; }
.sgc-page .sgc-how .sgc-step-arrows span:nth-child(2) { animation-delay: .3s; }
.sgc-page .sgc-how .sgc-step-arrows span:nth-child(3) { animation-delay: .6s; }

@keyframes sgcStepArrow {
	0% { opacity: 0; transform: rotate(45deg) translate(0, 0); }
	50% { opacity: 1; }
	100% { opacity: 0; transform: rotate(45deg) translate(6px, 6px); }
}

.sgc-page .sgc-how .sgc-how-cta {
	width: min(400px, 100%);
	margin: 0 auto;
	align-items: center;
	position: relative;
	z-index: 5;
}

.sgc-page .sgc-how .sgc-cta-button-row,
.sgc-page .sgc-how .sgc-cta-note {
	width: 100% !important;
}

.sgc-page .sgc-how .sgc-cta-button-row {
	justify-content: center;
}

.sgc-page .sgc-how-icon {
	position: absolute !important;
	width: auto !important;
	z-index: 2;
	pointer-events: none;
}

.sgc-page .sgc-how-icon img {
	display: block;
	width: 100%;
}

.sgc-page .sgc-how-icon-1 {
	left: 14%;
	right: auto;
	top: 40%;
	bottom: auto;
	width: 164px !important;
	animation: sgcHowFloatOne 2s ease-in-out infinite;
}

.sgc-page .sgc-how-icon-2 {
	left: 7%;
	right: auto;
	top: 61%;
	bottom: auto;
	width: 125px !important;
	animation: sgcHowFloatOne 3s ease-in-out infinite;
}

.sgc-page .sgc-how-icon-3 {
	left: auto;
	right: 22%;
	top: 36%;
	bottom: auto;
	width: 133px !important;
	animation: sgcHowFloatTwo 3s ease-in-out infinite 1.5s;
}

.sgc-page .sgc-how-icon-4 {
	left: auto;
	right: 10%;
	top: 56%;
	bottom: auto;
	width: 177px !important;
	animation: sgcHowFloatTwo 2s ease-in-out infinite;
}

@keyframes sgcHowFloatOne {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-10px); }
}

@keyframes sgcHowFloatTwo {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(10px); }
}

@media (max-width: 1023px) {
	.sgc-page .sgc-how .sgc-section-title .elementor-heading-title {
		font-size: 38px;
		line-height: 44px;
	}

	.sgc-page .sgc-how-icon-1 { left: -3%; width: 130px !important; }
	.sgc-page .sgc-how-icon-2 { left: -4%; width: 100px !important; }
	.sgc-page .sgc-how-icon-3 { right: 8%; width: 110px !important; }
	.sgc-page .sgc-how-icon-4 { right: -5%; width: 147px !important; }
}

@media (max-width: 767px) {
	.sgc-page .sgc-how {
		padding: 25px 0 35px;
	}

	.sgc-page .sgc-how > .e-con-inner,
	.sgc-page .sgc-how > .sgc-inner,
	.sgc-page .sgc-how .sgc-inner {
		width: calc(100% - 28px);
	}

	.sgc-page .sgc-how .sgc-section-title .elementor-heading-title {
		font-size: 30px;
		line-height: 36px;
	}

	.sgc-page .sgc-how .sgc-steps {
		width: 100%;
		margin-top: 50px;
		padding: 0 10px;
		gap: 16px;
	}

	.sgc-page .sgc-how .sgc-step-card {
		min-height: 220px;
		padding: 40px 15px;
	}

	.sgc-page .sgc-how .sgc-step-card.sgc-step-3 {
		min-height: 170px;
	}

	.sgc-page .sgc-how .sgc-step-number {
		top: -30px;
		width: 56px !important;
		height: 56px;
		font-size: 21px;
	}

	.sgc-page .sgc-how .sgc-step-title .elementor-heading-title {
		font-size: 21px;
		line-height: 26px;
	}

	.sgc-page .sgc-how .sgc-step-desc {
		font-size: 17px;
		line-height: 25px;
	}

	.sgc-page .sgc-how .sgc-step-arrows {
		margin-top: 10px;
	}

	.sgc-page .sgc-how .sgc-step-arrows span {
		width: 12px;
		height: 12px;
		margin: 2px auto;
	}

	.sgc-page .sgc-how .sgc-how-cta {
		width: min(330px, 100%);
		margin-top: -5px;
	}

	.sgc-page .sgc-how-icon-1 { left: -3%; top: 33%; width: 70px !important; }
	.sgc-page .sgc-how-icon-2 { left: -4%; top: 60%; width: 90px !important; }
	.sgc-page .sgc-how-icon-3 { right: -1%; top: 34%; width: 80px !important; }
	.sgc-page .sgc-how-icon-4 { right: -4%; top: 58%; width: 87px !important; }
}
