:root {
	--color-white: #fff;
	--color-black: #1e1e1e;
	--color-blue: #423ee1;
	--color-blue-rgb: 66, 62, 225;
	--color-light-gray: #ececfc;
	--color-green: #a3e300;
	--spacing-block-default: 80px;
}
@media only screen and (max-width: 760px) {
    :root {
        --spacing-block-default: 60px;
    }
}
::selection {
	background-color: var(--color-blue);
	color: var(--color-white);
}
::-moz-selection {
	background-color: var(--color-blue);
	color: var(--color-white);
}

/* root element for all blocks */
.page-blocks {
}

.page-blocks * {
	font-size: 1rem;
	font-style: normal;
	font-weight: 400;
	color: var(--color-black);
	letter-spacing: -0.011em;
	line-height: 1.5;
}

/* default content width */
.page-blocks > *, 
.page-blocks .block-content {
    margin-left: auto;
    margin-right: auto;
    padding-right: 20px;
    padding-left: 20px;
    max-width: 1240px;
}

/* wide-aligned blocks */
.page-blocks > .alignwide, 
.page-blocks .block-content.alignwide {
    max-width: 1240px;
}

/* full-width blocks */
.page-blocks > .alignfull, 
.page-blocks .block-content.alignfull {
    max-width: none;
    padding-right: 0;
    padding-left: 0;
    margin-left: 0;
    margin-right: 0;
}

.page-blocks {

	h1,
	.heading1,
	h2,
	.heading2,
	h3,
	.heading3,
	h4,
	.heading4,
	h5,
	.heading5,
	h6,
	.heading6 {
		margin: 0;
		padding: 0;
		font-weight: 400;
		font-size: 2.25rem;
		font-size: clamp(2.25rem, 1.781rem + 1.875vw, 3rem);
		letter-spacing: -0.022em;
		line-height: 1.2;
		text-transform: none;
	}

	h1,
	.heading1 {
		font-size: 2.25rem;
		font-size: clamp(2.25rem, 1.156rem + 4.375vw, 4rem);
	}
	h2,
	.heading2 {
		font-size: 2.25rem;
		font-size: clamp(2.25rem, 1.781rem + 1.875vw, 3rem);
	}
	h3,
	.heading3 {
		font-size: 1.25rem;
		font-size: clamp(1.25rem, 0.625rem + 2.5vw, 2.25rem);
	}
	h4,
	.heading4,
	h5,
	.heading5,
	h6,
	.heading6 {
		font-size: 1.25rem;
		font-size: clamp(1.25rem, 1.094rem + 0.625vw, 1.5rem);
	}

	a {
		color: var(--color-blue);
		text-decoration: none;
	}

	a:visited {
	}

	a:hover {
		color: var(--color-green);
	}

	a:focus,
	a:hover,
	a:active {
		/* outline: 0; */
	}

	p {
		margin: 15px auto;
	}

	.text-large {
		font-size: 18px;
		font-size: clamp(1.125rem, 1.047rem + 0.313vw, 1.25rem);
	}

	.button,
	.button:visited {
		display: inline-block;
		padding: 20px 40px;
		background-color: var(--color-blue);
		border: 0;
		border-radius: 50px;
		box-shadow: none;
		text-align: center;
		cursor: pointer;

		font-size: 0.875rem;
		font-weight: 800;
		color: var(--color-white);
		letter-spacing: 0.2em;
		line-height: 1.2;
		text-transform: uppercase;
		text-shadow: none;
		transition: all 0.4s;
	}
	.button:hover {
		background-color: #9592f8;
		color: var(--color-black);
	}
	.button.white,
	.button.white:visited {
		background-color: var(--color-white);
		color: var(--color-blue);
	}
	.button.white:hover {
		background-color: var(--color-light-gray);
		color: var(--color-black);
	}

	.button-group {
		display: flex;
		gap: 10px;
		margin-top: 30px;
	}
	.button-group.centered {
		justify-content: center;
	}
	@media only screen and (max-width: 560px) {
		.button-group {
			flex-direction: column;
			align-items: start;
		}
		.button-group.centered {
			align-items: center;
		}
	}

}
