@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src:
		local("Open Sans Light"),
		url("../public/fonts/OpenSans-Light.woff2") format("woff2"),
		url("../public/fonts/OpenSans-Light.ttf") format("truetype"),;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src:
		local("Open Sans Regular"),
		url("../public/fonts/OpenSans-Regular.woff2") format("woff2"),
		url("../public/fonts/OpenSans-Regular.ttf") format("truetype"),;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src:
		local("Open Sans Medium"),
		url("../public/fonts/OpenSans-Medium.woff2") format("woff2"),
		url("../public/fonts/OpenSans-Medium.ttf") format("truetype"),;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src:
		local("Open Sans SemiBold"),
		url("../public/fonts/OpenSans-SemiBold.woff2") format("woff2"),
		url("../public/fonts/OpenSans-SemiBold.ttf") format("truetype"),;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src:
		local("Open Sans Bold"),
		url("../public/fonts/OpenSans-Bold.woff2") format("woff2"),
		url("../public/fonts/OpenSans-Bold.ttf") format("truetype"),;
}

@font-face {
	font-family: "Open Sans";
	font-style: normal;
	font-weight: 800;
	font-display: swap;
	src:
		local("Open Sans ExtraBold"),
		local("Open Sans Extra Bold"),
		url("../public/fonts/OpenSans-ExtraBold.woff2") format("woff2"),
		url("../public/fonts/OpenSans-ExtraBold.ttf") format("truetype"),;
}

/* design tokens */
:root {
	/* base */
	--color-blue-300: #6b91fd;
	--color-blue-500: #5682fd;
	--color-blue-600: #4e77ed;
	--color-blue-700: #3b69c7;

	--color-orange-100: #ff9a721a;
	--color-orange-300: #ff9a72;
	--color-orange-500: #ff8859;

	--color-gray-100: #f3f4f5;
	--color-gray-200: #eaeaea;
	--color-gray-300: #b8b9be;
	--color-gray-400: #b2b3b9;
	--color-gray-500: #94959a;
	--color-gray-600: #6b6c77;
	--color-gray-700: #56565d;
	--color-gray-800: #444448;
	--color-gray-850: #46464e;
	--color-gray-900: #34343c;

	--color-red-500: #ff6b46;

	/* domains */
	--color-text-primary: var(--color-gray-900);
	--color-text-primary-light: var(--color-gray-800);
	--color-text-secondary: var(--color-gray-700);
	--color-text-secondary-light: var(--color-gray-600);
	--color-text-muted: var(--color-gray-500);
	--color-text-placeholder: var(--color-gray-400);
	--color-text-accent: #ffffff;

	--color-border-default: var(--color-gray-300);
	--color-border-muted: var(--color-gray-500);
	--color-border-accent: var(--color-blue-500);
	--color-border-danger: var(--color-red-500);

	--color-status-error: var(--color-red-500);

	--color-bg-primary: var(--color-blue-500);
	--color-bg-primary-hover: var(--color-blue-300);
	--color-bg-secondary: var(--color-orange-500);
	--color-bg-secondary-hover: var(--color-orange-300);
	--color-bg-control: var(--color-gray-100);
	--color-bg-control-hover: var(--color-gray-200);
	--color-bg-accent: white;

	--color-bg-page: var(--color-gray-100);
	--color-bg-section-accent: var(--color-bg-accent);
	--color-bg-section-inverted: var(--color-gray-900);

	--gradient-primary: linear-gradient(
		90deg,
		var(--color-blue-500) 0%,
		var(--color-blue-700) 50%,
		var(--color-blue-500) 100%
	);

	/* layout */
	--header-height: 88px;
	--container-max-width: 1376px;
	--container-x-padding: 16px;
}

@media (max-width: 1024px) {
	:root {
		--header-height: 60px;
	}
}

/* reset styles */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	scroll-behavior: smooth;
	scroll-padding-top: var(--header-height);
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
	padding: 0;
	margin: 0;
	font: inherit;
	vertical-align: baseline;
	border: 0;
}
/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

ol,
ul {
	list-style: none;
}

[hidden] {
	display: none !important;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: none;
}

table {
	border-spacing: 0;
	border-collapse: collapse;
}

a,
button,
input,
textarea,
p {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
}

a,
button {
	cursor: pointer;
}

a {
	text-decoration: none;
}

/* base styles */

body {
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text-primary);
	background-color: var(--color-bg-page);
}
