/* ==========================================================================
   Автосервис "ЭРА" — основная таблица стилей
   ========================================================================== */

* { margin: 0; padding: 0; box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	font-family: Tahoma, Verdana, Arial, "Helvetica Neue", sans-serif;
	font-size: 12px;
	line-height: 1.75;
	color: #4a4a4a;
	background: #ffffff;
}

img { border: 0; max-width: 100%; height: auto; vertical-align: middle; }
a { color: #c99b00; text-decoration: none; }
a:hover { text-decoration: underline; }
a:focus-visible, button:focus-visible { outline: 2px solid #f4d020; outline-offset: 2px; }

.wrap { width: 1080px; max-width: 100%; margin: 0 auto; padding: 0 20px; }

h1, h2, h3, h4, h5 { font-weight: bold; color: #2f2f2f; line-height: 1.3; }
h1 { font-size: 26px; margin-bottom: 18px; }
h2 { font-size: 19px; margin-bottom: 14px; }
h3 { font-size: 15px; margin-bottom: 10px; }
h4 { font-size: 13px; margin-bottom: 8px; }
p { margin-bottom: 12px; }

/* --------------------------------------------------------- шапка ------- */

.topline {
	background: #2b2b2b;
	height: 52px;
	position: relative;
	z-index: 30;
}
.topline .wrap { height: 52px; display: flex; align-items: center; justify-content: flex-end; }

.mainmenu { list-style: none; display: flex; align-items: center; }
.mainmenu li { margin-left: 30px; }
.mainmenu a {
	color: #ffffff;
	text-transform: uppercase;
	font-size: 12px;
	letter-spacing: .6px;
	font-weight: bold;
	display: block;
	padding: 4px 0;
	text-decoration: none;
}
.mainmenu a:hover { color: #f4d020; }
.mainmenu li.active a { color: #f4d020; }

.brandshape {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -540px;
	width: 232px;
	height: 108px;
	background: #f4d020;
	-webkit-clip-path: polygon(0 0, 100% 0, 68% 100%, 0 100%);
	clip-path: polygon(0 0, 100% 0, 68% 100%, 0 100%);
	z-index: 40;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 12px 0 0 26px;
}
.brandshape img { width: 128px; }

.menu-toggle {
	display: none;
	background: #f4d020;
	border: 0;
	color: #2b2b2b;
	font-weight: bold;
	font-size: 12px;
	text-transform: uppercase;
	padding: 8px 14px;
	cursor: pointer;
}

/* -------------------------------------------------------- слайдер ------ */

.hero { position: relative; overflow: hidden; background: #1d2126; }
.hero .slides { position: relative; height: 430px; }
.hero .slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity .6s ease;
	background-size: cover;
	background-position: center;
}
.hero .slide.on { opacity: 1; }
.hero .caption {
	position: absolute;
	left: 50%;
	margin-left: -520px;
	bottom: 56px;
	max-width: 430px;
	background: rgba(43, 43, 43, .82);
	border-left: 5px solid #f4d020;
	padding: 16px 20px;
	color: #fff;
}
.hero .caption strong { display: block; font-size: 18px; text-transform: uppercase; margin-bottom: 6px; letter-spacing: .5px; }
.hero .caption span { font-size: 12px; color: #dcdcdc; }
.hero .arrow {
	position: absolute;
	top: 50%;
	margin-top: -22px;
	width: 34px;
	height: 44px;
	background: rgba(35, 35, 35, .55);
	color: #fff;
	border: 0;
	cursor: pointer;
	font-size: 18px;
	line-height: 44px;
	text-align: center;
}
.hero .arrow:hover { background: #f4d020; color: #2b2b2b; }
.hero .prev { left: 0; }
.hero .next { right: 0; }
.hero .dots { position: absolute; bottom: 18px; width: 100%; text-align: center; }
.hero .dots i {
	display: inline-block;
	width: 11px; height: 11px;
	border-radius: 50%;
	background: rgba(255,255,255,.45);
	margin: 0 4px;
	cursor: pointer;
}
.hero .dots i.on { background: #f4d020; }

/* --------------------------------------------------------- секции ------ */

.section { padding: 38px 0; }
.section.gray { background: #f5f5f5; border-top: 1px solid #ececec; border-bottom: 1px solid #ececec; }
.section.tight { padding: 26px 0; }

.ribbon { text-align: center; margin-bottom: 26px; }
.ribbon span {
	display: inline-block;
	position: relative;
	background: #2f2f2f;
	color: #fff;
	text-transform: uppercase;
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 1.2px;
	padding: 12px 38px;
	box-shadow: 0 2px 0 rgba(0,0,0,.12);
}
.ribbon span:before, .ribbon span:after {
	content: "";
	position: absolute;
	top: 0; bottom: 0;
	width: 9px;
	background: #f4d020;
}
.ribbon span:before { left: 0; }
.ribbon span:after { right: 0; }

.lead-text { text-align: center; max-width: 840px; margin: 0 auto 26px; font-size: 13px; color: #555; }

/* иконки преимуществ */
.icons { display: flex; flex-wrap: wrap; margin: 0 -14px; }
.icons .col { width: 25%; padding: 0 14px 26px; text-align: center; }
.icons .ico { height: 46px; margin-bottom: 12px; }
.icons .ico svg { height: 46px; width: auto; }
.icons h3 { font-size: 13px; text-transform: none; margin-bottom: 8px; }
.icons p { font-size: 11px; color: #8a8a8a; line-height: 1.7; margin: 0; }

/* карточки услуг */
.cards { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.cards .card { width: 25%; padding: 0 10px 24px; }
.cards.three .card { width: 33.3333%; }
.cards.two .card { width: 50%; }
.card .pic { display: block; overflow: hidden; border: 1px solid #e4e4e4; background: #22262c; }
.card .pic img { width: 100%; display: block; }
.card h3 { font-size: 12.5px; margin: 10px 0 7px; }
.card h3 a { color: #2f2f2f; }
.card h3 a:hover { color: #c99b00; }
.card p { font-size: 11px; color: #8d8d8d; line-height: 1.65; margin-bottom: 10px; }

.btn {
	display: inline-block;
	background: #f4d020;
	color: #2b2b2b !important;
	font-size: 11px;
	padding: 6px 14px;
	text-transform: lowercase;
	border: 1px solid #ddb800;
	text-decoration: none !important;
	cursor: pointer;
}
.btn:hover { background: #2b2b2b; color: #f4d020 !important; border-color: #2b2b2b; }
.btn.big { font-size: 13px; padding: 10px 26px; text-transform: uppercase; font-weight: bold; letter-spacing: .5px; }

/* --------------------------------------------- партнёры (главная) ------ */

.partners .intro { max-width: 900px; margin: 0 auto 22px; text-align: center; color: #555; font-size: 13px; }
.partner {
	display: flex;
	gap: 26px;
	background: #fff;
	border: 1px solid #e4e4e4;
	border-left: 5px solid #f4d020;
	padding: 22px 26px;
	margin-bottom: 18px;
	align-items: flex-start;
}
.partner .logo { width: 210px; flex: 0 0 210px; text-align: center; }
.partner .logo img { max-width: 100%; }
.partner .about h3 { font-size: 15px; margin-bottom: 10px; }
.partner .about p { font-size: 12.5px; color: #555; }
.partner .about p:last-child { margin-bottom: 0; }
.partner .about a { font-weight: bold; color: #b8890a; text-decoration: underline; }

/* ---------------------------------------------- внутренние страницы ---- */

.page { padding: 34px 0 44px; }
.layout { display: flex; gap: 30px; align-items: flex-start; }
.content { flex: 1; min-width: 0; }
.aside { width: 236px; flex: 0 0 236px; }

.content p { font-size: 12.5px; }
.content ul, .content ol { margin: 0 0 16px 20px; }
.content li { font-size: 12.5px; margin-bottom: 6px; }
.content h2 { margin-top: 24px; }
.content h3 { margin-top: 18px; }
.content h2:first-child, .content h1:first-child { margin-top: 0; }

.figure { border: 1px solid #e4e4e4; padding: 4px; background: #fff; }
.figure img { display: block; width: 100%; }
.float-left { float: left; margin: 4px 22px 14px 0; width: 300px; }
.float-right { float: right; margin: 4px 0 14px 22px; width: 300px; }
.clear { clear: both; }

.box {
	border: 1px solid #e4e4e4;
	background: #fafafa;
	padding: 18px 22px;
	margin: 18px 0;
}
.box.accent { border-left: 5px solid #f4d020; background: #fffdf3; }

table.tbl { width: 100%; border-collapse: collapse; margin: 16px 0 20px; font-size: 12px; }
table.tbl th {
	background: #2f2f2f;
	color: #fff;
	text-align: left;
	padding: 10px 12px;
	font-size: 11.5px;
	text-transform: uppercase;
	letter-spacing: .4px;
}
table.tbl td { border: 1px solid #e6e6e6; padding: 9px 12px; }
table.tbl tr:nth-child(even) td { background: #fafafa; }
table.tbl td.price { white-space: nowrap; font-weight: bold; color: #2f2f2f; width: 170px; }

.steps { display: flex; flex-wrap: wrap; margin: 0 -10px 6px; counter-reset: st; }
.steps .step { width: 25%; padding: 0 10px 20px; }
.steps .inner { border: 1px solid #e4e4e4; padding: 16px 18px; height: 100%; background: #fff; }
.steps .num {
	display: inline-block;
	background: #f4d020;
	color: #2b2b2b;
	font-weight: bold;
	width: 26px; height: 26px;
	line-height: 26px;
	text-align: center;
	margin-bottom: 8px;
}
.steps h3 { font-size: 12.5px; margin-bottom: 6px; }
.steps p { font-size: 11px; color: #8a8a8a; margin: 0; line-height: 1.65; }

/* сайдбар */
.widget { border: 1px solid #e0e0e0; margin-bottom: 22px; background: #fff; }
.widget > h3 {
	margin: 0;
	padding: 14px 18px;
	font-size: 19px;
	text-transform: uppercase;
	letter-spacing: .5px;
	background: #fbfbfb;
	border-bottom: 1px solid #ededed;
}
.widget ul { list-style: none; margin: 0; padding: 6px 0; }
.widget ul li { border-bottom: 1px dotted #e0e0e0; margin: 0; }
.widget ul li:last-child { border-bottom: 0; }
.widget ul li a {
	display: block;
	padding: 8px 18px 8px 30px;
	font-size: 11.5px;
	color: #5c5c5c;
	position: relative;
	text-decoration: none;
	line-height: 1.5;
}
.widget ul li a:before {
	content: "";
	position: absolute;
	left: 18px; top: 14px;
	width: 4px; height: 8px;
	background: #f4d020;
}
.widget ul li a:hover { color: #2b2b2b; background: #fcfaf0; }
.widget ul li.on a { color: #2b2b2b; font-weight: bold; }
.widget .inner { padding: 16px 18px; font-size: 11.5px; color: #6b6b6b; }
.widget .inner p { font-size: 11.5px; }

/* хлебные крошки */
.crumbs {
	margin-top: 34px;
	background: #f7f7f7;
	border: 1px solid #ececec;
	padding: 9px 14px;
	font-size: 11px;
	color: #9a9a9a;
}
.crumbs a {
	display: inline-block;
	color: #7a7a7a;
	text-transform: uppercase;
	text-decoration: none;
	padding-right: 16px;
	position: relative;
	margin-right: 6px;
}
.crumbs a:after {
	content: "";
	position: absolute;
	right: 4px; top: 4px;
	border: 5px solid transparent;
	border-left-color: #f4d020;
}
.crumbs a:hover { color: #2b2b2b; }

/* вкладки на странице услуг */
.tabs { border: 1px solid #e0e0e0; background: #fbfbfb; margin-bottom: 26px; }
.tabs .tabhead { padding: 14px 16px 0; border-bottom: 1px solid #e0e0e0; }
.tabs .tabhead h2 { font-size: 15px; padding: 0 2px 12px; margin: 0; }
.tabs .tabnav { display: flex; flex-wrap: wrap; gap: 6px; padding: 0 16px 14px; }
.tabs .tabnav button {
	border: 1px solid #dcdcdc;
	background: #fff;
	font-family: inherit;
	font-size: 11px;
	padding: 7px 12px;
	cursor: pointer;
	color: #555;
}
.tabs .tabnav button.on { background: #2f2f2f; border-color: #2f2f2f; color: #f4d020; }
.tabs .tabbody { padding: 18px 20px 22px; background: #fff; }
.tabs .pane { display: none; }
.tabs .pane.on { display: block; }
.tabs .pane h3 { margin-top: 0; }

/* аккордеон вопрос-ответ */
.faq { border-top: 1px solid #e6e6e6; }
.faq .item { border-bottom: 1px solid #e6e6e6; }
.faq .q {
	width: 100%;
	text-align: left;
	background: none;
	border: 0;
	font-family: inherit;
	font-size: 12.5px;
	font-weight: bold;
	color: #2f2f2f;
	padding: 13px 34px 13px 0;
	cursor: pointer;
	position: relative;
}
.faq .q:after {
	content: "+";
	position: absolute;
	right: 8px; top: 11px;
	color: #c9a200;
	font-size: 16px;
}
.faq .item.open .q:after { content: "–"; }
.faq .a { display: none; padding: 0 0 14px; font-size: 12.5px; color: #5d5d5d; }
.faq .item.open .a { display: block; }

/* отзывы */
.quotes { display: flex; flex-wrap: wrap; margin: 0 -10px; }
.quotes .q { width: 33.3333%; padding: 0 10px 20px; }
.quotes .in { border: 1px solid #e4e4e4; background: #fff; padding: 18px 20px; height: 100%; }
.quotes p { font-size: 11.5px; color: #6e6e6e; font-style: italic; }
.quotes .who { font-size: 11px; color: #2f2f2f; font-weight: bold; font-style: normal; margin: 0; }

/* цифры */
.digits { display: flex; flex-wrap: wrap; text-align: center; }
.digits .d { width: 25%; padding: 10px; }
.digits b { display: block; font-size: 30px; color: #2f2f2f; line-height: 1.2; }
.digits span { font-size: 11px; color: #8a8a8a; text-transform: none; }

/* блог */
.post-list { list-style: none; margin: 0 !important; }
.post-item { display: flex; gap: 18px; border-bottom: 1px solid #ededed; padding: 18px 0; }
.post-item:first-child { padding-top: 0; }
.post-item .thumb { width: 190px; flex: 0 0 190px; border: 1px solid #e4e4e4; }
.post-item .thumb img { display: block; width: 100%; }
.post-item h2 { font-size: 15px; margin: 0 0 8px; }
.post-item h2 a { color: #2f2f2f; }
.post-item h2 a:hover { color: #c99b00; }
.post-item p { font-size: 12px; color: #777; margin-bottom: 10px; }
.rubric-tag {
	display: inline-block;
	background: #f4f0dc;
	border: 1px solid #ecdfa2;
	color: #8a6d00 !important;
	font-size: 10.5px;
	padding: 2px 9px;
	text-transform: uppercase;
	letter-spacing: .3px;
	text-decoration: none !important;
	margin-bottom: 8px;
}
.pager { margin-top: 26px; text-align: center; }
.pager a, .pager span {
	display: inline-block;
	min-width: 30px;
	padding: 6px 10px;
	border: 1px solid #e0e0e0;
	margin: 0 2px;
	color: #666;
	text-decoration: none;
	font-size: 12px;
}
.pager span.cur { background: #f4d020; border-color: #ddb800; color: #2b2b2b; font-weight: bold; }
.pager a:hover { background: #f8f8f8; }

.article-body h2 { font-size: 17px; margin-top: 26px; }
.article-body h3 { font-size: 14px; margin-top: 20px; }
.article-body p { margin-bottom: 14px; }
.related { margin-top: 30px; border-top: 2px solid #f4d020; padding-top: 18px; }
.related ul { list-style: none; margin-left: 0 !important; }
.related li { padding-left: 16px; position: relative; }
.related li:before { content: ""; position: absolute; left: 0; top: 8px; width: 5px; height: 8px; background: #f4d020; }

/* формы и контакты */
.form-row { margin-bottom: 12px; }
.form-row label { display: block; font-size: 11.5px; color: #666; margin-bottom: 5px; }
.form-row input, .form-row textarea, .form-row select {
	width: 100%;
	border: 1px solid #dcdcdc;
	padding: 9px 11px;
	font-family: inherit;
	font-size: 12px;
	background: #fff;
	color: #444;
}
.form-note { font-size: 11px; color: #8f8f8f; }
.cols { display: flex; gap: 26px; flex-wrap: wrap; }
.cols > * { flex: 1; min-width: 260px; }

.contact-list { list-style: none; margin-left: 0 !important; }
.contact-list li { border-bottom: 1px dotted #ddd; padding: 9px 0; }
.contact-list b { display: inline-block; width: 150px; color: #2f2f2f; }

.map-scheme { border: 1px solid #e4e4e4; padding: 4px; background: #fff; }
.map-scheme img { display: block; width: 100%; }

/* --------------------------------------------------------- подвал ------ */

.footer { background: #3b3b3b; color: #b3b3b3; padding: 34px 0 10px; margin-top: 0; }
.footer a { color: #cfcfcf; text-decoration: none; }
.footer a:hover { color: #f4d020; text-decoration: none; }
.fcols { display: flex; flex-wrap: wrap; margin: 0 -18px; }
.fcols .fcol { width: 33.3333%; padding: 0 18px 20px; }
.footer h3 {
	color: #fff;
	text-transform: uppercase;
	font-size: 15px;
	letter-spacing: 1px;
	margin-bottom: 16px;
	font-weight: bold;
}
.footer p { font-size: 11px; line-height: 1.8; color: #a8a8a8; }
.footer .fmenu { list-style: none; }
.footer .fmenu li { border-bottom: 1px solid #484848; }
.footer .fmenu a { display: block; padding: 6px 0 6px 14px; font-size: 11px; position: relative; }
.footer .fmenu a:before {
	content: "";
	position: absolute;
	left: 0; top: 12px;
	width: 4px; height: 7px;
	background: #f4d020;
}
.socials { margin-top: 10px; }
.socials i {
	display: inline-block;
	width: 22px; height: 22px;
	margin-right: 4px;
	border-radius: 3px;
	font-style: normal;
	font-size: 10px;
	line-height: 22px;
	text-align: center;
	color: #fff;
	font-weight: bold;
	cursor: default;
}
.socials .vk { background: #4c75a3; }
.socials .ok { background: #ee8208; }
.socials .vb { background: #7360f2; }
.socials .wa { background: #25d366; }
.socials .fb { background: #3b5998; }
.socials .tg { background: #2ca5e0; }
.footer .stock { font-size: 11px; color: #a8a8a8; }
.footer .stock b { color: #f4d020; display: block; font-size: 12px; margin-bottom: 4px; }
.footer .stock .it { border-bottom: 1px solid #484848; padding: 8px 0; }

.copyline {
	border-top: 1px solid #4b4b4b;
	margin-top: 14px;
	padding: 16px 0 6px;
	text-align: center;
	font-size: 11px;
	color: #9e9e9e;
}
.copyline a { color: #f4d020; text-decoration: underline; }

.totop {
	display: block;
	width: 46px;
	height: 26px;
	margin: 6px auto 0;
	background: #2f2f2f;
	color: #f4d020 !important;
	text-align: center;
	line-height: 26px;
	border-radius: 4px 4px 0 0;
	font-size: 14px;
	text-decoration: none !important;
}

/* --------------------------------------------------------- 404 --------- */
.err { text-align: center; padding: 60px 0 70px; }
.err .code { font-size: 96px; font-weight: bold; color: #f4d020; line-height: 1; letter-spacing: 4px; }
.err h1 { margin: 14px 0 12px; }
.err p { max-width: 600px; margin: 0 auto 16px; color: #666; }
.err .links { list-style: none; display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 22px; margin: 20px 0 26px; }

/* --------------------------------------------------------- адаптив ----- */

@media (max-width: 1100px) {
	.brandshape { left: 0; margin-left: 0; }
	.hero .caption { left: 20px; margin-left: 0; max-width: 60%; }
}
@media (max-width: 900px) {
	.icons .col { width: 50%; }
	.cards .card, .cards.three .card { width: 50%; }
	.steps .step { width: 50%; }
	.quotes .q { width: 50%; }
	.fcols .fcol { width: 100%; }
	.layout { flex-wrap: wrap; }
	.aside { width: 100%; flex: 0 0 100%; }
	.digits .d { width: 50%; }
}
@media (max-width: 760px) {
	.topline .wrap { justify-content: flex-end; }
	.menu-toggle { display: block; }
	.mainmenu {
		display: none;
		position: absolute;
		top: 52px; left: 0; right: 0;
		background: #2b2b2b;
		flex-direction: column;
		align-items: stretch;
		padding: 6px 20px 14px;
	}
	.mainmenu.open { display: flex; }
	.mainmenu li { margin: 0; border-top: 1px solid #3d3d3d; }
	.mainmenu a { padding: 11px 0; }
	.brandshape { width: 180px; height: 84px; padding: 10px 0 0 16px; }
	.brandshape img { width: 100px; }
	.hero .slides { height: 260px; }
	.hero .caption { display: none; }
	.partner { display: block; }
	.partner .logo { width: 100%; flex: none; margin-bottom: 16px; }
	.post-item { display: block; }
	.post-item .thumb { width: 100%; margin-bottom: 12px; }
	.float-left, .float-right { float: none; width: 100%; margin: 0 0 16px; }
	.icons .col, .cards .card, .cards.three .card, .steps .step, .quotes .q { width: 100%; }
	h1 { font-size: 21px; }
}
