:root {
   --ls-blue: #265a88;
   --ls-blue-dark: #17456f;
   --ls-orange: #f16e02;
   --ls-shadow: 0 12px 30px rgba(15, 50, 82, 0.18);
}

html {
   min-width: 320px;
   scroll-behavior: smooth;
}

body {
   min-width: 320px;
   overflow-x: hidden;
}

#ls-site-frame {
   position: relative;
   min-height: 100vh;
   transform-origin: left top;
}

input[type="text"],
input[type="tel"],
input[type="email"] {
   box-sizing: border-box;
   border: 1px solid rgba(38, 90, 136, 0.2) !important;
   border-radius: 8px !important;
   box-shadow: 0 3px 10px rgba(15, 50, 82, 0.12);
   transition: border-color 160ms ease, box-shadow 160ms ease;
}

form input[type="text"],
form input[type="tel"],
form input[type="email"] {
   padding-left: 42px !important;
}

form [id^="wb_indexFontAwesomeIcon"] {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 26px !important;
   height: 35px !important;
   pointer-events: none;
}

form [id^="indexFontAwesomeIcon"] {
   width: 26px !important;
   height: 35px !important;
}

form [id^="indexFontAwesomeIcon"] i {
   width: 22px !important;
   color: var(--ls-orange) !important;
   font-size: 25px !important;
   line-height: 35px !important;
   text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8);
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus {
   border-color: var(--ls-orange) !important;
   box-shadow: 0 0 0 3px rgba(241, 110, 2, 0.2);
   outline: none;
}

input[type="submit"] {
   border: 0 !important;
   border-radius: 8px !important;
   box-shadow: 0 6px 14px rgba(15, 50, 82, 0.24);
   cursor: pointer;
   font-weight: 700;
   letter-spacing: 0.03em;
   transition: box-shadow 160ms ease, transform 160ms ease;
}

input[type="submit"]:hover {
   box-shadow: 0 9px 20px rgba(15, 50, 82, 0.3);
   transform: translateY(-2px);
}

@media (max-width: 768px), (pointer: coarse) {
   .wow,
   .wow.animated,
   .wow.fadeInUp,
   .wow.fadeInDown {
      visibility: visible !important;
      opacity: 1 !important;
      -webkit-animation: none !important;
      -moz-animation: none !important;
      animation: none !important;
      -webkit-transform: none !important;
      transform: none !important;
   }
}

#contactsBreadcrumb1 {
   background: rgba(255, 255, 255, 0.88) !important;
   border-radius: 999px !important;
   box-shadow: 0 4px 18px rgba(15, 50, 82, 0.1);
}

#indexLayer3[style*="height:954px"] {
   background-repeat: no-repeat !important;
   background-position: center top !important;
   background-size: auto 100% !important;
}

#indexLayer3[style*="height:954px"] #wb_indexHeading1 {
   top: 82px !important;
   height: 155px !important;
}

#indexLayer3[style*="height:954px"] #indexHeading1 {
   font-size: 62px !important;
   line-height: 1.05 !important;
}

#indexLayer4 #indexHtml1,
#indexLayer4 #indexHtml1 > ymaps,
#indexLayer4 #indexHtml1 iframe {
   width: 100% !important;
   max-width: none !important;
}

[id$="Layer28"] {
   min-width: 62px;
   border-radius: 18px 0 0 18px;
   background: rgba(255, 255, 255, 0.92);
   box-shadow: var(--ls-shadow);
}

#wb_indexText44 {
   text-align: center !important;
}

.ls-form-consent {
   position: absolute;
   left: 0;
   top: 64px;
   width: 100%;
   color: #fff;
   font-family: Arial, sans-serif;
   font-size: 12px;
   line-height: 1.35;
   text-align: center;
}

.ls-honeypot {
   position: absolute !important;
   left: -10000px !important;
   top: auto !important;
   width: 1px !important;
   height: 1px !important;
   overflow: hidden !important;
}

.ls-form-consent input {
   width: 15px;
   height: 15px;
   margin: 0 6px 0 0;
   accent-color: var(--ls-orange);
   vertical-align: -3px;
}

.ls-form-consent a,
.ls-cookie-banner a {
   color: inherit;
   text-decoration: underline;
   text-decoration-thickness: 1px;
   text-underline-offset: 2px;
}

.ls-compact-page .ls-form-consent {
   top: 194px;
   padding: 0 14px;
   box-sizing: border-box;
}

.ls-modal[hidden],
.ls-cookie-banner[hidden] {
   display: none;
}

.ls-modal {
   position: fixed;
   z-index: 10020;
   inset: 0;
   display: grid;
   place-items: center;
   padding: 18px;
   background: rgba(11, 35, 57, 0.58);
}

.ls-modal__dialog {
   position: relative;
   width: min(720px, 100%);
   max-height: min(720px, calc(100vh - 36px));
   overflow: auto;
   box-sizing: border-box;
   border-radius: 18px;
   padding: 30px;
   background: #fff;
   box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
   color: #263747;
   font-family: Arial, sans-serif;
   font-size: 15px;
   line-height: 1.55;
   text-align: left;
}

.ls-modal__dialog h2,
.ls-modal__dialog h3 {
   margin: 0 38px 14px 0;
   color: var(--ls-blue);
}

.ls-modal__dialog h3 {
   margin-top: 24px;
}

.ls-modal__dialog p {
   margin: 0 0 12px;
}

.ls-modal__close {
   position: absolute;
   top: 12px;
   right: 14px;
   width: 38px;
   height: 38px;
   border: 0;
   border-radius: 50%;
   background: #edf4fa;
   color: var(--ls-blue);
   cursor: pointer;
   font-size: 25px;
   line-height: 1;
}

.ls-cookie-banner {
   position: fixed;
   z-index: 10010;
   right: 18px;
   bottom: 18px;
   left: 18px;
   display: flex;
   align-items: center;
   gap: 18px;
   max-width: 980px;
   margin: auto;
   box-sizing: border-box;
   border: 1px solid rgba(38, 90, 136, 0.12);
   border-radius: 16px;
   padding: 16px 18px;
   background: rgba(255, 255, 255, 0.98);
   box-shadow: var(--ls-shadow);
   color: #263747;
   font-family: Arial, sans-serif;
   font-size: 14px;
   line-height: 1.45;
   text-align: left;
}

.ls-cookie-banner p {
   flex: 1;
   margin: 0;
}

.ls-cookie-banner a {
   color: var(--ls-blue);
}

.ls-button {
   flex: 0 0 auto;
   border: 0;
   border-radius: 9px;
   padding: 12px 20px;
   background: var(--ls-orange);
   box-shadow: 0 6px 14px rgba(241, 110, 2, 0.25);
   color: #fff;
   cursor: pointer;
   font-size: 14px;
   font-weight: 700;
}

@media (max-width: 620px) {
   .ls-cookie-banner {
      display: block;
      right: 10px;
      bottom: 10px;
      left: 10px;
      padding: 14px;
      font-size: 13px;
   }

   .ls-cookie-banner .ls-button {
      width: 100%;
      margin-top: 12px;
   }

   .ls-modal {
      padding: 10px;
   }

   .ls-modal__dialog {
      max-height: calc(100vh - 20px);
      border-radius: 14px;
      padding: 22px 18px;
      font-size: 14px;
   }
}
