@import url("_base.css");
@import url("_editor-site.css");
@import url("_horizontal-menu.css");
@import url("_mobile-menu.css");
@import url("_tabs-site.css");
@import url("_ajax-form.css");
/* Page */
html {
	background: #fff;
	color: #000;
	font: 18px / 1.3 var(--base-fonts);
}
@media all and (prefers-color-scheme: dark) {
	html {
		background: #333;
		color: #fff;
	}
}
@media all and (prefers-color-scheme: dark) and (prefers-contrast: more) {
	html {
		background-color: #000;
	}
}
body {
	min-width: 320px;
	max-width: 1920px;
	margin: 0 auto;
}
/* Vector icons */
.icon {
	width: 1em;
	height: 1em;
}
/* Form popup */
.fullscreen-layout {
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.5);
	overflow: auto;
	overscroll-behavior: contain;
}
.hidden-form-layout {
	width: 100%;
	max-width: 600px;
	height: 100%;
	table-layout: fixed;
	border-spacing: 0;
	margin: 0 auto;
}
.hidden-form-layout > tbody > tr > td {
	vertical-align: middle;
}
.hidden-form-layout > tbody > tr > td > div {
	background: #fff;
	background: linear-gradient(to bottom, #ededed, #fff, #ededed);
	color: #000;
	padding: 16px;
	border-radius: 3px;
	position: relative;
}
.fullscreen-layout-close {
	position: absolute;
	z-index: 1;
	right: 0;
	top: 0;
}
.fullscreen-layout-close-button {
	background: transparent;
	color: inherit;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	font-size: 1.3em;
	text-align: center;
	width: 1.5em;
	height: 1.5em;
	transition: background-color 300ms ease-out, color 300ms ease-out;
}
.fullscreen-layout-close-button:hover,
.fullscreen-layout-close-button:focus {
	background-color: #b24539;
	color: #fff;
}
/* Main content */
.main-body {
	max-width: var(--content-max-width);
	padding-left: 16px;
	padding-right: 16px;
	margin-left: auto;
	margin-right: auto;
}
@media all and (min-width: 1140px) {
	main {
		background: transparent url("../images/main-body.png") left calc(50% - 545px) top 261px no-repeat;
	}
}
/* A wrapper for normal content, which needs padding on narrow screens */
.limit-content {
	display: flow-root;
	max-width: var(--content-max-width);
	padding-left: 1rem;
	padding-right: 1rem;
	margin-left: auto;
	margin-right: auto;
}
@media print {
	.limit-content { padding-left: 0; padding-right: 0; }
}
/* A wrapper for content with no padding (image slideshow, etc.) */
.sheet {
	display: flow-root;
	max-width: var(--content-max-width);
	margin-left: auto;
	margin-right: auto;
}
/* Hide on print. */
@media print {
	.hide-on-print { display: none !important; }
}
/* Show only on print. */
@media not print {
	.show-on-print { display: none !important; }
}
/* Template */
.top {
	padding-top: 2.3em;
	padding-bottom: 2.3em;
}
.top-logo,
.bottom-logo {
	font-size: 24px;
	color: #242424;
}
.top-logo-hl,
.bottom-logo-hl {
	color: #ff6666;
}
.l-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
@media all and (prefers-color-scheme: dark) {
	.top-logo,
	.bottom-logo {
		color: #eee;
	}
	.top-logo-hl,
	.bottom-logo-hl {
		color: #ff9191;
	}
}
/* main menu */
.main-menu > li:not(:first-child) {
	margin-left: 34px;
}
.main-menu a {
	transition: color 300ms ease-out;
}
.main-menu a:hover,
.main-menu a:focus {
	color: #ff6666;
}
@media all and (prefers-color-scheme: dark) {
	.main-menu a:hover,
	.main-menu a:focus {
		color: #ff9191;
	}
}
/* block 1 */
.block-1 {
	padding-bottom: 24px;
}
.main-body {
	padding-top: 5em;
}
.book-decor {
	text-align: center;
	margin-bottom: 16px;
}
.book-author {
	text-align: center;
	color: #a7a7a7;
}
.book-title {
	margin-top: 17px;
	text-align: center;
	font-size: 1.5em;
}
.book-subtitle {
	margin-top: 29px;
	text-align: center;
	color: #a7a7a7;
}
.book-info {
	margin-top: 3.85em;
	padding: 1em;
	border: 1px dashed #e1e0e0;
	border-radius: .5em;
	backdrop-filter: blur(10px);
	text-align: center;
	color: #585858;
}
@media all and (min-width: 1140px) {
	.book-decor {
		margin-bottom: 59px;
	}
}
@media all and (min-width: 800px) {
	.book-title {
		font-size: 2.9em;
	}
	.book-author,
	.book-subtitle {
		letter-spacing: 3px;
	}
}
@media all and (prefers-color-scheme: dark) {
	.book-author,
	.book-subtitle {
		color: #999;
	}
	.book-info {
		border-color: #999;
		color: #ddd;
	}
}
/* block 2 */
.block-2 {
	padding-top: 32px;
	padding-bottom: 32px;
}
@media all and (min-width: 800px) {
	.block-2 {
		padding-top: 132px;
		padding-bottom: 70px;
		display: flex;
		justify-content: space-between;
		gap: 32px;
	}
	.block-2-item:first-child {
		flex-grow: 1;
		line-height: 2;
	}
	.block-2-item:last-child {
		flex-shrink: 0;
		flex-grow: 0;
		width: 481px;
		line-height: 1.5;
	}
}
@media not all and (min-width: 1000px) {
	.block-2-item:not(:first-child) {
		margin-top: 2em;
	}
}
/* details and summary */
details {
	border-bottom: 1px dashed #e1e0e0;
	color: #585858;
	padding-top: 1em;
	padding-bottom: 1em;
}
summary {
	font-size: 1.1em;
	color: #242424;
	cursor: pointer;
	margin-bottom: .8em;
}
details[open] > summary {
	color: #ff6666;
}
details > ul,
details > ol {
	margin-left: 1em;
}
@media all and (prefers-color-scheme: dark) {
	details {
		border-bottom-color: #999;
		color: #ddd;
	}
	summary {
		color: #efefef;
	}
	details[open] > summary {
		color: #ff9191;
	}
}
/* block 3 */
.block-3 {
	padding-top: 32px;
	padding-bottom: 32px;
}
.infos {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 32px;
}
.infos:not(:first-child) {
	margin-top: 32px;
}
.infos-item {
	box-sizing: border-box;
	width: 100%;
	display: flex;
	gap: 32px 16px;
}
.infos-item-picture {
	box-sizing: border-box;
	flex-shrink: 0;
	flex-grow: 0;
	width: 64px;
	height: 64px;
	line-height: 64px;
	border-radius: 50%;
	background: linear-gradient(to bottom, #f1f1f1, #fff);
	border: 1px dashed #e8e8e8;
	text-align: center;
}
.infos-item-picture > img {
	width: auto;
	height: 26px;
	vertical-align: middle;
}
.infos-item-text {
	flex-grow: 1;
}
.infos-item-subtitle {
	font-weight: 500;
}
.infos-item-subtitle:not(:first-child) {
	margin-top: 1em;
}
@media all and (not (prefers-contrast: more)) {
	.infos-item-text {
		color: #585858;
	}
	.infos-item-subtitle {
		color: #242424;
	}
}
@media all and (min-width: 800px) {
	.block-3 {
		padding-top: 70px;
	}
	.infos:not(:first-child) {
		margin-top: 68px;
	}
	.infos-item {
		gap: 56px;
		width: calc((100% - 32px) / 2);
	}
	.infos-item-picture {
		width: 125px;
		height: 125px;
		line-height: 125px;
	}
	.infos-item-picture > img {
		width: auto;
		height: 50px;
	}
}
@media all and (prefers-color-scheme: dark) {
	.infos-item-text {
		color: #f4f4f4;
	}
	.infos-item-picture {
		background: linear-gradient(to bottom, #616161, #000);
		border-color: #7a7a7a;
	}
}
@media all and (prefers-color-scheme: dark) and (not (prefers-contrast: more)) {
	.infos-item-subtitle {
		color: #efefef;
	}
	.infos-item-picture {
		background: linear-gradient(to bottom, #616161, #333);
	}
}
/* footer */
.bottom {
	margin-top: 32px;
	padding-bottom: 32px;
	line-height: 1.65;
	font-size: 14px;
	color: #585858;
}
.l-bottom {
	border-top: 1px dashed #e1e0e0;
	padding-top: 30px;
}
.bottom p:not(:first-child) {
	margin-top: 1em;
}
.bottom-hl {
	color: #242424;
	font-weight: 500;
}
.bottom-mail {
	font-size: 23px;
	color: #ff6666;
	text-decoration: currentColor underline dashed;
	text-underline-offset: 6px;
}
.l-bottom-2 {
	margin-top: 2em;
}
.legal {
	color: #9c9c9c;
}
.bottom a:hover,
.bottom a:focus {
	text-decoration: currentColor underline solid;
}
@media all and (min-width: 800px) {
	.block-when-large {
		display: block;
	}
	.bottom {
		margin-top: 62px;
		padding-bottom: 59px;
	}
	.l-bottom {
		padding-top: 53px;
		display: flex;
		gap: 62px;
	}
	.bottom-logo {
		flex-grow: 1;
	}
	.bottom-info,
	.bottom-adr {
		flex-grow: 0;
		flex-shrink: 0;
		width: 236px;
	}
	.l-bottom-2 {
		display: flex;
		gap: 62px;
	}
	.bottom-2-item {
		flex-shrink: 0;
		width: 236px;
	}
	.bottom-2-item:first-child {
		margin-left: auto;
	}
	.bottom-mail {
		margin-bottom: 35px;
	}
}
@media not all and (min-width: 800px) {
	.hide-when-small {
		display: none !important;
	}
	.bottom-2-item:not(:first-child) {
		margin-top: 1em;
	}
}
@media all and (prefers-color-scheme: dark) {
	.bottom {
		color: #f4f4f4;
	}
	.l-bottom {
		border-color: #999;
	}
	.bottom-hl {
		color: #fdfdfd;
	}
	.bottom-mail {
		color: #ff9191;
	}
	.legal {
		color: #d5d5d5;
	}
}
/* consultation */
.consult {
	margin-top: 32px;
}
.consult p:not(:first-child) {
	margin-top: 1em;
}
.consult a {
	text-decoration: currentColor underline dashed;
	text-underline-offset: 5px;
}
.l-consult:not(:first-child) {
	margin-top: 1.3em;
}
.l-consult-item {
	line-height: 1.6;
}
.consult-form:not(:first-child) {
	margin-top: 2.3em;
}
.form-unit:not(:first-child) {
	margin-top: 1em;
}
.form-unit._submit:not(:first-child) {
	margin-top: 2em;
}
.fullscreen-layout .form-unit._submit:not(:first-child) {
	margin-top: 1em;
}
.fullscreen-layout .form-unit._legal {
	font-size: .8em;
}
.form-input {
	margin-top: 5px;
	width: 100%;
	padding: .5em;
	border: 1px solid #f0f0f0;
	background: #f6f6f6;
	color: #000;
	border-radius: 4px;
	transition: border-color 300ms ease-out;
}
.form-input:focus {
	border-color: #666;
	outline: none;
}
.form-input-textarea {
	height: 6.4em;
	resize: vertical;
}
@media all and (min-width: 800px) {
	.consult {
		margin-top: 100px;
	}
	.l-consult {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 32px;
	}
	.l-consult-item:first-child {
		max-width: 545px;
	}
	.l-consult-item:last-child {
		max-width: 350px;
	}
}
@media all and (min-width: 800px) {
	.l-consult-item:not(:first-child) {
		margin-top: 2em;
	}
}
@media all and (prefers-color-scheme: dark) {
	.form-input {
		border-color: #646464;
		background-color: #4f4f4f;
		color: #fff;
	}
	.form-input:focus {
		border-color: #efefef;
	}
}
/* buttons */
.button-1 {
	display: inline-block;
	background: #ff6666;
	color: #fff;
	padding: .88em 3em;
	border: none;
	border-radius: 3em;
	cursor: pointer;
	transition: background-color 400ms ease-out;
}
.button-1:hover,
.button-1:focus {
	background-color: #cf5353;
	outline: none;
}
.button-1:focus-visible {
	text-decoration: underline;
}
.button-2 {
	display: inline-block;
	background: #ff6666;
	color: #fff;
	padding: .95em 1em;
	border: none;
	border-radius: 3em;
	cursor: pointer;
	width: 100%;
	font-size: .85em;
	font-weight: 500;
	transition: background-color 400ms ease-out;
}
.button-2:hover,
.button-2:focus {
	background-color: #cf5353;
	outline: none;
}
.button-2:focus-visible {
	text-decoration: underline;
}
.button-download {
	display: inline-block;
	background: #ff6666 url("../images/download.svg") right 2em top 50% / 16px 16px no-repeat;
	color: #fff;
	padding: .68em 6.35em .68em 3em;
	border: none;
	border-radius: 3em;
	cursor: pointer;
	line-height: normal;
	transition: background-color 400ms ease-out;
}
.button-download:hover,
.button-download:focus {
	background-color: #cf5353;
	outline: none;
}
.button-download:focus-visible {
	text-decoration: underline;
}
@media all and (min-width: 800px) {
	.button-download {
		padding-top: 1.05em;
		padding-bottom: 1.05em;
	}
}
@media all and (prefers-color-scheme: dark) {
	.button-1 {
		background: #b44848;
		color: #fff;
	}
	.button-1:hover,
	.button-1:focus {
		background-color: #cf5353;
	}
	.button-2 {
		background: #b44848;
		color: #fff;
	}
	.button-2:hover,
	.button-2:focus {
		background-color: #cf5353;
	}
	.button-download {
		background-color: #b44848;
		color: #fff;
	}
	.button-download:hover,
	.button-download:focus {
		background-color: #cf5353;
	}
}
/* info */
.author-infos {
	margin-left: 1em;
	font-size: 16px;
}
.author-infos:not(:first-child) {
	margin-top: 1em;
}
.sicons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
}
.sicon > img {
	margin-right: .35em;
}
@media all and (min-width: 800px) {
	.sicons {
		justify-content: space-between;
	}
}
@media not all and (prefers-contrast: more) {
	.author-infos,
	.sicons {
		color: #585858;
	}	
}
@media all and (prefers-color-scheme: dark) and (not (prefers-contrast: more)) {
	.author-infos,
	.sicons {
		color: #f4f4f4;
	}
}
/* ready */
.ready {
	margin-top: 32px;
	line-height: 1.6;
}
.ready-description {
	margin-top: 2em;
	max-width: 555px;
}
.ready-item-part-title {
	color: #9c9c9c;
	font-size: .8em;
}
.ready-item-part p:not(:first-child) {
	margin-top: 1em;
}
.ready-price {
	font-size: 1.3em;
	color: #ff6666;
}
.ready-item-title {
	font-size: 1.3em;
}
.ready-item {
	border-bottom: 1px dashed #e1e0e0;
	padding-bottom: 2em;
}
.ready-item:not(:first-child) {
	margin-top: 2em;
}
.ready-list {
	margin-left: 1em;
}
.ready-list:not(:first-child) {
	margin-top: 1em;
}
@media all and (min-width: 800px) {
	.ready {
		margin-top: 83px;
	}
	.ready-item {
		display: flex;
		justify-content: space-between;
	}
	.ready-item-part:first-child {
		width: 200px;
		flex-shrink: 0;
		flex-grow: 0;
	}
	.ready-item-part:nth-child(2) {
		width: 196px;
		flex-shrink: 0;
		flex-grow: 0;
	}
	.ready-item-part:nth-child(3) {
		width: 350px;
		flex-shrink: 0;
		flex-grow: 0;
	}
}
@media not all and (min-width: 800px) {
	.ready-item-part:not(:first-child) {
		margin-top: 1em;
	}
}
@media all and (min-width: 1140px) {
	.ready {
		background: transparent url("../images/ready-light.png") right 0 top 73px no-repeat;
	}
}
@media all and (min-width: 1140px) and (prefers-color-scheme: dark) {
	.ready {
		background-image: url("../images/ready-dark.png");
	}
}
@media all and (prefers-color-scheme: dark) {
	.ready-item-part-title {
		color: #d5d5d5;
	}
	.ready-price {
		color: #ff9191;
	}
	.ready-item {
		border-bottom-color: #888a8a;
	}
}
/* reviews */
.reviews {
	padding-top: 32px;
}
.reviews-slider-w:not(:first-child),
.reviews-slider:not(:first-child) {
	margin-top: 2.3em;
}
.reviews-slider-w {
	position: relative;
}
.reviews-prev,
.reviews-next {
	position: absolute;
	font-size: 30px;
	top: calc(50% - .5em);
	border: none;
	background: transparent;
	color: inherit;
	cursor: pointer;
}
.reviews-prev {
	left: -50px;
}
.reviews-next {
	right: -50px;
}
.reviews-slide-iw {
	box-sizing: border-box;
	border: 1px dashed #e1e0e0;
	border-radius: .5em;
	padding: 1em;
	color: #585858;
}
@media all and (min-width: 1752px) {
	.reviews-slide-iw {
		height: 447px;
		overflow: auto;
		overflow-wrap: break-word;
	}
}
.reviews-avatar {
	text-align: center;
}
.reviews-author {
	color: #000;
	font-size: 1.1em;
}
.reviews-author:not(:first-child) {
	margin-top: 1em;
}
@media all and (min-width: 800px) {
	.reviews {
		padding-top: 129px;
		background: transparent url("../images/quotes-light.svg") right 0 top 93px / 98px 88px no-repeat;
	}
}
@media all and (min-width: 800px) and (prefers-color-scheme: dark) {
	.reviews {
		background-image: url("../images/quotes-dark.svg");
	}
}
@media all and (max-width: 1273px) {
	.reviews-slider-controls {
		display: none;
	}
}
@media all and (prefers-color-scheme: dark) {
	.reviews-slide-iw {
		border-color: #999;
	}
	.reviews-slide-iw {
		color: #ddd;
	}
	.reviews-author {
		color: #fff;
	}
}
.site-contacts {
	position: fixed;
	z-index: 8;
	right: 16px;
	bottom: 64px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1em;
	font-size: 20px;
}
.site-contacts > a {
	display: inline-block;
	box-sizing: border-box;
	background: #c13443;
	color: #fff;
	padding: .5em;
	border: 2px solid #fff;
	border-radius: 2em;
	box-shadow: 2px 2px 2px 0 rgba(0,0,0,.2);
	transition: background-color 300ms ease-out;
}
.site-contacts > a:hover,
.site-contacts > a:focus {
	background: #242424;
}
.site-contacts > a:focus-visible {
	text-decoration: underline;
	outline: none;
}
@media all and (max-width: 400px) {
	body {
		padding-bottom: 60px;
	}
	.site-contacts {
		width: 100%;
		right: 0;
		bottom: 0;
	}
	.site-contacts > a {
		width: 100%;
		flex-shrink: 0;
		text-align: center;
		border-radius: 0;
		box-shadow: 0 -2px 2px 0 rgba(0,0,0,.2);
		border-left: none;
		border-right: none;
		border-bottom: none;
	}
}
