:root {
	--rem-base: 10px;
	--base-font-size: 18px;
	--base-line-height: 22px;
	--base-font-weight: 400;
	--vertical-rhythm: var(--base-line-height);
	--font-open-sans: "Open Sans";
	--font-sofia-pro: "sofia-pro";
	--base-main-font: var(--font-sofia-pro);
	--base-font-sans-serif: "Arial", "Helvetica Neue", "Helvetica", sans-serif;
	--base-font-serif: "Times New Roman", "Times", "Baskerville", "Georgia", serif;
	--base-font: var(--base-main-font), var(--base-font-sans-serif);
	--accent-font: var(--base-font-serif);
	--color-white: #fff;
	--color-white--rgb: 255, 255, 255;
	--color-black: #000;
	--color-black--rgb: 0, 0, 0;
	--color-error: #ff7676;
	--color-error--rgb: 255, 118, 118;
	--color-primary: #16325a;
	--color-primary--rgb: 22, 50, 90;
	--color-secondary: #477bc2;
	--color-secondary--rgb: 71, 123, 194;
	--color-accent: #03c17a;
	--color-accent--rgb: 3, 193, 122;
	--color-title: #0e3060;
	--color-title--rgb: 14, 48, 96;
	--color-text: #395987;
	--color-text--rgb: 57, 89, 135;
	--color-dark-blue: #061b38;
	--color-dark-blue--rgb: 6, 27, 56;
	--color-dark: #08101e;
	--color-dark--rgb: 8, 16, 30;
	--color-light-blue: #f5f8fc;
	--color-light-blue--rgb: 245, 248, 252;
	--color-caption: #b0aeae;
	--color-caption--rgb: 176, 174, 174;
	--color-blockquote-border: #ececec;
	--color-blockquote-border--rgb: 236, 236, 236;
	--color-brand: var(--color-primary);
	--color-base-text: var(--color-text);
	--color-base-link: var(--color-secondary);
	--color-h1-h6: var(--color-title);
	--animation-duration: 0.3s;
	--animation-timing-function: ease-in;
	--container: 1280px;
	--gutter: 25px;
}
:root {
	--header-bg: var(--color-white);
	--header-shadow: 5px 0 10px rgba(0, 0, 0, 0.5);
	--menu-border-color: #e1e1e1;
	--menu-submenu-bg: #fafafa;
	--menu-submenu-shadow: 0 5px 10px rgba(22, 50, 90, 0.3);
	--menu-link-color: var(--color-primary);
	--menu-link-active-color: var(--color-accent);
	--button-fz: 18px;
	--button-lh: 1;
	--button-fw: 400;
	--button-radius: 50px;
	--button-padding-x: 30px;
	--button-padding-y: 15px;
	--button-color: var(--color-text);
	--button-bg: transparent;
	--button-hover-bg: var(--color-accent);
	--button-hover-color: var(--color-white);
	--button-border-color: var(--color-text);
	--button-hover-border-color: var(--color-accent);
	--input-x: 15px;
	--input-y: 12px;
	--input-color: var(--color-text);
	--input-placeholder-color: rgba(6, 27, 56, 0.45);
	--input-bg-color: transparent;
	--input-radius: 5px;
	--input-border: 1px;
	--input-border-color: rgba(6, 27, 56, 0.2);
	--input-focus-border-color: var(--color-secondary);
	--input-fz: 16px;
	--input-lh: 21px;
	--form-theme-color: var(--color-accent);
	--checkbox-size: 20px;
	--radio-size: 20px;
	--label-fz: 16px;
	--label-lh: 21px;
	--label-color: currentColor;
	--error-color: var(--color-error);
	--error-bg-color: var(--color-error);
	--form-col-gutter: 30px;
	--form-row-margin: var(--form-col-gutter) * 1.5;
}
:root {
	--admin-bar-h: 32px;
}
:root {
	--h1: clamp(30px, 4.7vw, 60px);
	--h2: clamp(24px, 3.5vw, 45px);
	--h3: clamp(20px, 2.3vw, 30px);
	--h4: clamp(18px, 1.95vw, 25px);
	--h5: clamp(18px, 2.4rem, 24px);
	--h6: clamp(16px, 2rem, 20px);
}
@media (max-width: 782px) {
	:root {
		--admin-bar-h: 46px;
	}
}
@media (max-width: 767px) {
	:root {
		--input-x: 20px;
		--input-y: 12px;
	}
}
@media (max-width: 666px) {
	:root {
		--gutter: 20px;
	}
}
@media (min-width: 812px) and (max-height: 414px) and (orientation: landscape) {
	:root {
		--gutter: 50px;
	}
}
