/* Small visual refinements to the existing theme. */
:root {
  --accent: #008f3d;
  --ink: #202b25;
  --muted: #5d6b63;
  --line: #e1e8e3;
}
html { scroll-behavior: smooth; }
body { color: var(--ink); line-height: 1.7; -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
a, button, input { transition: color .18s, background-color .18s, border-color .18s, box-shadow .18s; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 4px;
}
h1, h2, h3, h4 { line-height: 1.35; font-weight: 600; }
h2 { font-size: 30px; }
.top { background: #f8faf8; border-bottom-color: var(--line); padding: 11px 0; }
.top ul li a { color: var(--muted); font-size: 11px; }
.top a:hover { color: var(--accent); }
.head { padding: 25px 0; }
.head > .container > .row { display: flex; align-items: center; }
.logo img { max-width: 100%; }
.time, .phone { color: var(--muted); }
.callback a { border-color: var(--accent); color: var(--accent); border-radius: 6px; font-weight: 600; height: auto; min-height: 46px; }
.callback a:hover, .callback a:focus { background: var(--accent); color: #fff; }
.navbar { height: auto; min-height: 57px; box-shadow: 0 3px 12px rgba(24, 40, 30, .08); }
.navbar-default .navbar-nav > li { border-bottom: 2px solid transparent; }
.navbar-default .navbar-nav > li > a { font-size: 12px; font-weight: 600; }
.navbar-default .navbar-nav > li:hover { border-bottom-color: #00cd4d; }
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus { color: #73e79b; }
.dropdown-menu { padding: 8px; border: 1px solid var(--line); border-radius: 0 0 8px 8px; box-shadow: 0 12px 28px rgba(24, 40, 30, .12); }
.dropdown-menu > li > a { padding: 9px 12px; margin: 0; border-radius: 4px; }
.dropdown-menu > li > a:hover, .dropdown-menu > li > a:focus { color: var(--accent); background: #eff8f2; }
.slide { height: auto; min-height: 497px; padding: 42px 0 85px; background-image: url('../images/hero-office-v3.webp'); background-size: cover; background-position: center; }
.slide .title h1 { font-size: 34px; line-height: 1.4; letter-spacing: -.6px; margin: 10px 0 24px; }
.slide p { line-height: 1.9; margin-bottom: 28px; }
.slide .full a { background: var(--accent); border-radius: 6px; font-size: 12px; font-weight: 600; }
.slide .full a:hover { background: #007a34; }
.slide .full a { transition: background-color .2s, transform .2s, box-shadow .2s; }
.slide .full a img { display: inline-block; animation: details-arrow 2s ease-in-out infinite; }
.slide .full a:hover, .slide .full a:focus-visible { transform: translateY(-2px); box-shadow: 0 6px 16px rgba(0, 122, 52, .22); }
.slide .full a:active { transform: translateY(0); }
@keyframes details-arrow {
  0%, 55%, 100% { transform: translateY(0); }
  20%, 40% { transform: translateY(3px); }
  30% { transform: translateY(1px); }
}
.uslug { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; border-radius: 8px; box-shadow: 0 8px 28px rgba(24, 40, 30, .07); }
.block-ux, .block-us { float: none; width: auto; height: auto; min-height: 205px; }
.block-ux { border-radius: 8px 0 0 0; }
.block-ux .img { pointer-events: none; }
.block-ux b, .block-ux a { position: relative; z-index: 1; }
.block-ux a { border-radius: 5px; padding: 0 14px; }
.block-us { border: 1px solid var(--line); padding: 38px 28px; }
.block-us a { position: relative; z-index: 1; font-size: 13px; font-weight: 600; line-height: 1.9; }
.block-us a:hover { color: var(--accent); text-decoration: none; }
.block-us span { z-index: 0; bottom: -52px; font-size: 128px; pointer-events: none; }
.block-us:hover { z-index: 1; box-shadow: 0 6px 22px rgba(24, 40, 30, .1); }
.uslug > .block-us, .uslug > .block-ux {
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
}
.uslug .block-us .bott { transition: width .25s ease; }
.uslug .block-us span { transition: transform .3s ease, color .3s ease; }
.uslug .block-ux .img { transition: transform .3s ease; }
@media (hover: hover) and (pointer: fine) {
  .uslug > .block-us:hover, .uslug > .block-ux:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 26px rgba(24, 40, 30, .14);
    z-index: 2;
  }
  .uslug > .block-us:hover { background-color: #f8fcf9; }
  .uslug .block-us:hover .bott { width: 48px; }
  .uslug .block-us:hover span { transform: translate(-4px, -4px); color: #e6f1e9; }
  .uslug .block-ux:hover .img { transform: translateY(-4px); }
}
.uslug > .block-us:focus-within, .uslug > .block-ux:focus-within {
  box-shadow: 0 0 0 2px var(--accent), 0 8px 20px rgba(24, 40, 30, .1);
  z-index: 2;
}
@media (prefers-reduced-motion: reduce) {
  .uslug > .block-us:hover, .uslug > .block-ux:hover,
  .uslug .block-us:hover span, .uslug .block-ux:hover .img { transform: none; }
}
.section2 { padding-top: 70px; }
.section2 p, .section4 .text-rights { color: #4e5d54; line-height: 1.95; }
.section2 .botts, .section4 .botts { margin-bottom: 32px; border-radius: 3px; }
.section2 .col-md-6 > .row { margin: 0; }
.section2 .col-md-6 { padding-left: 0; padding-right: 28px; }
.gobottom a, .section3 .icon a { color: var(--accent); }
.section3 { padding-bottom: 80px; }
.section3 .icon { margin: 35px 0; }
.section3 .icon .titleicon { font-weight: 600; line-height: 1.6; }
.section3 .icon a { display: inline-block; margin-top: 8px; font-size: 12px; font-weight: 500; text-underline-offset: 4px; }
.section4 { background: #f0f4f1; padding-bottom: 70px; }
.general-com { border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 8px 28px rgba(24, 40, 30, .06); margin-bottom: 65px; }
.general-com .img img { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; object-position: center; }
.general-com .img .names { max-width: calc(100% - 150px); }
.general-com .img .names b { display: inline-block; margin-bottom: 5px; }
.general-com .director-credentials { display: block; margin-top: 8px; color: var(--muted); font-size: 12px; line-height: 1.55; }
.general-com .textcom p { color: #4e5d54; }
.section4 .text { font-size: 17px; line-height: 1.95; }
.nav-tabs { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.nav-tabs > li { float: none; }
.nav-tabs > li > a,
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus { margin: 0; padding: 16px 24px; border-radius: 6px; font-size: 12px; font-weight: 600; }
.nav-tabs > li > a { background: #e5ece7; color: #34483b; cursor: pointer; }
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus { background: var(--accent); }
.section5 .tab-pane.active { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.simple-block { float: none; width: auto; height: auto; padding: 30px; border-color: var(--line); border-radius: 8px; }
.simple-block:hover { box-shadow: 0 6px 22px rgba(24, 40, 30, .07); }
.section5 .simple-block {
  position: relative;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.section5 .simple-block .bott { transition: width .25s ease; }
.section5 .simple-block .imgsim img { transition: transform .3s ease; }
@media (hover: hover) and (pointer: fine) {
  .section5 .simple-block:hover {
    transform: translateY(-5px);
    border-color: #b5d4bf;
    box-shadow: 0 12px 26px rgba(24, 40, 30, .12);
    z-index: 1;
  }
  .section5 .simple-block:hover .bott { width: 48px; }
  .section5 .simple-block:hover .imgsim img { transform: translateY(-3px); }
}
.section5 .simple-block:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}
@media (prefers-reduced-motion: reduce) {
  .section5 .simple-block:hover,
  .section5 .simple-block:hover .imgsim img { transform: none; }
}
.simple-block a { font-size: 17px; line-height: 1.6; font-weight: 600; }
.simple-block p { line-height: 1.9; color: #4e5d54; }
.simple-block .simtext::after { content: ''; display: block; clear: both; }
.imgsim img { margin: 5px 18px 12px 0; border-radius: 5px; max-width: 42%; }
.static_index { padding-top: 40px; padding-bottom: 45px; }
.static_index h1 { line-height: 1.4; }
.static_index p { line-height: 1.9; }
.offer-right { border: 1px solid var(--line); border-radius: 8px; }
.modal .modal-content { border-radius: 10px; overflow: hidden; }
.modal .modal-body { padding: 38px 42px !important; }
.modal-body h4 { font-size: 25px; line-height: 1.45; margin-bottom: 14px; }
.modal-body > p { color: var(--muted); }
.modal .modal-body .form-group input, .offer-right input {
  border: 1px solid #cbd7ce; border-radius: 6px; font-size: 16px; background: #fafcfb;
}
.modal .modal-body .form-group input:focus, .offer-right input:focus { border-color: var(--accent); background: #fff; }
.modal .modal-body button, .offer-right button { background: var(--accent); color: #fff; border-radius: 6px; font-size: 12px; }
.modal .modal-body button:hover, .offer-right button:hover { background: #007a34; }
.modal-footer { background: #f8faf8; border-color: var(--line); }
.modal-footer button { padding: 8px 18px; border: 1px solid #cbd7ce; border-radius: 5px; background: #fff; color: var(--ink); }
.footer { padding: 48px 0; }
.footer h4 { font-size: 16px; }
.footer p, .footer ul li a { color: #d7e1da; }
.footer ul li { margin-bottom: 14px; }
.footer ul li a:hover, .footer p a:hover { color: #73e79b; }
.footer-bottom { color: #c8d2cb; }
.footer-bottom .copyright { text-align: center; }
.footer-bottom .copyright p { float: none; margin: 0; }
#buhuchet { scroll-margin-top: 24px; }
@media (min-width: 768px) and (max-width: 1199px) {
  .head > .container > .row { align-items: flex-start; }
  .head-right { float: none; text-align: right; }
  .callback { display: inline-block; margin-top: 14px; }
  .time, .phone { margin-right: 0; }
  .time .text, .phone .text { padding-left: 56px; padding-right: 8px; }
  .navbar-default .navbar-nav > li { padding: 0; }
  .navbar-default .navbar-nav > li > a { padding-left: 12px; padding-right: 12px; font-size: 11px; }
  .uslug { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .block-ux, .block-us { width: auto; }
  .general-com .img .names { float: none; clear: both; padding-top: 8px; }
}
@media (max-width: 767px) {
  .top { font-size: 11px; padding: 8px 0; }
  .top ul { display: none; }
  .top .location, .top .e-mail { text-align: left; }
  .head { padding: 18px 0; }
  .head > .container > .row { display: block; }
  .logo { zoom: 1; margin-bottom: 18px; }
  .logo img { max-width: 245px; }
  .head-right { float: none; }
  .head-right:first-child { display: flex; flex-wrap: wrap; gap: 12px 4px; margin-bottom: 16px; }
  .callback { display: block; }
  .callback a { width: 100%; }
  .time, .phone { margin: 0; height: auto; min-height: 54px; flex: 1 1 160px; }
  .time .text, .phone .text { text-align: left; padding: 4px 0 0 56px; }
  .time b, .phone .text a { font-size: 14px; }
  .navbar { min-height: 54px; padding: 0; }
  .navbar-brand { display: block; }
  .navbar-default .navbar-brand { color: #fff; }
  .navbar-default .navbar-toggle { border-color: #708078; border-radius: 5px; }
  .navbar-default .navbar-toggle .icon-bar { background: #fff; }
  .navbar-default .navbar-collapse { border-color: #38483e; }
  .navbar-nav { margin: 0 -15px; background: #191d1a; }
  .navbar-default .navbar-nav > li { display: block; border: 0; padding: 0; }
  .navbar-default .navbar-nav > li > a { padding: 14px 20px; }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a { color: #e0ebe3; white-space: normal; padding: 12px 24px; }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { color: #73e79b; background: #24372b; }
  .slide { min-height: 0; padding: 30px 0 65px; background-size: cover; background-image: url('../images/hero-office-mobile-v3.webp'); }
  .slide .col-md-7 { background: rgba(255,255,255,.91); padding: 22px; border-radius: 8px; margin: 0 15px; }
  .slide .title h1 { font-size: 26px; line-height: 1.4; letter-spacing: -.35px; }
  .slide p { font-size: 14px; margin-bottom: 22px; }
  .slide p br { display: none; }
  .uslug { grid-template-columns: 1fr; margin: -25px 15px 0; }
  .block-ux, .block-us { width: auto; min-height: 170px; padding: 26px; }
  .block-ux { border-radius: 8px 8px 0 0; }
  .block-ux a { margin-top: 18px; }
  .block-us:last-child { border-radius: 0 0 8px 8px; }
  h2 { font-size: 25px; }
  .section2 { padding: 44px 20px 25px; }
  .section2 .col-md-6 { padding: 0; }
  .section2 .perv { font-size: 17px; }
  .section3 { padding: 0 20px 65px; }
  .section3 .icon { margin: 22px 0; }
  .section3 .icon img { margin-bottom: 16px; }
  .section4 { padding: 0 15px 50px; }
  .general-com { margin-bottom: 36px; }
  .general-com .img { padding: 22px; display: flex; align-items: center; gap: 16px; }
  .general-com .img img { float: none; width: 80px; height: 80px; margin: 0; }
  .general-com .img .names { float: none; max-width: none; padding: 0; }
  .general-com .textcom { padding: 12px 26px 22px; }
  .general-com .textcom p::before, .general-com .textcom p::after { display: none; }
  .mobilewitch { padding: 0 5px; }
  .section4 .text { font-size: 16px; }
  .nav-tabs { padding: 0 15px; gap: 8px; }
  .nav-tabs > li { flex: 1 1 160px; text-align: center; }
  .nav-tabs > li > a,
  .nav-tabs > li.active > a,
  .nav-tabs > li.active > a:hover,
  .nav-tabs > li.active > a:focus { padding: 14px 12px; }
  .section5 { padding-bottom: 45px; }
  .section5 .tab-pane.active { grid-template-columns: 1fr; padding: 0 15px; }
  .simple-block { width: auto; height: auto; padding: 24px; }
  .simple-block a { font-size: 16px; }
  .static_index { padding: 26px 20px; }
  .static_index h1 { font-size: 26px; }
  .static_index table { display: block; max-width: 100%; overflow-x: auto; }
  .static_index td, .static_index th { font-size: 13px; }
  .modal-dialog { margin: 20px 12px; }
  .modal .modal-body { padding: 26px 22px !important; }
  .modal-body h4 { font-size: 22px; }
  .modal .modal-body button { height: auto; min-height: 50px; line-height: 1.5; padding: 14px; }
  .offer-right input, .offer-right button { width: 100%; }
  .actionbuh form { padding: 0 20px; }
  .actionbuh input, .actionbuh button { width: 100%; margin: 0 0 12px; }
  .footer { padding: 30px 5px; }
  .footer .col-md-3 { margin-bottom: 22px; }
  .footer-bottom { padding: 10px 15px; }
  .footer-bottom p { float: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .wow { visibility: visible !important; }
}
.callback a + a { margin-left: 8px; }
.block-ux a { display: table; }
.block-ux a + a { margin-top: 10px; }
@media (max-width: 767px) {
  .callback a + a { margin: 8px 0 0; }
}
@media (min-width: 992px) {
  .footer .row { display: flex; justify-content: space-between; }
  .footer .row::before, .footer .row::after { display: none; }
  .footer .row > [class*="col-"] { float: none; width: auto; max-width: 34%; }
}
@media (min-width: 1200px) {
  .head > .container > .row > .logo { width: 25%; }
  .head > .container > .row > .logo + div { width: 75%; display: flex; align-items: center; justify-content: space-between; }
  .head .head-right { float: none; }
}
