* {
	box-sizing: border-box;
	padding: 0;
	margin: 0;
}

html {
	/* don't change */
	font-size: 14px;
}

/* >= 1280px / 150% zoom */
@media screen and (min-width: 80em) {
	html {
		font-size: 11px;
	}
}

/* >= 1536px /  125% windows zoom */
@media screen and (min-width: 96em) {
	html {
		font-size: 13px;
	}
}

/* >= 1920px / no windows zoom */
@media screen and (min-width: 119em) {

	/* a bit less than 1920 so that if slightly less than full window it still shows correct */
	html {
		font-size: 16px;
		/* default at 1920px */
	}
}

body {
	font-family: Public Sans;
	width: 100%;
}

nav {
	display: flex;
	height: 5.5rem;
	padding: 0px 1rem;
	align-items: center;
	background: #FFF;
	justify-content: space-between;
}

nav img {
	height: 2.5rem;
}

.button {
	display: flex;
	padding: 0.5rem 1.25rem;
	justify-content: center;
	align-items: center;
	border-radius: 6px;
	background: #696CFF;
	box-shadow: 0px 2px 4px 0px rgba(105, 108, 255, 0.40);
	color: #FFF;
	text-align: center;
	font-family: "Public Sans";
	font-size: 0.9375rem;
	line-height: 1.434375rem;
	text-decoration: none;
}

main {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
	background: #F5F5F9;
	width: 100%;
}

p {
	color: var(--Grey-1, #566A7F);
	font-family: "Public Sans";
	font-size: 1.5rem;
}

.hero {
	display: flex;
	height: 50rem;
	padding-left: 4rem;
	justify-content: space-between;
	align-items: center;
	background-image: url('header_banner1.png');
	width: 100%;
	background-size: cover;
}

h1 {
	color: var(--White, #FFF);
	text-shadow: 4px 4px 16px #696CFF;
	font-family: "Public Sans";
	font-size: 5rem;
	font-weight: 700;
	line-height: 5rem;
}

.hero-text {
	color: var(--White, #FFF);
	font-family: "Public Sans";
	font-size: 2rem;
	font-weight: 500;
	line-height: 2.5rem;
	max-width: 43.75rem;
}

.hero-button {
	display: flex;
	padding: 0.625rem 1.5rem;
	justify-content: center;
	align-items: center;

	border-radius: 8px;
	background: var(--Yellow-3, #FFAB00);

	color: var(--White, #FFF);
	text-align: center;
	font-family: "Public Sans";
	font-size: 1.25rem;
	font-weight: 700;
	text-decoration: none;
}

h2 {
	color: var(--Grey-1, #566A7F);
	text-align: center;
	font-family: "Public Sans";
	font-size: 5rem;
	font-weight: 600;
	line-height: 3.75rem;
}

.flex {
	display: flex;
}

.flex-start {
	display: flex;
	align-items: flex-start;
}

.flex-center {
	display: flex;
	align-items: center;
}

.flex-col {
	display: flex;
	flex-direction: column;
}

.flex-col-start {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.flex-col-center {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.align-start {
	align-items: flex-start !important;
}

.align-center {
	align-items: center;
}

.stretch {
	align-self: stretch;
}

.justify-center {
	justify-content: center;
}

.justify-between {
	justify-content: space-between;
}

.section {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 5rem 4rem 2.5rem 4rem;
	gap: 2.5rem;
	width: 100%;
}

.section-description {
	/* max-width: 55rem; */
}

.product-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex: 1 0 0;
	border-radius: 0.5rem;
	background: #FFF;
	box-shadow: 0px 2px 6px 0px rgba(67, 89, 113, 0.12);
}

.product-card-top-purple {
	display: flex;
	align-items: center;
	height: 26.5rem;
	padding: 0.875rem 3rem;
	gap: 3rem;
	border-radius: 8px 8px 0px 0px;

	background: url('banner_background_purpleM.png');
	background-size: cover;
	background-repeat: no-repeat;
}

.product-card-top-yellow {
	display: flex;
	align-items: center;
	height: 26.5rem;
	padding: 0.875rem 3rem;
	gap: 3rem;
	border-radius: 8px 8px 0px 0px;

	background: url('banner_background_yellowM.png');
	background-size: cover;
	background-repeat: no-repeat;
}

.product-card-top-text-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 2rem;
	flex: 1 0 0;
}

.product-image {
	width: 18.75rem;
	height: 19.25rem;
}

.product-card-title-purple {
	color: var(--White, #FFF);
	text-shadow: 2px 2px 4px #4649F0;
	font-size: 2.875rem;
	font-weight: 800;
}

.product-card-title-yellow {
	color: var(--White, #FFF);
	text-shadow: 2px 2px 4px #B77500;
	font-size: 2.875rem;
	font-weight: 800;
}

.product-card-text {
	color: var(--White, #FFF);
	font-size: 1.5rem;
	font-weight: 600;
}

.product-card-bottom {
	display: flex;
	align-items: flex-start;
	padding: 2rem 2.5rem;
	gap: 7.5rem;
}

.product-card-bottom-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1.5rem;
}

.product-card-bottom-item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.product-card-bottom-item-text {
	color: #566A7F;
	font-size: 1.25rem;
	font-weight: 500;
}

.product-card-wide {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	height: 30.5rem;
	border-radius: 8px;
	background: #FFF;
	box-shadow: 0px 2px 6px 0px rgba(67, 89, 113, 0.12);
}

footer {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding: 4.125rem 1.125rem 2.0625rem 1.125rem;
	background: var(--Primary-Colour, #696CFF);
}

.text-white {
	color: #FFF;
}

.text-gray {
	color: #566A7F;
}

.text-light-gray {
	color: #697A8D;
}

.text-purple {
	color: #696CFF;
}

.text-light-purple {
	color: #696CFF;
}

.text-yellow {
	color: #FFAB00;
}

.text-500 {
	font-weight: 500;
}

.text-600 {
	font-weight: 600;
}

.text-700 {
	font-weight: 700;
}

.text-800 {
	font-weight: 800;
}


.text-20 {
	font-size: 1.25rem;
}

.text-38 {
	font-size: 2.375rem;
}

.text-48 {
	font-size: 3rem;
}

.w-full {
	width: 100%;
}

.solution-card-yellow {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 2rem 3rem;
	gap: 1rem;
	border-radius: 8px;
	background: var(--Yellow-1, #FFF2D6);
	box-shadow: 0px 2px 6px 0px rgba(67, 89, 113, 0.12);

	max-width: 50%;

}

.solution-card-purple {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	padding: 2rem 3rem;
	gap: 1rem;
	border-radius: 8px;
	background: var(--Yellow-1, #E0E1FF);
	box-shadow: 0px 2px 6px 0px rgba(67, 89, 113, 0.12);

	max-width: 50%;
}

.service-title {
	font-size: 1.6rem;
	font-weight: 500;
}


.row {
	display: flex;
	align-items: flex-start;
	gap: 2.5rem;
	width: 100%;
}


.row-center {
	display: flex;
	align-items: center;
	gap: 2.5rem;
	width: 100%;
}

.col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2.5rem;
	width: 100%;
}

.col-center {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	width: 100%;
}

.service-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	width: 100%;
	flex: 1 0 0;
	padding: 1.875rem;
	border-radius: 10.139px;
	background: #FFF;
	box-shadow: 0px 2.535px 7.604px 0px rgba(67, 89, 113, 0.12);
	height: 194px;
	text-align: center;
}

.wrap {
	flex-wrap: wrap;
}

.hidden-desktop {
	display: none;
}

.product-card-wide-top {
	align-items: start;
}


@media (max-width: 600px) {
	.center-mobile {
		justify-content: center !important;
	}

	h2 {
		font-size: 22px;
		font-weight: 700;
	}

	h1 {
		font-size: 27px;
		line-height: inherit;
		font-weight: 700;
	}

	.section {
		padding: 2rem 1rem 1rem 1rem;
		align-items: center;
		gap: 1rem;

	}

	.section-description {
		width: inherit;
		text-align: center;

		& p {
			font-size: 14px;
			font-weight: 400;
		}
	}

	.hero {
		text-align: center;
		padding-left: 1rem;
		padding-right: 1rem;
		height: 40rem;
		align-items: start;
		padding-top: 80px;
		background: url('hero.png');
		background-size: contain;
		background-repeat: no-repeat;
	}

	.hero-col {
		align-items: center;
		gap: 32px;
	}

	.hero-text {
		font-size: 1rem;
		line-height: inherit;
	}

	.product-card {
		width: 100%;
	}

	.product-card-bottom {
		padding: 2rem 1.5rem;
		gap: 2.5rem;
	}

	.product-card-bottom-item-text {
		font-size: 0.875rem;
	}

	.product-card-top-text-container {
		gap: 8px;
		align-items: center;
	}

	.product-card-top-yellow {
		flex-direction: column;
		justify-content: center;
		height: inherit;
		padding: 0.875rem 1rem;
		gap: 1rem;
		background-image: url('products_banner_yellow_mobile.png');
		background-size: cover;
		text-align: center;
	}

	.product-card-top-purple {
		flex-direction: column;
		justify-content: center;
		height: inherit;
		padding: 0.875rem 1rem;
		gap: 1rem;
		background-image: url('products_banner_purple_mobile.png');
		background-size: cover;
		text-align: center;
	}

	.wrap-mobile {
		flex-wrap: wrap;
	}

	.product-card-wide {
		width: 100%;
		height: 35.5rem;
	}

	.product-image {
		width: 93px;
		height: 96px;
	}

	.product-card-wide-bg {
		padding: 0 1rem !important;
		height: 41rem !important;

		border-top-left-radius: 10px;
		border-top-right-radius: 10px;
		text-align: center;

	}

	.product-card-wide-bg-yellow {
		background-repeat: no-repeat!important;
		background-image: url('backoffice_banner_mobile.png')!important;
		background-size: contain!important;
		align-items: start;
	}

	.product-card-wide-bg-purple {
		background-repeat: no-repeat!important;
		background-image: url('casino_banner_mobile.png')!important;
		background-size: contain!important;
		align-items: start;
	}


	.product-card-wide-top {
		padding-left: 0 !important;
		gap: 1rem !important;
		padding-top: 16px;
		padding-bottom: 24px;
		align-items: center!important;
	}

	.contact-section {
		padding: 0 1rem !important;
		background-image: url('contact_banner_background_mobile.png')!important;

	}

	.wide-items {
		padding: 2rem 1rem !important;
		flex-wrap: wrap !important;
		gap: 1rem !important;
	}

	.wide-items .product-card-bottom-item {
		width: 45%;
	}

	.hidden-desktop {
		display: block;
	}

	.product-card-title-purple {
		font-size: 22px;
		font-weight: 800;
	}

	.product-card-title-yellow {
		font-size: 22px;
		font-weight: 800;
	}

	.product-card-text {
		font-size: 14px;

		font-weight: 600;
	}

	.mobile-order-4 {
		order: 4;
	}

	.product-card-title {
		font-size: 22px;
		font-weight: 800;
	}

	.product-card-text {
		font-size: 14px;

		font-weight: 600;
	}

	.service-title {
		font-size: 13px;
	}

	.service-description {
		font-size: 10px;
	}

	.service-card {
		padding: 12px;
		gap: 8px;
		width: 47%;
		text-align: center;
		flex: inherit;

		height: 148px;

		& svg {
			width: 32px !important;
			height: 32px !important;
		}
	}

	.services-row {
		gap: 1rem;
	}

	.solution-title {
		font-size: 22px;
		font-weight: 700;
	}

	.solution-text {
		font-size: 14px;
		font-weight: 400;
	}

	.solution-card-purple {
		padding: 16px 24px;
		gap: 16px;
		max-width: 100%;
	}

	.solution-card-yellow {
		padding: 16px 24px;
		gap: 16px;
		max-width: 100%;
	}

	.solution-card-purple img {
		width: 64px !important;
		height: 64px !important;
	}

	.solution-card-yellow img {
		width: 64px !important;
		height: 64px !important;
	}

	.solution-card-purple .row-center {
		gap: 1rem;
	}

	.solution-card-yellow .row-center {
		gap: 1rem;
	}

	.contact-section .col {
		text-align: center;
		align-items: center;
	}

	.contact-text-container{
		align-items: center!important;
	}

	.contact-title {
		font-size: 26px;
		font-weight: 700;
	}

	.contact-text {
		font-size: 16px;
		font-weight: 400;
	}

	.footer-title {
		font-size: 14px;
		font-weight: 800;
	}

	.footer-text {
		font-size: 10px;
		font-weight: 600;
	}
}