html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; vertical-align: baseline; }

body, html { height: 100%; }

img, fieldset, a img { border: none; }

input[type="submit"], button { cursor: pointer; -webkit-appearance: none; -moz-appearance: none; appearance: none; }
input[type="submit"]::-moz-focus-inner, button::-moz-focus-inner { padding: 0; border: 0; }

textarea { overflow: auto; }

input, button { margin: 0; padding: 0; border: 0; }

div, input, textarea, select, button, h1, h2, h3, h4, h5, h6, a, span, a:focus { outline: none; }

ul, ol { list-style-type: none; }

@media only screen and (min-device-width: 320px) and (max-device-width: 480px) { * { -webkit-text-size-adjust: none; } }
table { border-spacing: 0; border-collapse: collapse; width: 100%; }

* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); -webkit-tap-highlight-color: transparent; }

input:-webkit-autofill, input:-webkit-autofill:hover, input:-webkit-autofill:focus, input:-webkit-autofill, textarea:-webkit-autofill, textarea:-webkit-autofill:hover, textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover, select:-webkit-autofill:focus { -webkit-text-fill-color: inherit !important; -webkit-box-shadow: 0 0 0px 1000px #fff inset; }

a, a:before, a:after, a:hover, a:focus, .btn { text-decoration: none; color: inherit; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }

body { font-family: "Geologica", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "slnt" 0, "CRSV" 0, "SHRP" 0; font-size: 12px; line-height: 1.2; color: #222; }

.out { width: 100%; min-width: 320px; margin: 0 auto; padding-top: 84px; }

.container { width: 100%; max-width: 1240px; padding: 0 20px; margin: 0 auto; }

.smt { margin-top: 80px; }

.spt { padding-top: 80px; }

.sptb { padding-top: 80px; padding-bottom: 80px; }

.title { display: flex; gap: 30px; justify-content: space-between; margin-bottom: 50px; }
.title h1, .title h2 { font-weight: 500; font-size: 42px; flex: 1 0; text-transform: uppercase; line-height: 1.1; }
.title h3 { font-weight: 500; font-size: 32px; text-transform: uppercase; line-height: 1.1; }
.title p { width: 32.5%; font-size: 18px; font-weight: 200; }

.form-group + .form-group { margin-top: 15px; }
.form-group label { display: block; font-weight: 500; font-size: 14px; margin-bottom: 5px; }

.form-group-contact { display: none; }

.form-control, .select2 { height: 46px; border: 1px solid #D3D9E1; color: #222; padding: 0 10px; font-size: 18px; font-weight: 200; font-family: "Geologica", sans-serif; font-optical-sizing: auto; font-style: normal; font-variation-settings: "slnt" 0, "CRSV" 0, "SHRP" 0; border-radius: 4px; background: #fff; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; width: 100% !important; }
.form-control.error, .select2.error { border-color: #E1171A; }
.form-control.error + .select2, .select2.error + .select2 { border-color: #E1171A; }

select.form-control.select2 { width: 0px !important; opacity: 0; }

.select2-container { z-index: 100000; }
.select2-container .select2-selection--single { border: 0; height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.select2-container .select2-selection--single .select2-selection__rendered { padding: 0; }
.select2-container .select2-selection--single .select2-selection__arrow { position: relative; }
.select2-container .select2-selection--single .select2-selection__arrow b { border: 0; width: 12px; height: 8px; background: url(../img/icons/arrow-select.svg) center center no-repeat; background-size: contain; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }
.select2-container.select2-container--open .select2-selection__arrow b { -moz-transform: rotate(180deg); -ms-transform: rotate(180deg); -webkit-transform: rotate(180deg); -o-transform: rotate(180deg); transform: rotate(180deg); }

.select2-results__options { font-size: 18px; font-weight: 200; }

.select2-results__option { padding: 8px 10px; }

.select2-results__option--highlighted[aria-selected] { background: #222; color: #fff; }

.btn { height: 44px; display: inline-block; line-height: 40px; font-size: 16px; font-weight: 500; padding: 0 30px; border-radius: 4px; white-space: nowrap; text-align: center; font-family: "Geologica", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-variation-settings: "slnt" 0, "CRSV" 0, "SHRP" 0; }

.btn:disabled { cursor: default; pointer-events: none; background: #D3D9E1; color: #fff; border-color: transparent; }

.btn-primary { border: 2px solid #222; color: #222; }
.btn-primary:hover, .btn-primary:focus, .btn-primary:active { background: #222; color: #fff; }

.btn-secondary { border: 2px solid #fff; color: #fff; }
.btn-secondary:hover, .btn-secondary:focus, .btn-secondary:active { background: #fff; color: #222; }

.btn-default { border: 2px solid #222; background: #222; color: #fff; }
.btn-default:hover, .btn-default:focus, .btn-default:active { background: transparent; color: #222; }

.consent { font-size: 14px; }
.consent input[type="checkbox"] { display: none; }
.consent label { padding-left: 30px; position: relative; cursor: pointer; display: inline-block; color: #555D68; font-weight: 200; line-height: 1.2; }
.consent label a { border-bottom: 1px solid #555D68; }
.consent label a:hover { border-color: transparent; }
.consent input[type="checkbox"] + label:before { content: ""; width: 18px; height: 18px; position: absolute; left: 0; top: 50%; margin-top: -9px; border-radius: 4px; border: 1px solid #555D68; }
.consent input[type="checkbox"]:checked + label:after { content: ""; position: absolute; top: 50%; left: 5px; display: block; width: 10px; height: 10px; border-radius: 2px; background: #222; margin-top: -4px; }

.mess { display: flex; gap: 16px; }
.mess a { width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; border: 2px solid #222; font-size: 0; padding: 5px; border-radius: 4px; }
.mess a img { max-width: 100%; max-height: 100%; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }
.mess a:hover { background: #222; }
.mess a:hover img { -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); }

.openmenu { overflow: hidden; height: 100%; }

.mobmenu-toggle { display: none; position: relative; right: -6px; z-index: 11; width: 27px; height: 27px; }
.mobmenu-toggle span { position: absolute; top: 50%; left: 0; margin: -1px 0 0; display: block; height: 2px; width: 100%; background: #222; -moz-transition: background 0s 0.3s; -o-transition: background 0s 0.3s; -webkit-transition: background 0s; -webkit-transition-delay: 0.3s; transition: background 0s 0.3s; border-radius: 1px; }
.mobmenu-toggle span:before, .mobmenu-toggle span:after { content: ""; position: absolute; left: 0; right: 0; height: 2px; border-radius: 1px; background: #222; -moz-transition-duration: 0.3s, 0.3s; -o-transition-duration: 0.3s, 0.3s; -webkit-transition-duration: 0.3s, 0.3s; transition-duration: 0.3s, 0.3s; -moz-transition-delay: 0.3s, 0s; -o-transition-delay: 0.3s, 0s; -webkit-transition-delay: 0.3s, 0s; transition-delay: 0.3s, 0s; }
.mobmenu-toggle span:before { top: -7px; -moz-transition-property: top, -moz-transform, background; -o-transition-property: top, -o-transform, background; -webkit-transition-property: top, -webkit-transform, background; transition-property: top, transform, background; }
.mobmenu-toggle span:after { bottom: -7px; -moz-transition-property: bottom, -moz-transform, background; -o-transition-property: bottom, -o-transform, background; -webkit-transition-property: bottom, -webkit-transform, background; transition-property: bottom, transform, background; }

.mobmenu-toggle.active span { background: none !important; }
.mobmenu-toggle.active span:before { top: 0; -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -webkit-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); }
.mobmenu-toggle.active span:after { bottom: 0; -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -webkit-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); }
.mobmenu-toggle.active span:before, .mobmenu-toggle.active span:after { -moz-transition-delay: 0s, 0.3s; -o-transition-delay: 0s, 0.3s; -webkit-transition-delay: 0s, 0.3s; transition-delay: 0s, 0.3s; }

.mobmenu { background: #fff; display: none; position: fixed; left: 0; top: 0; height: 100%; width: 100%; overflow: hidden; z-index: 9; -webkit-transform: translateY(-120%); -o-transform: translateY(-120%); transform: translateY(-120%); -moz-transition: 0.6s; -o-transition: 0.6s; -webkit-transition: 0.6s; transition: 0.6s; }
.mobmenu .mobmenu__content { height: 100%; width: 100%; overflow: auto; position: relative; }
.mobmenu .container { padding: 110px 20px 20px; display: flex; flex-direction: column; min-height: 100%; }
.mobmenu .mobmenu__nav { font-weight: 200; font-size: 18px; }
.mobmenu .mobmenu__nav li + li { margin-top: 30px; }
.mobmenu .mobmenu__nav a:hover { color: #000; }
.mobmenu .mobmenu__controls { padding-top: 60px; display: flex; gap: 16px; }
.mobmenu .mobmenu__controls .btn { width: 100%; }
.mobmenu .mobmenu__button { flex: 1 0; }

.mobmenu.open { -webkit-transform: translateY(0); -o-transform: translateY(0); transform: translateY(0); }

.header { padding: 20px 0; position: fixed; left: 0; top: 0; right: 0; z-index: 10; background: #fff; }
.header .container { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.header .header__logo { font-size: 0; max-width: 72px; }
.header .header__logo img { max-width: 100%; }
.header .header__nav { font-weight: 200; font-size: 18px; margin: 0 auto; }
.header .header__nav ul { display: flex; gap: 24px; }
.header .header__nav a:hover { color: #000; }

.offer { margin-top: 30px; }
.offer .container { display: flex; }
.offer .offer__wrapp { width: 57%; display: flex; flex-direction: column; }
.offer .offer__wrapp + .offer__image { width: 43%; }
.offer .offer__wrapp + .offer__image img { width: 100%; height: 100%; object-fit: cover; }
.offer .offer__wrapp .offer__image { margin-top: auto; padding-top: 30px; align-self: flex-end; }
.offer .offer__content { padding: 30px 70px 0 0; }
.offer .offer__image { font-size: 0; }
.offer .offer__title { font-size: 42px; font-weight: 500; text-transform: uppercase; line-height: 1.2; }
.offer .offer__title h1, .offer .offer__title h2 { font-size: inherit; font-weight: inherit; line-height: inherit; display: inline; }
.offer .offer__text { margin-top: 15px; font-size: 18px; font-weight: 200; max-width: 360px; }

.technologies { background: #D3D9E1; }

.technology { display: flex; background: #fff; }
.technology + .technology { margin-top: 30px; }
.technology .technology__image { font-size: 0; width: 31%; position: relative; }
.technology .technology__image:before { content: ""; position: absolute; left: 0; top: 0; border: 35px solid transparent; border-left: 35px solid #D3D9E1; border-top: 35px solid #D3D9E1; }
.technology .technology__image img { width: 100%; height: 100%; object-fit: cover; }
.technology .technology__content { width: 69%; padding: 32px; }
.technology .technology__title { font-size: 22px; text-transform: uppercase; margin-bottom: 60px; }
.technology .technology__descr { display: flex; gap: 40px; font-size: 16px; }
.technology .technology__info { width: 100%; font-weight: 200; }
.technology .technology__info > * + * { margin-top: 5px; }
.technology .technology__info ul { padding-left: 26px; list-style-type: disc; }
.technology .technology__purpose { width: 100%; }
.technology .technology__purpose ul { padding-left: 19px; list-style-type: disc; }

.projects .projects__tiles { display: flex; flex-wrap: wrap; margin: -24px -8px; }
.projects .projects__tiles .project { width: calc(33.33333333% - 16px); margin: 24px 8px; }
.projects .projects__button { margin-top: 50px; }
.projects .projects__button .btn { width: 100%; }

.project .project__image { font-size: 0; position: relative; }
.project .project__image:before { content: ""; display: block; padding-top: 72%; }
.project .project__image img { position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }
.project .project__image img + img { z-index: 2; opacity: 0; }
.project .project__image span { position: absolute; z-index: 2; left: 16px; bottom: 24px; color: #fff; font-size: 22px; text-transform: uppercase; }
.project .project__image:hover img + img { opacity: 1; }
.project .project__params { margin-top: 24px; display: flex; gap: 24px; font-size: 16px; font-weight: 200; }
.project .project__params span { display: block; font-weight: 400; margin-top: 4px; white-space: nowrap; }

.kelo { background: url(../img/kelo-bg.png) center no-repeat; box-sizing: cover; color: #fff; position: relative; min-height: 720px; display: flex; align-items: center; }
.kelo .container { display: flex; flex-direction: column; }
.kelo:before { content: ""; position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); }
.kelo .kelo__title { font-size: 42px; text-transform: uppercase; font-weight: 500; max-width: 470px; margin-left: 405px; position: relative; z-index: 1; }
.kelo .kelo__text { position: relative; z-index: 1; max-width: 540px; font-size: 18px; font-weight: 200; margin-top: 20px; align-self: flex-end; line-height: 1.1; }
.kelo .kelo__text p + p { margin-top: 24px; }
.kelo .kelo__text strong { font-weight: 400; }

.adwantages .adwantages__tiles { display: flex; flex-wrap: wrap; margin: -8px; }
.adwantages .adwantages__tiles .adwantage { margin: 8px; }

.adwantage { min-height: 400px; background: #D3D9E1; padding: 32px 24px; display: flex; flex-direction: column; justify-content: flex-end; position: relative; }
.adwantage.title { background: none; padding: 0; }
.adwantage span { font-size: 40px; display: block; font-weight: 500; text-transform: uppercase; max-width: 350px; line-height: 1.1; }
.adwantage p { font-size: 18px; font-weight: 200; margin-top: 10px; }

.adwantage-sm { width: calc(28% - 16px); }

.adwantage-md { width: calc(44% - 16px); }

.adwantage-bgi { background: none; color: #fff; }
.adwantage-bgi img { position: absolute; z-index: -1; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover; }
.adwantage-bgi:after { content: ""; position: absolute; right: 0; top: 0; border: 35px solid transparent; border-right: 35px solid #fff; border-top: 35px solid #fff; }

.stages .stages__items { display: flex; flex-wrap: wrap; justify-content: center; padding: 0 0 0 14px; }

.stage { width: 25%; line-height: 1.1; border-left: 2px solid #D3D9E1; padding: 0 10px; position: relative; min-height: 190px; }
.stage:nth-child(odd) { order: 1; border-bottom: 2px solid #D3D9E1; padding-bottom: 30px; align-self: flex-end; }
.stage:nth-child(odd) .stage__index { bottom: -20px; }
.stage:nth-child(even) { order: 2; padding-top: 30px; align-self: flex-start; display: flex; flex-direction: column; justify-content: flex-end; }
.stage:nth-child(even) .stage__index { top: -20px; }
.stage:nth-child(3), .stage:nth-child(4) { min-height: 260px; }
.stage .stage__index { font-size: 32px; font-weight: 500; color: #D3D9E1; position: absolute; z-index: 1; width: 44px; text-align: center; background: #fff; left: -22px; }
.stage .stage__name { font-size: 26px; font-weight: 500; text-transform: uppercase; max-width: 220px; }
.stage .stage__descr { font-size: 18px; font-weight: 200; margin-top: 10px; max-width: 240px; }

.footer { padding: 60px 0; background: #222; color: #fff; }
.footer .footer__top { display: flex; justify-content: space-between; gap: 30px; }
.footer .footer__logo { font-size: 0; max-width: 72px; }
.footer .footer__logo img { max-width: 100%; -webkit-filter: brightness(0) invert(1); filter: brightness(0) invert(1); }
.footer .footer__middle { display: flex; gap: 250px; margin-top: 60px; }
.footer .footer__title { font-size: 14px; color: #D3D9E1; margin-bottom: 18px; }
.footer .footer__menu { font-size: 18px; font-weight: 200; }
.footer .footer__menu li + li { margin-top: 8px; }
.footer .footer__menu a:hover { color: #D3D9E1; }
.footer .footer__columns { display: flex; gap: 50px; }
.footer .footer__info { font-size: 18px; font-weight: 200; line-height: 1.3; }
.footer .footer__info p + p { margin-top: 8px; }
.footer .footer__phone a { font-size: 18px; margin-right: 5px; }
.footer .footer__phone a:hover { color: #D3D9E1; }
.footer .footer__phone span { font-size: 14px; font-weight: 200; }
.footer .footer__email { margin-top: 8px; }
.footer .footer__email a { font-size: 18px; font-weight: 200; }
.footer .footer__email a:hover { color: #D3D9E1; }
.footer .footer__messengers { margin-top: 28px; }
.footer .footer__messengers ul { display: flex; gap: 8px; }
.footer .footer__messengers a { display: flex; width: 44px; height: 44px; border-radius: 4px; border: 2px solid #D3D9E1; padding: 5px; align-items: center; justify-content: center; }
.footer .footer__messengers a img { max-width: 100%; max-height: 100%; -moz-transition: all 0.3s; -o-transition: all 0.3s; -webkit-transition: all 0.3s; transition: all 0.3s; }
.footer .footer__messengers a:hover { background: #D3D9E1; }
.footer .footer__messengers a:hover img { -webkit-filter: brightness(0) invert(0); filter: brightness(0) invert(0); }
.footer .footer__bottom { margin-top: 60px; }
.footer .footer__links { font-size: 14px; font-weight: 200; }
.footer .footer__links ul { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.footer .footer__links a { opacity: 0.8; }
.footer .footer__links a:hover { color: #D3D9E1; }

.modal { padding: 50px 60px; width: 100%; }
.modal .title { margin-bottom: 36px; }
.modal .modal__text { font-size: 18px; font-weight: 200; }

.modal-callback, .modal-success { max-width: 600px; }
.modal-callback .btn, .modal-success .btn { width: 100%; }

@media screen and (max-width: 1239px) { .container { max-width: 992px; }
  .title { margin-bottom: 45px; }
  .title h1, .title h2 { font-size: 38px; }
  .title h3 { font-size: 28px; }
  .btn { padding: 0 25px; }
  .header .header__nav ul { gap: 20px; }
  .offer .offer__wrapp .offer__image img { max-width: 330px; }
  .offer .offer__content { padding: 0 40px 0 0; }
  .offer .offer__title { font-size: 38px; }
  .technology .technology__image:before { border: 30px solid transparent; border-left: 30px solid #D3D9E1; border-top: 30px solid #D3D9E1; }
  .technology .technology__content { padding: 30px; }
  .technology .technology__title { font-size: 20px; margin-bottom: 40px; }
  .technology .technology__descr { gap: 30px; }
  .technology .technology__info { width: 65%; }
  .technology .technology__purpose { width: 35%; }
  .projects .projects__tiles { margin: -20px -8px; }
  .projects .projects__tiles .project { margin: 20px 8px; }
  .projects .projects__button { margin-top: 40px; }
  .project .project__image span { font-size: 20px; }
  .project .project__params { margin-top: 22px; gap: 20px; }
  .kelo { min-height: 660px; }
  .kelo .kelo__title { font-size: 35px; max-width: 440px; margin-left: 198px; }
  .adwantage { min-height: 350px; }
  .adwantage span { font-size: 32px; max-width: 300px; }
  .adwantage-bgi:after { border: 30px solid transparent; border-right: 30px solid #fff; border-top: 30px solid #fff; }
  .stage:nth-child(3), .stage:nth-child(4) { min-height: 240px; }
  .stage .stage__index { font-size: 28px; width: 40px; left: -20px; }
  .stage:nth-child(odd) .stage__index { bottom: -17px; }
  .stage:nth-child(even) .stage__index { top: -17px; }
  .stage .stage__name { font-size: 20px; }
  .footer .footer__middle { gap: 150px; } }
@media screen and (max-width: 991px) { .out { padding-top: 76px; }
  .container { max-width: 768px; }
  .title { margin-bottom: 40px; }
  .title h1, .title h2 { font-size: 34px; }
  .title h3 { font-size: 24px; }
  .title p { width: 42%; }
  .btn { padding: 0 20px; }
  .header .header__nav { font-size: 16px; display: none; }
  .header .header__mess { display: none; }
  .header .header__button { display: none; }
  .mobmenu-toggle, .mobmenu { display: block; }
  .offer .offer__wrapp { width: 57%; }
  .offer .offer__wrapp + .offer__image { width: 43%; }
  .offer .offer__wrapp .offer__image img { max-width: 260px; }
  .offer .offer__content { padding: 0 30px 0 0; }
  .offer .offer__title { font-size: 34px; }
  .technology .technology__title { font-size: 18px; margin-bottom: 20px; }
  .technology .technology__descr { display: block; }
  .technology .technology__info { width: 100%; }
  .technology .technology__purpose { width: 100%; margin-top: 15px; }
  .technology .technology__purpose ul { padding-left: 25px; }
  .projects .projects__tiles .project { width: calc(50% - 16px); }
  .project .project__image span { font-size: 18px; }
  .kelo { min-height: 600px; }
  .kelo .kelo__title { font-size: 28px; max-width: 360px; margin-left: 76px; }
  .kelo .kelo__text { max-width: 480px; }
  .adwantage { min-height: 300px; padding: 20px; }
  .adwantage span { font-size: 24px; max-width: 220px; }
  .stages .stages__items { padding: 0 0 0 12px; }
  .stage { min-height: 190px; }
  .stage:nth-child(3), .stage:nth-child(4) { min-height: 220px; }
  .stage .stage__index { font-size: 24px; width: 36px; left: -18px; }
  .stage:nth-child(odd) .stage__index { bottom: -15px; }
  .stage:nth-child(even) .stage__index { top: -15px; }
  .stage .stage__name { font-size: 16px; }
  .stage .stage__descr { font-size: 16px; }
  .footer .footer__middle { gap: 50px; } }
@media screen and (max-width: 767px) { .container { max-width: 575px; }
  .form-control { font-size: 16px; }
  .select2-results__options { font-size: 16px; }
  .select2-results__options { font-size: 16px; }
  .title { margin-bottom: 35px; display: block; }
  .title h1, .title h2 { font-size: 30px; }
  .title h3 { font-size: 20px; }
  .title p { font-size: 16px; width: 100%; margin-top: 15px; }
  .header .header__logo { width: 50%; }
  .header .header__nav { display: none; }
  .header .header__contacts { display: none; }
  .offer { margin-top: 20px; }
  .offer .container { display: block; }
  .offer .offer__wrapp { display: block; }
  .offer .offer__content { padding: 0 0 30px; width: 100%; }
  .offer .offer__wrapp { width: 100%; display: block; }
  .offer .offer__wrapp + .offer__image { width: 100%; }
  .offer .offer__wrapp .offer__image { width: 100%; text-align: right; display: none; }
  .offer .offer__title { font-size: 30px; }
  .technology { display: block; }
  .technology .technology__image { width: 100%; }
  .technology .technology__content { width: 100%; }
  .technology .technology__title { font-size: 16px; }
  .projects .projects__tiles { display: block; margin: 0; }
  .projects .projects__tiles .project { width: 100%; margin: 0; }
  .projects .projects__tiles .project + .project { margin-top: 30px; }
  .project .project__params { margin-top: 16px; }
  .kelo { min-height: 540px; }
  .kelo .kelo__title { font-size: 21px; max-width: 260px; margin-left: 0; }
  .kelo .kelo__text { max-width: 406px; font-size: 16px; }
  .adwantage { min-height: 250px; }
  .adwantage span { font-size: 18px; max-width: 180px; }
  .adwantage p { font-size: 16px; }
  .adwantage-sm { width: calc(50% - 16px); }
  .adwantage-md { width: calc(50% - 16px); }
  .stages .stages__items { display: block; padding: 0 0 0 10px; }
  .stage { width: 100%; padding: 0 0 30px 30px !important; min-height: 0; }
  .stage:nth-child(odd) { border-bottom: 0; }
  .stage:nth-child(odd) .stage__index { bottom: auto; top: -6px; }
  .stage:nth-child(even) { display: block; }
  .stage:nth-child(even) .stage__index { top: -6px; }
  .stage:nth-child(3), .stage:nth-child(4) { min-height: 0; }
  .stage:last-child { padding-bottom: 0 !important; border-left: none; }
  .stage .stage__name { max-width: 100%; }
  .stage .stage__descr { max-width: 100%; }
  .footer .footer__middle { gap: 30px; }
  .footer .footer__menu { font-size: 16px; }
  .footer .footer__columns { display: block; }
  .footer .footer__section { width: 100%; }
  .footer .footer__info { font-size: 16px; }
  .footer .footer__contacts { margin-top: 30px; }
  .footer .footer__phone a { font-size: 16px; }
  .footer .footer__email a { font-size: 16px; }
  .modal { padding: 40px; }
  .modal-callback, .modal-success { max-width: 500px; } }
@media screen and (max-width: 574px) { .container { max-width: 425px; }
  .title { margin-bottom: 30px; }
  .title h1, .title h2 { font-size: 26px; }
  .offer { margin-top: 20px; }
  .offer .offer__title { font-size: 26px; }
  .technology .technology__content { padding: 20px; }
  .kelo { min-height: 480px; }
  .kelo .kelo__text { max-width: 280px; }
  .adwantages .adwantages__tiles { display: block; margin: 0; }
  .adwantages .adwantages__tiles .adwantage { margin: 0; }
  .adwantages .adwantages__tiles .adwantage + .adwantage { margin-top: 30px; }
  .adwantage { min-height: 200px; }
  .adwantage.title { min-height: 0; }
  .adwantage-sm { width: 100%; }
  .adwantage-md { width: 100%; }
  .footer .footer__middle { display: block; }
  .footer .footer__section + .footer__section { margin-top: 30px; }
  .modal { padding: 30px 20px; } }
@media screen and (min-width: 768px) { .openmenu { overflow: auto !important; height: auto !important; position: static !important; } }
