diff --git a/CNAME b/CNAME new file mode 100644 index 000000000..124baaee9 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +botozz.ru \ No newline at end of file diff --git a/build/css/style.css b/build/css/style.css new file mode 100644 index 000000000..2fa724fb1 --- /dev/null +++ b/build/css/style.css @@ -0,0 +1,2152 @@ +@charset "UTF-8"; +/* stylelint-disable */ +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +/* Document + ========================================================================== */ +/** + * 1. Correct the line height in all browsers. + * 2. Prevent adjustments of font size after orientation changes in iOS. + */ +html { + line-height: 1.15; /* 1 */ + -webkit-text-size-adjust: 100%; /* 2 */ +} + +/* Sections + ========================================================================== */ +/** +* Remove the margin in all browsers. +*/ +body { + margin: 0; +} + +/** +* Render the `main` element consistently in IE. +*/ +main { + display: block; +} + +/** +* Correct the font size and margin on `h1` elements within `section` and +* `article` contexts in Chrome, Firefox, and Safari. +*/ +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +/* Grouping content + ========================================================================== */ +/** +* 1. Add the correct box sizing in Firefox. +* 2. Show the overflow in Edge and IE. +*/ +hr { + -webkit-box-sizing: content-box; + box-sizing: content-box; /* 1 */ + height: 0; /* 1 */ + overflow: visible; /* 2 */ +} + +/** +* 1. Correct the inheritance and scaling of font size in all browsers. +* 2. Correct the odd `em` font sizing in all browsers. +*/ +pre { + font-size: 1em; /* 2 */ + font-family: monospace, monospace; /* 1 */ +} + +/* Text-level semantics + ========================================================================== */ +/** +* Remove the gray background on active links in IE 10. +*/ +a { + background-color: transparent; +} + +/** +* 1. Remove the bottom border in Chrome 57- +* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. +*/ +abbr[title] { + text-decoration: underline; /* 2 */ + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; /* 2 */ + border-bottom: none; /* 1 */ +} + +/** +* Add the correct font weight in Chrome, Edge, and Safari. +*/ +b, +strong { + font-weight: bolder; +} + +/** +* 1. Correct the inheritance and scaling of font size in all browsers. +* 2. Correct the odd `em` font sizing in all browsers. +*/ +code, +kbd, +samp { + font-size: 1em; /* 2 */ + font-family: monospace, monospace; /* 1 */ +} + +/** +* Add the correct font size in all browsers. +*/ +small { + font-size: 80%; +} + +/** +* Prevent `sub` and `sup` elements from affecting the line height in +* all browsers. +*/ +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +/* Embedded content + ========================================================================== */ +/** +* Remove the border on images inside links in IE 10. +*/ +img { + border-style: none; +} + +/* Forms + ========================================================================== */ +/** +* 1. Change the font styles in all browsers. +* 2. Remove the margin in Firefox and Safari. +*/ +button, +input, +optgroup, +select, +textarea { + margin: 0; /* 2 */ + font-size: 100%; /* 1 */ + line-height: 1.15; /* 1 */ + font-family: inherit; /* 1 */ +} + +/** +* Show the overflow in IE. +* 1. Show the overflow in Edge. +*/ +button, +input { + /* 1 */ + overflow: visible; +} + +/** +* Remove the inheritance of text transform in Edge, Firefox, and IE. +* 1. Remove the inheritance of text transform in Firefox. +*/ +button, +select { + /* 1 */ + text-transform: none; +} + +/** +* Correct the inability to style clickable types in iOS and Safari. +*/ +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: button; +} + +/** +* Remove the inner border and padding in Firefox. +*/ +button::-moz-focus-inner, +[type=button]::-moz-focus-inner, +[type=reset]::-moz-focus-inner, +[type=submit]::-moz-focus-inner { + padding: 0; + border-style: none; +} + +/** +* Restore the focus styles unset by the previous rule. +*/ +button:-moz-focusring, +[type=button]:-moz-focusring, +[type=reset]:-moz-focusring, +[type=submit]:-moz-focusring { + outline: 1px dotted ButtonText; +} + +/** +* Correct the padding in Firefox. +*/ +fieldset { + padding: 0.35em 0.75em 0.625em; +} + +/** +* 1. Correct the text wrapping in Edge and IE. +* 2. Correct the color inheritance from `fieldset` elements in IE. +* 3. Remove the padding so developers are not caught out when they zero out +* `fieldset` elements in all browsers. +*/ +legend { + display: table; /* 1 */ + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + max-width: 100%; /* 1 */ + padding: 0; /* 3 */ + color: inherit; /* 2 */ + white-space: normal; /* 1 */ +} + +/** +* Add the correct vertical alignment in Chrome, Firefox, and Opera. +*/ +progress { + vertical-align: baseline; +} + +/** +* Remove the default vertical scrollbar in IE 10+. +*/ +textarea { + overflow: auto; +} + +/** +* 1. Add the correct box sizing in IE 10. +* 2. Remove the padding in IE 10. +*/ +[type=checkbox], +[type=radio] { + -webkit-box-sizing: border-box; + box-sizing: border-box; /* 1 */ + padding: 0; /* 2 */ +} + +/** +* Correct the cursor style of increment and decrement buttons in Chrome. +*/ +[type=number]::-webkit-inner-spin-button, +[type=number]::-webkit-outer-spin-button { + height: auto; +} + +/** +* 1. Correct the odd appearance in Chrome and Safari. +* 2. Correct the outline style in Safari. +*/ +[type=search] { + outline-offset: -2px; /* 2 */ + -webkit-appearance: textfield; /* 1 */ +} + +/** +* Remove the inner padding in Chrome and Safari on macOS. +*/ +[type=search]::-webkit-search-decoration { + -webkit-appearance: none; +} + +/** +* 1. Correct the inability to style clickable types in iOS and Safari. +* 2. Change font properties to `inherit` in Safari. +*/ +::-webkit-file-upload-button { + font: inherit; /* 2 */ + -webkit-appearance: button; /* 1 */ +} + +/* Interactive + ========================================================================== */ +/* +* Add the correct display in Edge, IE 10+, and Firefox. +*/ +details { + display: block; +} + +/* +* Add the correct display in all browsers. +*/ +summary { + display: list-item; +} + +/* Misc + ========================================================================== */ +/** +* Add the correct display in IE 10+. +*/ +template { + display: none; +} + +/** +* Add the correct display in IE 10. +*/ +[hidden] { + display: none; +} + +/* здесь подключите шрифты*/ +@font-face { + font-style: normal; + font-weight: 400; + font-family: "Montserrat"; + font-display: swap; + src: local("Montserrat"), url("../fonts/montserrat-regular.woff2") format("woff2"); +} +@font-face { + font-style: normal; + font-weight: 500; + font-family: "Montserrat"; + font-display: swap; + src: local("Montserrat"), url("../fonts/montserrat-medium.woff2") format("woff2"); +} +@font-face { + font-style: normal; + font-weight: 700; + font-family: "Montserrat"; + font-display: swap; + src: local("Montserrat"), url("../fonts/montserrat-bold.woff2") format("woff2"); +} +*, +*::before, +*::after { + -webkit-box-sizing: border-box; + box-sizing: border-box; +} + +html, +body { + margin: 0; + padding: 0; + min-height: 100vh; +} + +html { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 24px; + font-family: "Montserrat", "Arial", sans-serif; + color: #000000; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + text-rendering: optimizeLegibility; +} + +body { + width: 100%; + height: 100%; + background-color: #ffffff; +} + +a { + color: #000000; + text-decoration: none; +} + +img, +video { + display: block; + max-width: 100%; + height: auto; +} + +textarea { + resize: none; +} + +input:-webkit-autofill { + -webkit-box-shadow: inset 0 0 0 1000px #ffffff; + box-shadow: inset 0 0 0 1000px #ffffff; + -webkit-text-fill-color: #000000; +} + +input, +textarea { + border-radius: 0; +} +input::-webkit-input-placeholder, textarea::-webkit-input-placeholder { + opacity: 1; +} +input::-moz-placeholder, textarea::-moz-placeholder { + opacity: 1; +} +input:-ms-input-placeholder, textarea:-ms-input-placeholder { + opacity: 1; +} +input::-ms-input-placeholder, textarea::-ms-input-placeholder { + opacity: 1; +} +input::placeholder, +textarea::placeholder { + opacity: 1; +} +input:invalid, +textarea:invalid { + -webkit-box-shadow: none; + box-shadow: none; +} + +select { + border-radius: 0; +} + +input::-ms-clear, input::-ms-reveal { + display: none; +} + +input[type=search]::-webkit-search-decoration, +input[type=search]::-webkit-search-cancel-button, +input[type=search]::-webkit-search-results-button, +input[type=search]::-webkit-search-results-decoration { + -webkit-appearance: none; + appearance: none; +} + +input::-webkit-outer-spin-button, +input::-webkit-inner-spin-button { + margin: 0; + -webkit-appearance: none; + appearance: none; +} + +input[type=number] { + -webkit-appearance: textfield; + -moz-appearance: textfield; + appearance: textfield; +} + +select, +textarea, +input:matches([type=email], +[type=number], +[type=password], +[type=search], +[type=tel], +[type=text], +[type=url]) { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +button, +[type=button], +[type=reset], +[type=submit] { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +.wrapper { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + min-height: 100vh; + /* stylelint-disable-next-line */ + min-height: calc(100 * var(--vh, 1vh)); +} +.wrapper .header, +.wrapper .footer { + -ms-flex-negative: 0; + flex-shrink: 0; +} +.wrapper main { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; +} + +.visually-hidden { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + white-space: nowrap; + border: 0; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); +} + +.scroll-lock-ios { + position: fixed; + overflow: hidden; +} + +.scroll-lock { + overflow: hidden; +} + +.no-scrollbar { + -ms-overflow-style: none; + scrollbar-width: none; +} +.no-scrollbar::-webkit-scrollbar { + display: none; +} + +.no-transition { + /* stylelint-disable-next-line */ + -webkit-transition: none !important; + transition: none !important; +} + +.js-focus-visible :focus:not(.focus-visible) { + outline: none; +} + +.container { + width: 100%; + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 1440px; + margin: 0 auto; + padding: 0 0 0 70px; + background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%); + margin-left: 0; + margin-right: 0; +} +@media (max-width: 1230px) { + .container { + padding: 0 70px; + } +} +@media (max-width: 540px) { + .container { + padding: 0 30px; + } +} + +.header { + color: #ffffff; + padding: 20px 15px 30px 15px; +} + +.header__logo-link { + font-size: 26px; + font-weight: 800; + color: #000000; +} + +.form { + width: 100%; +} + +.form__inner { + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr; + gap: 80px; +} +@media (max-width: 1230px) { + .form__inner { + -ms-grid-columns: 1fr; + grid-template-columns: 1fr; + gap: 0; + } +} + +.form__title { + font-size: 48px; + font-weight: 800; + line-height: normal; + color: #ffffff; + margin-top: 0; + margin-bottom: 20px; +} +@media (max-width: 1230px) { + .form__title { + text-align: center; + } +} +@media (max-width: 767px) { + .form__title { + font-size: 26px; + margin-bottom: 17px; + } +} + +.form__link { + padding: 13px; + border: 1px solid #000000; + background-color: transparent; + border-radius: 20px; + display: block; + position: relative; + max-width: 340px; +} +@media (max-width: 1230px) { + .form__link { + margin: 0 auto; + } +} +.form__link:hover { + color: #ffffff; + border: 1px solid #ffffff; +} +.form__link:hover .form__link-text { + color: #ffffff; +} +.form__link:focus { + border: 1px solid #ffffff; + fill: #ffffff; + color: #ffffff; +} +.form__link:focus .form__link-text { + color: #ffffff; +} +.form__link:focus-visible { + border: 1px solid #ffffff; + fill: #ffffff; + color: #ffffff; +} +.form__link:focus-visible .form__link-text { + color: #ffffff; +} +.form__link:active { + color: #ffffff; + fill: #ffffff; + border: 1px solid #ffffff; +} +.form__link:active .form__link-text { + color: #ffffff; +} +.form__link .form__link-icon:hover { + fill: #ffffff; + color: #ffffff; +} +.form__link .form__link-icon:focus { + fill: #ffffff; +} +.form__link .form__link-icon:focus-visible { + fill: #ffffff; +} +.form__link .form__link-icon:active { + fill: #ffffff; +} + +.form__link-icon { + fill: #000000; + background-position: center; + background-repeat: no-repeat; + width: 24px; + height: 24px; + position: absolute; + display: block; +} +.form__link-icon:hover { + fill: #ffffff; + color: #ffffff; +} +.form__link-icon:focus { + fill: #ffffff; +} +.form__link-icon:focus-visible { + fill: #ffffff; +} +.form__link-icon:active { + fill: #ffffff; +} + +.form__link-text { + font-size: 18px; + color: #000000; + font-weight: 400; + padding-left: 35px; + margin: 0; +} + +.form__text { + font-size: 18px; + font-weight: 400; + line-height: normal; + color: #ffffff; + margin-top: 10px; + margin-bottom: 20px; +} +@media (max-width: 1230px) { + .form__text { + text-align: center; + } +} +@media (max-width: 767px) { + .form__text { + font-size: 14px; + margin-bottom: 7px; + } +} + +.form__wrapprer { + max-width: 1440px; + margin: 0 auto; + padding: 117px 6.9% 30px; +} +@media (max-width: 1199px) { + .form__wrapprer { + padding: 97px 45px 30px 45px; + } +} +@media (max-width: 767px) { + .form__wrapprer { + padding: 67px 15px 14px; + } +} +@media (min-width: 1440px) { + .form__wrapprer { + padding-right: 100px; + padding-left: 100px; + } +} + +.form__content { + position: relative; +} + +.form__inner-wrapper-grid { + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr; + gap: 20px; +} +@media (max-width: 540px) { + .form__inner-wrapper-grid { + -ms-grid-columns: 1fr; + grid-template-columns: 1fr; + gap: 0; + } +} + +.form__inner-wrapper { + margin-bottom: 30px; +} + +.form__input { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + width: 100%; + margin: 0; + margin-bottom: 0; + padding: 0; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 18px; + color: #f0efe9; +} +@media (max-width: 1230px) { + .form__input { + margin-bottom: 15px; + } +} +@media (max-width: 767px) { + .form__input { + margin-bottom: 20px; + } +} +@media (max-width: 540px) { + .form__input { + margin-bottom: 0; + } +} + +.form__input label { + display: block; + margin: 0; + margin-bottom: 8px; + padding: 0; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 18px; + color: rgba(240, 239, 233, 0.8); +} +@media (max-width: 1199px) { + .form__input label { + margin-bottom: 7px; + line-height: 20px; + } +} +@media (max-width: 1230px) { + .form__input label { + margin-bottom: 12px; + font-size: 12px; + line-height: 14px; + } +} + +.form__input input::-webkit-input-placeholder { + color: #000000; +} + +.form__input input::-moz-placeholder { + color: #000000; +} + +.form__input input:-ms-input-placeholder { + color: #000000; +} + +.form__input input::-ms-input-placeholder { + color: #000000; +} + +.form__input input::placeholder { + color: #000000; +} + +.form__input input { + padding: 16px 25px; + font-size: 14px; + color: #000000; + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: 8px; +} +@media (max-width: 1230px) { + .form__input input { + padding: 16px 25px; + } +} +.form__input input:disabled { + background: rgba(169, 175, 183, 0.2); + border: 1px solid rgba(169, 175, 183, 0.5); +} +.form__input input:hover { + border: 1px solid #ffffff; + opacity: 1; +} +.form__input input:focus { + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__input input:focus-visible { + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__input input:active { + color: #ffffff; + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__input input:hover + label { + color: #f0efe9; +} +.form__input input:focus + label { + color: #f0efe9; +} +.form__input input:focus-visible + label { + color: #f0efe9; +} +.form__input input:active + label { + color: #f0efe9; +} + +.form__textarea { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: reverse; + -ms-flex-direction: column-reverse; + flex-direction: column-reverse; + margin-bottom: 18px; +} +@media (max-width: 1230px) { + .form__textarea { + margin-bottom: 17px; + } +} +@media (max-width: 767px) { + .form__textarea { + margin-bottom: 21px; + } +} + +.form__textarea textarea { + min-height: 98px; + padding: 18px 25px; + font-size: 14px; + color: #000000; + border: 1px solid rgba(255, 255, 255, 0.3); + border-radius: 8px; +} +@media (max-width: 767px) { + .form__textarea textarea { + width: 100%; + min-width: unset; + min-height: 94px; + padding: 13px 25px; + } +} +.form__textarea textarea:disabled { + background: rgba(169, 175, 183, 0.2); + border: 1px solid rgba(169, 175, 183, 0.5); +} +.form__textarea textarea:hover { + border: 1px solid #ffffff; + opacity: 1; +} +.form__textarea textarea:focus { + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__textarea textarea:focus-visible { + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__textarea textarea:active { + color: #ffffff; + border: 1px solid #ffffff; + outline: none; + opacity: 1; +} +.form__textarea textarea:hover + p { + color: #f0efe9; +} +.form__textarea textarea:focus + p { + color: #f0efe9; +} +.form__textarea textarea:focus-visible + p { + color: #f0efe9; +} +.form__textarea textarea:active + p { + color: #f0efe9; +} + +.form__textarea p { + display: block; + margin: 0; + margin-bottom: 8px; + padding: 0; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 18px; + text-align: start; + color: rgba(240, 239, 233, 0.8); +} +@media (max-width: 1199px) { + .form__textarea p { + margin-bottom: 6px; + line-height: 20px; + } +} +@media (max-width: 767px) { + .form__textarea p { + margin-bottom: 12px; + font-size: 12px; + line-height: 14px; + } +} + +.form__checkbox-wrapper { + display: -ms-grid; + display: grid; + -ms-grid-columns: 1fr 1fr; + grid-template-columns: 1fr 1fr; + gap: 5px; + margin-left: 10px; +} +@media (max-width: 1230px) { + .form__checkbox-wrapper { + justify-items: center; + } +} +@media (max-width: 540px) { + .form__checkbox-wrapper { + -ms-grid-columns: 1fr; + grid-template-columns: 1fr; + gap: 0; + margin-bottom: 20px; + } +} + +.form__checkbox { + margin: 0; + margin-bottom: 20px; + padding: 0; +} + +.form__checkbox:last-of-type { + margin: 0; + margin-top: 2px; + margin-bottom: 39px; + padding: 0; +} +@media (max-width: 767px) { + .form__checkbox:last-of-type { + margin-top: 0; + margin-bottom: 12px; + } +} + +.form__checkbox-label { + font-style: normal; + font-weight: 400; + font-size: 16px; + line-height: 12px; + color: #ffffff; + opacity: 0.9; +} + +.form__checkbox label { + padding-left: 30px; +} + +.custom-toggle--checkbox .form__toggle-icon, +.custom-toggle--radio .form__toggle-icon { + top: 6px; + width: 20px; + height: 20px; + border: 1px solid rgba(255, 255, 255, 0.7); + border-radius: 2px; +} +@media (max-width: 767px) { + .custom-toggle--checkbox .form__toggle-icon, +.custom-toggle--radio .form__toggle-icon { + top: 12px; + } +} +@media (min-width: 321px) and (max-width: 767px) { + .custom-toggle--checkbox .form__toggle-icon, +.custom-toggle--radio .form__toggle-icon { + top: 6px; + } +} +.custom-toggle--checkbox .form__toggle-icon:hover, +.custom-toggle--radio .form__toggle-icon:hover { + border: 1px solid #ffffff; + outline: none; + -webkit-transition: 0.1s ease; + transition: 0.1s ease; +} +.custom-toggle--checkbox .form__toggle-icon:focus, +.custom-toggle--radio .form__toggle-icon:focus { + border: 1px solid #ffffff; + outline: none; + -webkit-transition: 0.1s ease; + transition: 0.1s ease; +} +.custom-toggle--checkbox .form__toggle-icon:focus-visible, +.custom-toggle--radio .form__toggle-icon:focus-visible { + border: 1px solid #ffffff; + outline: none; + -webkit-transition: 0.1s ease; + transition: 0.1s ease; +} +.custom-toggle--checkbox .form__toggle-icon:active, +.custom-toggle--radio .form__toggle-icon:active { + border: 1px solid #ffffff; + outline: none; + -webkit-transition: 0.1s ease; + transition: 0.1s ease; +} + +.custom-toggle--checkbox .form__toggle-icon::before, +.custom-toggle--radio .form__toggle-icon::before { + width: 10px; + height: 10px; +} + +.custom-toggle input:checked + .form__toggle-icon::before { + width: 10px; + height: 10px; + background-color: transparent; + background-image: url("../img/svg/check.svg"); + background-repeat: no-repeat; + background-size: 10px 10px; +} + +.custom-toggle input:checked + .form__toggle-icon { + background-color: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%); + border: 1px solid #ffffff; +} +.custom-toggle input:checked + .form__toggle-icon:hover { + background-color: transparent; +} +.custom-toggle input:checked + .form__toggle-icon:hover::before { + background-image: url("../img/svg/check-white.svg"); +} +.custom-toggle input:checked + .form__toggle-icon:focus { + background-color: transparent; +} +.custom-toggle input:checked + .form__toggle-icon:focus::before { + background-image: url("../img/svg/check-white.svg"); +} +.custom-toggle input:checked + .form__toggle-icon:focus-visible { + background-color: transparent; +} +.custom-toggle input:checked + .form__toggle-icon:focus-visible::before { + background-image: url("../img/svg/check-white.svg"); +} + +.is-invalid.custom-toggle--checkbox .form__toggle-icon, +.custom-toggle--radio .form__toggle-icon { + background: rgba(255, 94, 102, 0.2); + border: 1px solid #ff5e66; + opacity: 0.7; +} + +.form__button { + width: 100%; + margin: 0 auto; +} +@media (max-width: 1230px) { + .form__button { + width: 100%; + } +} +.form__button .span { + font-weight: 700; + text-transform: lowercase; +} + +.form__select-text { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 14px; + color: #f0efe9; +} + +.form__inner-img { + position: relative; +} + +.form__inner-img img { + position: fixed; + height: auto; + right: 0; + z-index: 2; + -o-object-fit: cover; + object-fit: cover; + max-width: 100%; + bottom: 0; +} +@media (max-width: 1230px) { + .form__inner-img img { + display: none; + } +} + +.page__body { + background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%); +} + +.btn { + display: -webkit-inline-box; + display: -ms-inline-flexbox; + display: inline-flex; + padding: 10px 20px; + color: #ffffff; + background-color: #2c39f2; + border: none; + cursor: pointer; + -webkit-transition: opacity 1s ease; + transition: opacity 1s ease; +} +.btn--red { + background-color: #ff1553; +} +.btn:disabled { + opacity: 0.5; + pointer-events: none; +} +@media (hover: hover) { + .btn:hover:not(.focus-visible) { + opacity: 0.8; + } +} +.btn.focus-visible:focus { + opacity: 0.8; +} + +.custom-input, +.custom-textarea { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + padding: 14px 0 20px; +} +@media screen and (max-width: 767px) { + .custom-input, +.custom-textarea { + width: 100%; + } +} +@media (max-width: 540px) { + .custom-input, +.custom-textarea { + padding: 14px 0 10px; + } +} +.custom-input label, +.custom-textarea label { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; +} +@media screen and (max-width: 767px) { + .custom-input label, +.custom-textarea label { + -webkit-box-align: start; + -ms-flex-align: start; + align-items: flex-start; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + } +} +.custom-input label input, +.custom-input label textarea, +.custom-textarea label input, +.custom-textarea label textarea { + -webkit-box-flex: 1; + -ms-flex-positive: 1; + flex-grow: 1; + max-width: 300px; + min-height: 48px; + margin-left: auto; + padding: 10px; + border: 2px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + outline: none; + -webkit-transition: border 0.3s ease; + transition: border 0.3s ease; +} +@media screen and (max-width: 767px) { + .custom-input label input, +.custom-input label textarea, +.custom-textarea label input, +.custom-textarea label textarea { + max-width: unset; + width: 100%; + } +} +.custom-input label input:hover, +.custom-input label textarea:hover, +.custom-textarea label input:hover, +.custom-textarea label textarea:hover { + border: 2px solid rgba(0, 0, 0, 0.5); +} +.custom-input label input:focus, +.custom-input label textarea:focus, +.custom-textarea label input:focus, +.custom-textarea label textarea:focus { + border: 2px solid rgba(0, 0, 0, 0.8); +} +@media screen and (max-width: 767px) { + .custom-input__label, +.custom-textarea__label { + margin: 0 0 18px 0; + } +} +.custom-input__error, +.custom-textarea__error { + position: absolute; + right: 0; + bottom: 35px; + color: #ff1553; + opacity: 0; + -webkit-transition: opacity 0.3s ease; + transition: opacity 0.3s ease; +} +@media screen and (max-width: 767px) { + .custom-input__error, +.custom-textarea__error { + bottom: 20px; + } +} +.custom-input.is-invalid input, +.custom-input.is-invalid textarea, +.custom-textarea.is-invalid input, +.custom-textarea.is-invalid textarea { + border-radius: 8px; + border: 1px solid #ff5e66; + background: rgba(255, 94, 102, 0.2); +} +.custom-input.is-invalid input:focus, .custom-input.is-invalid input:hover, +.custom-input.is-invalid textarea:focus, +.custom-input.is-invalid textarea:hover, +.custom-textarea.is-invalid input:focus, +.custom-textarea.is-invalid input:hover, +.custom-textarea.is-invalid textarea:focus, +.custom-textarea.is-invalid textarea:hover { + border-radius: 8px; + border: 1px solid #ff5e66; + background: rgba(255, 94, 102, 0.2); +} +.custom-input .input-message, +.custom-textarea .input-message { + position: absolute; + right: 0; + bottom: -5px; +} +.custom-input .input-message.is-invalid, +.custom-textarea .input-message.is-invalid { + color: #ff0000; +} +.custom-input .input-message.is-valid, +.custom-textarea .input-message.is-valid { + color: #15ab07; +} + +.custom-textarea { + width: 530px; +} +.custom-textarea::-webkit-input-placeholder { + color: #000000; +} +.custom-textarea::-moz-placeholder { + color: #000000; +} +.custom-textarea:-ms-input-placeholder { + color: #000000; +} +.custom-textarea::-ms-input-placeholder { + color: #000000; +} +.custom-textarea::placeholder { + color: #000000; +} + +.custom-select { + position: relative; + width: 300px; + padding: 14px 0 28px; + margin: 0 0 44px 0; + /* &.is-valid { + .custom-select__button { + border: 2px solid $color-eucalyptus; + + &:focus, + &:hover { + border: 2px solid rgba($color-eucalyptus, 0.5); + } + } + } */ +} +@media screen and (max-width: 767px) { + .custom-select { + padding: 4px 0 14px; + width: 100%; + } +} +.custom-select__label { + position: absolute; + top: 50%; + left: 10px; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: transform 0.3s ease, opacity 0.3s ease; + transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease; + pointer-events: none; +} +@media screen and (max-width: 767px) { + .custom-select__label { + -webkit-transform: translateY(calc(-50% - 5px)); + -ms-transform: translateY(calc(-50% - 5px)); + transform: translateY(calc(-50% - 5px)); + } +} +.custom-select__placeholder { + position: absolute; + top: 50%; + left: 10px; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: opacity 0.3s ease, -webkit-transform 0.3s ease; + transition: transform 0.3s ease, opacity 0.3s ease; + transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease; + pointer-events: none; +} +@media screen and (max-width: 767px) { + .custom-select__placeholder { + -webkit-transform: translateY(calc(-50% - 5px)); + -ms-transform: translateY(calc(-50% - 5px)); + transform: translateY(calc(-50% - 5px)); + } +} +.custom-select select { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + padding: 0; + overflow: hidden; + white-space: nowrap; + border: 0; + clip: rect(0 0 0 0); + -webkit-clip-path: inset(100%); + clip-path: inset(100%); +} +.custom-select__button { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + height: 48px; + padding: 5px 10px; + background-color: rgba(255, 255, 255, 0); + border: 2px solid rgba(0, 0, 0, 0.2); + border-radius: 5px; + outline: none; + cursor: pointer; + -webkit-transition: border 0.3s ease; + transition: border 0.3s ease; +} +.custom-select__button:hover { + border: 2px solid rgba(0, 0, 0, 0.5); +} +.custom-select__button:focus { + border: 2px solid rgba(0, 0, 0, 0.8); +} +.custom-select__button:disabled { + pointer-events: none; + opacity: 0.3; +} +.custom-select__list { + position: absolute; + bottom: 10px; + z-index: 1; + width: 100%; + max-height: 100px; + margin: 0; + padding: 0; + overflow-y: auto; + list-style: none; + background-color: #ffffff; + border: 2px solid #000000; + -webkit-transform: translateY(100%); + -ms-transform: translateY(100%); + transform: translateY(100%); + visibility: hidden; + opacity: 0; + -webkit-transition: visibility 0.3s ease, opacity 0.3s ease; + transition: visibility 0.3s ease, opacity 0.3s ease; +} +.custom-select__item { + padding: 5px; + outline: none; + cursor: pointer; + -webkit-transition: background-color 0.3s ease; + transition: background-color 0.3s ease; +} +.custom-select__item[aria-selected=true] { + background-color: rgba(0, 0, 0, 0.2); +} +@media (hover: hover) { + .custom-select__item[aria-selected=true]:hover:not(.focus-visible) { + background-color: rgba(0, 0, 0, 0.2); + } +} +.custom-select__item[aria-selected=true].focus-visible:focus { + background-color: rgba(0, 0, 0, 0.2); +} +@media (hover: hover) { + .custom-select__item:hover:not(.focus-visible) { + background-color: rgba(0, 0, 0, 0.4); + } +} +.custom-select__item.focus-visible:focus { + background-color: rgba(0, 0, 0, 0.4); +} +.custom-select__error { + position: absolute; + bottom: -15px; + left: 0; + color: #ff1553; + opacity: 0; + -webkit-transition: opacity 0.1s ease; + transition: opacity 0.1s ease; +} +.custom-select__text { + font-size: 20px; + line-height: 24px; + -ms-flex-negative: 0; + flex-shrink: 0; + width: 80%; + overflow: hidden; + text-align: left; + white-space: nowrap; + text-overflow: ellipsis; + opacity: 0; + -webkit-transition: opacity 0.3s ease 0.1s; + transition: opacity 0.3s ease 0.1s; +} +.custom-select__text br { + display: none; +} +.custom-select__icon { + -ms-flex-negative: 0; + flex-shrink: 0; + width: 20px; + height: 10px; + margin-left: auto; + background-color: #000000; + -webkit-transition: -webkit-transform 0.3s ease; + transition: -webkit-transform 0.3s ease; + transition: transform 0.3s ease; + transition: transform 0.3s ease, -webkit-transform 0.3s ease; + -webkit-clip-path: polygon(100% 0, 100% 20%, 50% 100%, 0 20%, 0 0, 50% 80%); + clip-path: polygon(100% 0, 100% 20%, 50% 100%, 0 20%, 0 0, 50% 80%); +} +.custom-select.is-disabled { + pointer-events: none; +} +.custom-select.is-disabled .custom-select__list { + display: none; +} +.custom-select.open-up .custom-select__list { + bottom: auto; + top: 0; + -webkit-transform: translateY(calc(-100% + 10px)); + -ms-transform: translateY(calc(-100% + 10px)); + transform: translateY(calc(-100% + 10px)); +} +.custom-select.is-open .custom-select__list { + visibility: visible; + opacity: 1; +} +.custom-select.is-open .custom-select__icon { + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.custom-select.is-open .custom-select__label { + opacity: 0; +} +.custom-select.not-empty .custom-select__text { + opacity: 1; +} +.custom-select.not-empty .custom-select__label { + opacity: 0; +} +.custom-select.not-empty .custom-select__placeholder { + opacity: 0; +} +.custom-select.is-invalid .custom-select__error { + opacity: 1; +} +.custom-select.is-invalid .custom-select__button { + border: 2px solid #ff1553; +} +.custom-select.is-invalid .custom-select__button:focus, .custom-select.is-invalid .custom-select__button:hover { + border: 2px solid rgba(255, 21, 83, 0.5); +} +.custom-select--placeholder .custom-select__label { + -webkit-transform: translateY(calc(-50% - 40px)); + -ms-transform: translateY(calc(-50% - 40px)); + transform: translateY(calc(-50% - 40px)); + opacity: 1; +} +.custom-select--placeholder.is-open .custom-select__label { + opacity: 1; +} +.custom-select--placeholder.not-empty .custom-select__label { + opacity: 1; +} +.custom-select.slide-up.not-empty .custom-select__label, .custom-select.slide-up.is-open .custom-select__label { + -webkit-transform: translateY(calc(-50% - 40px)); + -ms-transform: translateY(calc(-50% - 40px)); + transform: translateY(calc(-50% - 40px)); + opacity: 1; +} +.custom-select.slide-up.not-empty .custom-select__text, .custom-select.slide-up.is-open .custom-select__text { + opacity: 1; +} +.custom-select .input-message { + position: absolute; + right: 0; + bottom: -5px; +} +.custom-select .input-message.is-invalid { + color: #ff0000; +} +.custom-select .input-message.is-valid { + color: #15ab07; +} + +.custom-toggle { + position: relative; + font-size: 18px; + line-height: 27px; + font-weight: 300; + display: -webkit-box; + display: -ms-flexbox; + display: flex; +} +@media screen and (max-width: 767px) { + .custom-toggle { + width: 100%; + } +} +.custom-toggle input { + position: absolute; + width: 1px; + height: 1px; + margin: -1px; + clip: rect(0 0 0 0); +} +.custom-toggle label { + position: relative; + padding-left: 52px; + cursor: pointer; +} +.custom-toggle label span { + margin-bottom: 0; + margin-left: 0; +} +.custom-toggle--checkbox .custom-toggle__icon { + position: absolute; + top: 0; + left: 0; + width: 28px; + height: 28px; + border: 1.5px solid #ffffff; + -webkit-transition: border 0.3s ease; + transition: border 0.3s ease; + /* &::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + background-image: url('../../img/svg/tick.svg'); + background-position: center; + background-repeat: no-repeat; + }*/ +} +.custom-toggle--radio .custom-toggle__icon { + position: absolute; + top: 0; + left: 0; + width: 28px; + height: 28px; + border: 1px solid #ffffff; + border-radius: 50%; + -webkit-transition: border 0.3s ease; + transition: border 0.3s ease; + /*&::before { + content: ""; + position: absolute; + top: 50%; + left: 50%; + + width: 20px; + height: 20px; + + background-image: url('../../img/svg/tick.svg'); + background-position: center; + background-repeat: no-repeat; + }*/ +} +.custom-toggle input:checked + .custom-toggle__icon { + border: 1.5px solid #ffffff; + background: url("../img/svg/tick.svg"); + background-position: center; + background-repeat: no-repeat; +} +.custom-toggle input:checked + .custom-toggle__icon::before { + background: url("../img/svg/tick.svg"); + background-position: center; + background-repeat: no-repeat; +} +.custom-toggle .input-message { + position: absolute; + right: 0; + bottom: -5px; +} +.custom-toggle .input-message.is-invalid { + color: #ff0000; +} +.custom-toggle .input-message.is-valid { + color: #15ab07; +} + +.custom-toggle__svg { + fill: #000000; + color: #000000; +} + +.general-button { + display: block; + margin: 0 auto; + padding: 20px 30px; + color: #316dc2; + word-break: break-all; + background-color: #000000; + border: 1px solid #000000; + border-radius: 30px; + cursor: pointer; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + gap: 29px; + -ms-grid-columns: 1fr 46px; + grid-template-columns: 1fr 46px; +} +@media (max-width: 767px) { + .general-button { + width: 100%; + padding: 20px 30px; + gap: 19px; + -ms-grid-columns: 1fr 34px; + grid-template-columns: 1fr 34px; + } +} +.general-button:hover { + color: #ffffff; + background-color: #000000; +} +.general-button:focus { + color: #ffffff; + background-color: #000000; + outline: none; +} +.general-button:focus-visible { + color: #ffffff; + background-color: #000000; + outline: none; +} +.general-button:active { + color: rgba(255, 255, 255, 0.7); + background-color: #000000; + outline: none; +} + +.general-button span { + max-width: 280px; + margin: 0; + padding: 0; + font-weight: 700; + font-size: 18px; + line-height: 14px; + letter-spacing: 0.28px; +} +@media (max-width: 767px) { + .general-button span { + font-size: 16px; + line-height: 12px; + letter-spacing: 0.24px; + } +} + +.general-button__icon-wrapper { + width: 46px; + height: 46px; + background-color: #000000; + border-radius: 50%; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + stroke: #ffffff; + color: #ffffff; +} +@media (max-width: 767px) { + .general-button__icon-wrapper { + width: 34px; + height: 34px; + } +} + +.general-button:hover .general-button__icon-wrapper { + background-color: #ffffff; + stroke: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + color: #316dc2; + -webkit-transition: 1; + transition: 1; +} + +.general-button:focus .general-button__icon-wrapper { + background-color: #ffffff; + stroke: #316dc2; + color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.general-button:focus-visible .general-button__icon-wrapper { + background-color: #ffffff; + stroke: #316dc2; + color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.general-button:active .general-button__icon-wrapper { + background-color: #ffffff; + stroke: rgba(49, 109, 194, 0.7); + color: rgba(49, 109, 194, 0.7); + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); +} + +.general-button__icon { + -ms-flex-item-align: center; + -ms-grid-row-align: center; + align-self: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + margin: 0 auto; + height: 22px; + width: 22px; + right: -5px; + position: relative; + top: 5px; +} + +.general-button--dark { + color: #ffffff; + max-width: 270px; + text-align: center; + padding: 20px 30px; + border-radius: 20px; + -ms-grid-columns: 1fr; + grid-template-columns: 1fr; + background-color: #000000; + border: 1px solid #000000; +} +.general-button--dark:hover { + color: #000000; + fill: #ffffff; + background-color: #ffffff; +} +.general-button--dark:focus { + color: #000000; + fill: #ffffff; + background-color: #ffffff; + outline: none; +} +.general-button--dark:focus-visible { + color: #ffffff; + fill: #ffffff; + background-color: #000000; + outline: none; +} +.general-button--dark:active { + color: #ffffff; + fill: #000000; + background-color: #000000; + outline: none; +} + +.general-button--dark .general-button__icon-wrapper { + background-color: #ffffff; + stroke: #316dc2; + color: #316dc2; +} + +.general-button--dark:hover .general-button__icon-wrapper { + background-color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + stroke: #ffffff; + color: #ffffff; +} + +.general-button--dark:focus .general-button__icon-wrapper { + background-color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + stroke: #ffffff; + color: #ffffff; +} + +.general-button--dark:focus-visible .general-button__icon-wrapper { + background-color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + stroke: #ffffff; + color: #ffffff; +} + +.general-button--dark:active .general-button__icon-wrapper { + background-color: #316dc2; + -webkit-transform: rotate(45deg); + -ms-transform: rotate(45deg); + transform: rotate(45deg); + stroke: rgba(255, 255, 255, 0.7); + color: rgba(255, 255, 255, 0.7); +} + +.footer { + background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%); + color: beige; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1000; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: vertical; + -webkit-box-direction: normal; + -ms-flex-direction: column; + flex-direction: column; + overflow-y: auto; + -webkit-overflow-scrolling: touch; + background-color: rgba(0, 0, 0, 0.8); + -webkit-transform: scale(1.2); + -ms-transform: scale(1.2); + transform: scale(1.2); + visibility: hidden; + opacity: 0; + -webkit-transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1); + transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1), -webkit-transform 0.6s cubic-bezier(0.55, 0, 0.1, 1); + pointer-events: none; + -ms-overflow-style: none; + scrollbar-width: none; +} +.modal::-webkit-scrollbar { + display: none; +} +.modal__wrapper { + position: relative; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -ms-flex-negative: 0; + flex-shrink: 0; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + width: 100%; + min-height: 100%; + padding: 60px 40px; +} +@media (max-width: 767px) { + .modal__wrapper { + padding: 60px 16px; + } +} +.modal__overlay { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + cursor: pointer; +} +.modal__content { + position: relative; + width: 600px; + padding: 40px; + background-color: #ffffff; +} +@media (max-width: 767px) { + .modal__content { + width: 100%; + padding: 20px; + } +} +.modal__close-btn { + position: absolute; + top: 22px; + right: 22px; + z-index: 1; + width: 40px; + height: 40px; + padding: 0; + background: rgba(255, 255, 255, 0); + border: none; + cursor: pointer; +} +.modal--responsive .modal__content { + width: 100%; +} +.modal--fit-content .modal__content { + width: auto; +} +@media (max-width: 767px) { + .modal--fit-content .modal__content { + width: 100%; + } +} +.modal--no-scale { + -webkit-transform: none; + -ms-transform: none; + transform: none; +} +.modal--preload { + -webkit-transition: none; + transition: none; +} +.modal.is-active { + -webkit-transform: scale(1); + -ms-transform: scale(1); + transform: scale(1); + visibility: visible; + opacity: 1; + pointer-events: auto; +} + +.alert { + color: #000000; + padding: 20px; + background-color: #ffffff; + font-size: 24px; + font-weight: 600; + margin-bottom: 20px; + text-align: center; + border-radius: 20px; +} + +.alert__button-close { + position: absolute; + top: 30px; + right: 30px; + width: 22px; + height: 22px; + padding: 0; + background-color: transparent; + border: none; + cursor: pointer; +} +@media (max-width: 767px) { + .alert__button-close { + top: 18px; + right: 23px; + width: 12px; + height: 12px; + } +} + +@media (max-width: 767px) { + .alert__icon { + width: 12px; + height: 12px; + } +} + +/* @mixin hover-focus { + @media (hover: hover) { + &:hover:not(.focus-visible) { + @content; + } + } + + &.focus-visible:focus { + @content; + } + } +*/ +/* @include hover-focus { + opacity: 0.8; + } +*/ +/*@mixin hover { + @media (hover: hover) { + &:hover:not(.focus-visible) { + @content; + } + } + } +*/ +/*@mixin focus { + &.focus-visible:focus { + @content; + } + } +*/ +/*@mixin active { + &.focus-visible:active { + @content; + } + } +*/ \ No newline at end of file diff --git a/build/css/style.min.css b/build/css/style.min.css new file mode 100644 index 000000000..19e4e4ff8 --- /dev/null +++ b/build/css/style.min.css @@ -0,0 +1,4 @@ +@charset "UTF-8"; +/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */ +html{-webkit-text-size-adjust:100%}details,main{display:block}h1{margin:.67em 0;font-size:2em}hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace}a{background-color:transparent;color:#000;text-decoration:none}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;border-bottom:none}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{margin:0;font-size:100%;line-height:1.15;font-family:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{display:table;max-width:100%;color:inherit;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto;resize:none}[type=checkbox],[type=radio],legend{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:textfield}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}summary{display:list-item}.custom-select__text br,[hidden],template{display:none}@font-face{font-style:normal;font-weight:400;font-family:"Montserrat";font-display:swap;src:local("Montserrat"),url(../fonts/montserrat-regular.woff2) format("woff2")}@font-face{font-style:normal;font-weight:500;font-family:"Montserrat";font-display:swap;src:local("Montserrat"),url(../fonts/montserrat-medium.woff2) format("woff2")}@font-face{font-style:normal;font-weight:700;font-family:"Montserrat";font-display:swap;src:local("Montserrat"),url(../fonts/montserrat-bold.woff2) format("woff2")}*,::after,::before{-webkit-box-sizing:border-box;box-sizing:border-box}body,html{margin:0;padding:0;min-height:100vh}html{font-style:normal;font-weight:400;font-size:16px;line-height:24px;font-family:"Montserrat","Arial",sans-serif;color:#000;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{width:100%;height:100%;background-color:#fff}img,video{display:block;max-width:100%;height:auto}input:-webkit-autofill{-webkit-box-shadow:inset 0 0 0 1000px #fff;box-shadow:inset 0 0 0 1000px #fff;-webkit-text-fill-color:#000}input,select,textarea{border-radius:0}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{opacity:1}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1}input:-ms-input-placeholder,textarea:-ms-input-placeholder{opacity:1}input::-ms-input-placeholder,textarea::-ms-input-placeholder{opacity:1}input::placeholder,textarea::placeholder{opacity:1}input:invalid,textarea:invalid{-webkit-box-shadow:none;box-shadow:none}input::-ms-clear,input::-ms-reveal{display:none}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;appearance:none}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{margin:0;-webkit-appearance:none;appearance:none}input[type=number]{-webkit-appearance:textfield;-moz-appearance:textfield;appearance:textfield}input:matches([type=email],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=url]),select,textarea{-webkit-appearance:none;-moz-appearance:none;appearance:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:100vh;min-height:calc(100*var(--vh, 1vh))}.wrapper .footer,.wrapper .header{-ms-flex-negative:0;flex-shrink:0}.wrapper main{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.custom-select select,.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;white-space:nowrap;border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(100%);clip-path:inset(100%)}.scroll-lock-ios{position:fixed;overflow:hidden}.scroll-lock{overflow:hidden}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}.no-scrollbar::-webkit-scrollbar{display:none}.no-transition{-webkit-transition:none!important;transition:none!important}.js-focus-visible :focus:not(.focus-visible){outline:0}.container{width:100%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:1440px;padding:0 0 0 70px;background-image:linear-gradient(200deg,#5413a7 0,#9c55f5 75%);margin:0}@media (max-width:1230px){.container{padding:0 70px}}@media (max-width:540px){.container{padding:0 30px}}.header{color:#fff;padding:20px 15px 30px}.header__logo-link{font-size:26px;font-weight:800;color:#000}.form{width:100%}.form__inner{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;gap:80px}@media (max-width:1230px){.form__inner{-ms-grid-columns:1fr;grid-template-columns:1fr;gap:0}}.form__title{font-size:48px;font-weight:800;line-height:normal;color:#fff;margin-top:0;margin-bottom:20px}@media (max-width:1230px){.form__title{text-align:center}}@media (max-width:767px){.form__title{font-size:26px;margin-bottom:17px}}.form__link{padding:13px;border:1px solid #000;background-color:transparent;border-radius:20px;display:block;position:relative;max-width:340px}@media (max-width:1230px){.form__link{margin:0 auto}}.form__link:hover{color:#fff;border:1px solid #fff}.form__link:hover .form__link-text{color:#fff}.form__link:focus{border:1px solid #fff;fill:#fff;color:#fff}.form__link:focus .form__link-text{color:#fff}.form__link:focus-visible{border:1px solid #fff;fill:#fff;color:#fff}.form__link:focus-visible .form__link-text{color:#fff}.form__link:active{border:1px solid #fff}.form__link:active .form__link-text{color:#fff}.form__link .form__link-icon:hover,.form__link-icon:hover,.form__link:active{fill:#fff;color:#fff}.form__link .form__link-icon:focus,.form__link-icon:focus{fill:#fff}.form__link .form__link-icon:focus-visible,.form__link-icon:focus-visible{fill:#fff}.form__link .form__link-icon:active,.form__link-icon:active{fill:#fff}.form__link-icon{fill:#000;background-position:center;background-repeat:no-repeat;width:24px;height:24px;position:absolute;display:block}.form__link-text,.form__text{font-size:18px;font-weight:400}.form__link-text{color:#000;padding-left:35px;margin:0}.form__text{line-height:normal;color:#fff;margin-top:10px;margin-bottom:20px}@media (max-width:1230px){.form__text{text-align:center}}@media (max-width:767px){.form__text{font-size:14px;margin-bottom:7px}}.form__wrapprer{max-width:1440px;margin:0 auto;padding:117px 6.9% 30px}@media (max-width:1199px){.form__wrapprer{padding:97px 45px 30px}}@media (max-width:767px){.form__wrapprer{padding:67px 15px 14px}}@media (min-width:1440px){.form__wrapprer{padding-right:100px;padding-left:100px}}.form__content{position:relative}.form__inner-wrapper-grid{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;gap:20px}@media (max-width:540px){.form__inner-wrapper-grid{-ms-grid-columns:1fr;grid-template-columns:1fr;gap:0}}.form__inner-wrapper{margin-bottom:30px}.form__input,.form__input label{padding:0;font-style:normal;font-weight:400;font-size:14px;line-height:18px}.form__input{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;width:100%;margin:0;color:#f0efe9}@media (max-width:1230px){.form__input{margin-bottom:15px}}@media (max-width:767px){.form__input{margin-bottom:20px}}@media (max-width:540px){.form__input{margin-bottom:0}}.form__input label{display:block;margin:0 0 8px;color:rgba(240,239,233,.8)}@media (max-width:1199px){.form__input label{margin-bottom:7px;line-height:20px}}@media (max-width:1230px){.form__input label{margin-bottom:12px;font-size:12px;line-height:14px}}.custom-textarea::-webkit-input-placeholder,.form__input input::-webkit-input-placeholder{color:#000}.custom-textarea::-moz-placeholder,.form__input input::-moz-placeholder{color:#000}.form__input input:-ms-input-placeholder{color:#000}.custom-textarea::-ms-input-placeholder,.form__input input::-ms-input-placeholder{color:#000}.custom-textarea::placeholder,.form__input input::placeholder{color:#000}.form__input input{padding:16px 25px;font-size:14px;color:#000;border:1px solid rgba(255,255,255,.3);border-radius:8px}@media (max-width:1230px){.form__input input{padding:16px 25px}}.form__input input:disabled,.form__textarea textarea:disabled{background:rgba(169,175,183,.2);border:1px solid rgba(169,175,183,.5)}.form__input input:hover,.form__textarea textarea:hover{border:1px solid #fff;opacity:1}.form__input input:focus,.form__textarea textarea:focus{border:1px solid #fff;outline:0;opacity:1}.form__input input:focus-visible,.form__textarea textarea:focus-visible{border:1px solid #fff;outline:0;opacity:1}.form__input input:active,.form__textarea textarea:active{color:#fff;border:1px solid #fff;outline:0;opacity:1}.form__input input:hover+label{color:#f0efe9}.form__input input:focus+label{color:#f0efe9}.form__input input:focus-visible+label{color:#f0efe9}.form__input input:active+label,.form__textarea textarea:hover+p{color:#f0efe9}.form__textarea{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:reverse;-ms-flex-direction:column-reverse;flex-direction:column-reverse;margin-bottom:18px}@media (max-width:1230px){.form__textarea{margin-bottom:17px}}@media (max-width:767px){.form__textarea{margin-bottom:21px}}.form__textarea textarea{min-height:98px;padding:18px 25px;font-size:14px;color:#000;border:1px solid rgba(255,255,255,.3);border-radius:8px}@media (max-width:767px){.form__textarea textarea{width:100%;min-width:unset;min-height:94px;padding:13px 25px}}.form__textarea textarea:focus+p{color:#f0efe9}.form__textarea textarea:focus-visible+p{color:#f0efe9}.form__textarea textarea:active+p{color:#f0efe9}.form__textarea p{display:block;margin:0 0 8px;padding:0;font-style:normal;font-weight:400;font-size:14px;line-height:18px;text-align:start;color:rgba(240,239,233,.8)}@media (max-width:1199px){.form__textarea p{margin-bottom:6px;line-height:20px}}@media (max-width:767px){.form__textarea p{margin-bottom:12px;font-size:12px;line-height:14px}}.form__checkbox-wrapper{display:-ms-grid;display:grid;-ms-grid-columns:1fr 1fr;grid-template-columns:1fr 1fr;gap:5px;margin-left:10px}@media (max-width:1230px){.form__checkbox-wrapper{justify-items:center}}@media (max-width:540px){.form__checkbox-wrapper{-ms-grid-columns:1fr;grid-template-columns:1fr;gap:0;margin-bottom:20px}}.form__checkbox{margin:0 0 20px;padding:0}.form__checkbox:last-of-type{margin:2px 0 39px;padding:0}@media (max-width:767px){.form__checkbox:last-of-type{margin-top:0;margin-bottom:12px}}.form__checkbox-label{font-style:normal;font-weight:400;font-size:16px;line-height:12px;color:#fff;opacity:.9}.form__checkbox label{padding-left:30px}.custom-toggle--checkbox .form__toggle-icon,.custom-toggle--radio .form__toggle-icon{top:6px;width:20px;height:20px;border:1px solid rgba(255,255,255,.7);border-radius:2px}@media (max-width:767px){.custom-toggle--checkbox .form__toggle-icon,.custom-toggle--radio .form__toggle-icon{top:12px}}@media (min-width:321px) and (max-width:767px){.custom-toggle--checkbox .form__toggle-icon,.custom-toggle--radio .form__toggle-icon{top:6px}}.custom-toggle--checkbox .form__toggle-icon:hover,.custom-toggle--radio .form__toggle-icon:hover{border:1px solid #fff;outline:0;-webkit-transition:.1s ease;transition:.1s ease}.custom-toggle--checkbox .form__toggle-icon:focus,.custom-toggle--radio .form__toggle-icon:focus{border:1px solid #fff;outline:0;-webkit-transition:.1s ease;transition:.1s ease}.custom-toggle--checkbox .form__toggle-icon:focus-visible,.custom-toggle--radio .form__toggle-icon:focus-visible{border:1px solid #fff;outline:0;-webkit-transition:.1s ease;transition:.1s ease}.custom-toggle--checkbox .form__toggle-icon:active,.custom-toggle--radio .form__toggle-icon:active{border:1px solid #fff;outline:0;-webkit-transition:.1s ease;transition:.1s ease}.custom-toggle--checkbox .form__toggle-icon::before,.custom-toggle--radio .form__toggle-icon::before{width:10px;height:10px}.custom-toggle input:checked+.form__toggle-icon::before{width:10px;height:10px;background-color:transparent;background-image:url(../img/svg/check.svg);background-repeat:no-repeat;background-size:10px 10px}.custom-toggle input:checked+.form__toggle-icon{background-color:linear-gradient(200deg,#5413a7 0%,#9c55f5 75%);border:1px solid #fff}.custom-toggle input:checked+.form__toggle-icon:hover{background-color:transparent}.custom-toggle input:checked+.form__toggle-icon:hover::before{background-image:url(../img/svg/check-white.svg)}.custom-toggle input:checked+.form__toggle-icon:focus{background-color:transparent}.custom-toggle input:checked+.form__toggle-icon:focus::before{background-image:url(../img/svg/check-white.svg)}.custom-toggle input:checked+.form__toggle-icon:focus-visible{background-color:transparent}.custom-toggle input:checked+.form__toggle-icon:focus-visible::before{background-image:url(../img/svg/check-white.svg)}.custom-toggle--radio .form__toggle-icon,.is-invalid.custom-toggle--checkbox .form__toggle-icon{background:rgba(255,94,102,.2);border:1px solid #ff5e66;opacity:.7}.form__button{width:100%;margin:0 auto}@media (max-width:1230px){.form__button{width:100%}}.form__button .span{font-weight:700;text-transform:lowercase}.form__select-text{font-style:normal;font-weight:400;font-size:14px;line-height:14px;color:#f0efe9}.form__inner-img{position:relative}.form__inner-img img{position:fixed;height:auto;right:0;z-index:2;-o-object-fit:cover;object-fit:cover;max-width:100%;bottom:0}@media (max-width:1230px){.form__inner-img img{display:none}}.page__body{background-image:linear-gradient(200deg,#5413a7 0,#9c55f5 75%)}.btn{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;padding:10px 20px;color:#fff;background-color:#2c39f2;border:0;cursor:pointer;-webkit-transition:opacity 1s ease;transition:opacity 1s ease}.btn--red{background-color:#ff1553}.btn:disabled{opacity:.5;pointer-events:none}@media (hover:hover){.btn:hover:not(.focus-visible){opacity:.8}}.btn.focus-visible:focus{opacity:.8}.custom-input,.custom-textarea{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;padding:14px 0 20px}@media screen and (max-width:767px){.custom-input,.custom-textarea{width:100%}}@media (max-width:540px){.custom-input,.custom-textarea{padding:14px 0 10px}}.custom-input label,.custom-textarea label{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%}@media screen and (max-width:767px){.custom-input label,.custom-textarea label{-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.custom-input label input,.custom-input label textarea,.custom-textarea label input,.custom-textarea label textarea{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;max-width:300px;min-height:48px;margin-left:auto;padding:10px;border:2px solid rgba(0,0,0,.2);border-radius:5px;outline:0;-webkit-transition:border .3s ease;transition:border .3s ease}@media screen and (max-width:767px){.custom-input label input,.custom-input label textarea,.custom-textarea label input,.custom-textarea label textarea{max-width:unset;width:100%}}.custom-input label input:hover,.custom-input label textarea:hover,.custom-textarea label input:hover,.custom-textarea label textarea:hover{border:2px solid rgba(0,0,0,.5)}.custom-input label input:focus,.custom-input label textarea:focus,.custom-textarea label input:focus,.custom-textarea label textarea:focus{border:2px solid rgba(0,0,0,.8)}@media screen and (max-width:767px){.custom-input__label,.custom-textarea__label{margin:0 0 18px}}.custom-input__error,.custom-textarea__error{position:absolute;right:0;bottom:35px;color:#ff1553;opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}@media screen and (max-width:767px){.custom-input__error,.custom-textarea__error{bottom:20px}}.custom-input.is-invalid input,.custom-input.is-invalid textarea,.custom-textarea.is-invalid input,.custom-textarea.is-invalid textarea{border-radius:8px;border:1px solid #ff5e66;background:rgba(255,94,102,.2)}.custom-input.is-invalid input:focus,.custom-input.is-invalid input:hover,.custom-input.is-invalid textarea:focus,.custom-input.is-invalid textarea:hover,.custom-textarea.is-invalid input:focus,.custom-textarea.is-invalid input:hover,.custom-textarea.is-invalid textarea:focus,.custom-textarea.is-invalid textarea:hover{border-radius:8px;border:1px solid #ff5e66;background:rgba(255,94,102,.2)}.custom-input .input-message,.custom-textarea .input-message{position:absolute;right:0;bottom:-5px}.custom-input .input-message.is-invalid,.custom-textarea .input-message.is-invalid{color:red}.custom-input .input-message.is-valid,.custom-textarea .input-message.is-valid{color:#15ab07}.custom-textarea{width:530px}.custom-textarea:-ms-input-placeholder{color:#000}.custom-select{position:relative;width:300px;padding:14px 0 28px;margin:0 0 44px}@media screen and (max-width:767px){.custom-select{padding:4px 0 14px;width:100%}}.custom-select__label{position:absolute;top:50%;left:10px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease;pointer-events:none}@media screen and (max-width:767px){.custom-select__label{-webkit-transform:translateY(calc(-50% - 5px));-ms-transform:translateY(calc(-50% - 5px));transform:translateY(calc(-50% - 5px))}}.custom-select__placeholder{position:absolute;top:50%;left:10px;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);-webkit-transition:opacity .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,opacity .3s ease;transition:transform .3s ease,opacity .3s ease,-webkit-transform .3s ease;pointer-events:none}@media screen and (max-width:767px){.custom-select__placeholder{-webkit-transform:translateY(calc(-50% - 5px));-ms-transform:translateY(calc(-50% - 5px));transform:translateY(calc(-50% - 5px))}}.custom-select__button{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;height:48px;padding:5px 10px;background-color:transparent;border:2px solid rgba(0,0,0,.2);border-radius:5px;outline:0;cursor:pointer;-webkit-transition:border .3s ease;transition:border .3s ease}.custom-select__button:hover{border:2px solid rgba(0,0,0,.5)}.custom-select__button:focus{border:2px solid rgba(0,0,0,.8)}.custom-select__button:disabled{pointer-events:none;opacity:.3}.custom-select__list{position:absolute;bottom:10px;z-index:1;width:100%;max-height:100px;margin:0;padding:0;overflow-y:auto;list-style:none;background-color:#fff;border:2px solid #000;-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%);visibility:hidden;opacity:0;-webkit-transition:visibility .3s ease,opacity .3s ease;transition:visibility .3s ease,opacity .3s ease}.custom-select__item{padding:5px;outline:0;cursor:pointer;-webkit-transition:background-color .3s ease;transition:background-color .3s ease}.custom-select__item[aria-selected=true]{background-color:rgba(0,0,0,.2)}@media (hover:hover){.custom-select__item[aria-selected=true]:hover:not(.focus-visible){background-color:rgba(0,0,0,.2)}}.custom-select__item[aria-selected=true].focus-visible:focus{background-color:rgba(0,0,0,.2)}@media (hover:hover){.custom-select__item:hover:not(.focus-visible){background-color:rgba(0,0,0,.4)}}.custom-select__item.focus-visible:focus{background-color:rgba(0,0,0,.4)}.custom-select__error{position:absolute;bottom:-15px;left:0;color:#ff1553;opacity:0;-webkit-transition:opacity .1s ease;transition:opacity .1s ease}.custom-select__text{font-size:20px;line-height:24px;-ms-flex-negative:0;flex-shrink:0;width:80%;overflow:hidden;text-align:left;white-space:nowrap;text-overflow:ellipsis;opacity:0;-webkit-transition:opacity .3s ease .1s;transition:opacity .3s ease .1s}.custom-select__icon{-ms-flex-negative:0;flex-shrink:0;width:20px;height:10px;margin-left:auto;background-color:#000;-webkit-transition:-webkit-transform .3s ease;transition:transform .3s ease;transition:transform .3s ease,-webkit-transform .3s ease;-webkit-clip-path:polygon(100% 0,100% 20%,50% 100%,0 20%,0 0,50% 80%);clip-path:polygon(100% 0,100% 20%,50% 100%,0 20%,0 0,50% 80%)}.custom-select.is-disabled{pointer-events:none}.custom-select.is-disabled .custom-select__list{display:none}.custom-select.open-up .custom-select__list{bottom:auto;top:0;-webkit-transform:translateY(calc(-100% + 10px));-ms-transform:translateY(calc(-100% + 10px));transform:translateY(calc(-100% + 10px))}.custom-select.is-open .custom-select__list{visibility:visible;opacity:1}.custom-select.is-open .custom-select__icon{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.custom-select.is-open .custom-select__label{opacity:0}.custom-select.not-empty .custom-select__text{opacity:1}.custom-select.not-empty .custom-select__label,.custom-select.not-empty .custom-select__placeholder{opacity:0}.custom-select.is-invalid .custom-select__error{opacity:1}.custom-select.is-invalid .custom-select__button{border:2px solid #ff1553}.custom-select.is-invalid .custom-select__button:focus,.custom-select.is-invalid .custom-select__button:hover{border:2px solid rgba(255,21,83,.5)}.custom-select--placeholder .custom-select__label,.custom-select.slide-up.is-open .custom-select__label,.custom-select.slide-up.not-empty .custom-select__label{-webkit-transform:translateY(calc(-50% - 40px));-ms-transform:translateY(calc(-50% - 40px));transform:translateY(calc(-50% - 40px));opacity:1}.custom-select--placeholder.is-open .custom-select__label,.custom-select--placeholder.not-empty .custom-select__label,.custom-select.slide-up.is-open .custom-select__text,.custom-select.slide-up.not-empty .custom-select__text{opacity:1}.custom-select .input-message{position:absolute;right:0;bottom:-5px}.custom-select .input-message.is-invalid{color:red}.custom-select .input-message.is-valid{color:#15ab07}.custom-toggle{position:relative;font-size:18px;line-height:27px;font-weight:300;display:-webkit-box;display:-ms-flexbox;display:flex}@media screen and (max-width:767px){.custom-toggle{width:100%}}.custom-toggle input{position:absolute;width:1px;height:1px;margin:-1px;clip:rect(0 0 0 0)}.custom-toggle label{position:relative;padding-left:52px;cursor:pointer}.custom-toggle label span{margin-bottom:0;margin-left:0}.custom-toggle--checkbox .custom-toggle__icon,.custom-toggle--radio .custom-toggle__icon{position:absolute;top:0;left:0;width:28px;height:28px;border:1.5px solid #fff;-webkit-transition:border .3s ease;transition:border .3s ease}.custom-toggle--radio .custom-toggle__icon{border:1px solid #fff;border-radius:50%}.custom-toggle input:checked+.custom-toggle__icon{border:1.5px solid #fff}.custom-toggle input:checked+.custom-toggle__icon,.custom-toggle input:checked+.custom-toggle__icon::before{background:url(../img/svg/tick.svg);background-position:center;background-repeat:no-repeat}.custom-toggle .input-message{position:absolute;right:0;bottom:-5px}.custom-toggle .input-message.is-invalid{color:red}.custom-toggle .input-message.is-valid{color:#15ab07}.custom-toggle__svg{fill:#000;color:#000}.general-button{display:block;margin:0 auto;padding:20px 30px;color:#316dc2;word-break:break-all;background-color:#000;border:1px solid #000;border-radius:30px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;gap:29px;-ms-grid-columns:1fr 46px;grid-template-columns:1fr 46px}@media (max-width:767px){.general-button{width:100%;padding:20px 30px;gap:19px;-ms-grid-columns:1fr 34px;grid-template-columns:1fr 34px}}.general-button:hover{color:#fff;background-color:#000}.general-button:focus{color:#fff;background-color:#000;outline:0}.general-button:focus-visible{color:#fff;background-color:#000;outline:0}.general-button:active{color:rgba(255,255,255,.7);background-color:#000;outline:0}.general-button span{max-width:280px;margin:0;padding:0;font-weight:700;font-size:18px;line-height:14px;letter-spacing:.28px}@media (max-width:767px){.general-button span{font-size:16px;line-height:12px;letter-spacing:.24px}}.general-button__icon-wrapper{width:46px;height:46px;background-color:#000;border-radius:50%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;stroke:#fff;color:#fff}@media (max-width:767px){.general-button__icon-wrapper{width:34px;height:34px}}.general-button:hover .general-button__icon-wrapper{background-color:#fff;stroke:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);color:#316dc2;-webkit-transition:1;transition:1}.general-button:focus .general-button__icon-wrapper{background-color:#fff;stroke:#316dc2;color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.general-button:focus-visible .general-button__icon-wrapper{background-color:#fff;stroke:#316dc2;color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.general-button:active .general-button__icon-wrapper{background-color:#fff;stroke:rgba(49,109,194,.7);color:rgba(49,109,194,.7);-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg)}.general-button__icon{-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 auto;height:22px;width:22px;right:-5px;position:relative;top:5px}.general-button--dark{color:#fff;max-width:270px;text-align:center;padding:20px 30px;border-radius:20px;-ms-grid-columns:1fr;grid-template-columns:1fr;background-color:#000;border:1px solid #000}.general-button--dark:hover{color:#000;fill:#fff;background-color:#fff}.general-button--dark:focus{color:#000;fill:#fff;background-color:#fff;outline:0}.general-button--dark:focus-visible{color:#fff;fill:#fff;background-color:#000;outline:0}.general-button--dark:active{color:#fff;fill:#000;background-color:#000;outline:0}.general-button--dark .general-button__icon-wrapper{background-color:#fff;stroke:#316dc2;color:#316dc2}.general-button--dark:hover .general-button__icon-wrapper{background-color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);stroke:#fff;color:#fff}.general-button--dark:focus .general-button__icon-wrapper{background-color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);stroke:#fff;color:#fff}.general-button--dark:focus-visible .general-button__icon-wrapper{background-color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);stroke:#fff;color:#fff}.general-button--dark:active .general-button__icon-wrapper{background-color:#316dc2;-webkit-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);stroke:rgba(255,255,255,.7);color:rgba(255,255,255,.7)}.footer{background-image:linear-gradient(200deg,#5413a7 0,#9c55f5 75%);color:beige}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;background-color:rgba(0,0,0,.8);-webkit-transform:scale(1.2);-ms-transform:scale(1.2);transform:scale(1.2);visibility:hidden;opacity:0;-webkit-transition:opacity .6s cubic-bezier(.55,0,.1,1),visibility .6s cubic-bezier(.55,0,.1,1),-webkit-transform .6s cubic-bezier(.55,0,.1,1);transition:opacity .6s cubic-bezier(.55,0,.1,1),transform .6s cubic-bezier(.55,0,.1,1),visibility .6s cubic-bezier(.55,0,.1,1);transition:opacity .6s cubic-bezier(.55,0,.1,1),transform .6s cubic-bezier(.55,0,.1,1),visibility .6s cubic-bezier(.55,0,.1,1),-webkit-transform .6s cubic-bezier(.55,0,.1,1);pointer-events:none;-ms-overflow-style:none;scrollbar-width:none}.modal::-webkit-scrollbar{display:none}.modal__wrapper{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-negative:0;flex-shrink:0;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;min-height:100%;padding:60px 40px}@media (max-width:767px){.modal__wrapper{padding:60px 16px}}.modal__overlay{position:absolute;top:0;left:0;width:100%;height:100%;cursor:pointer}.modal__content{position:relative;width:600px;padding:40px;background-color:#fff}@media (max-width:767px){.modal__content{width:100%;padding:20px}}.modal__close-btn{position:absolute;top:22px;right:22px;z-index:1;width:40px;height:40px;padding:0;background:0 0;border:0;cursor:pointer}.modal--responsive .modal__content{width:100%}.modal--fit-content .modal__content{width:auto}@media (max-width:767px){.modal--fit-content .modal__content{width:100%}}.modal--no-scale{-webkit-transform:none;-ms-transform:none;transform:none}.modal--preload{-webkit-transition:none;transition:none}.modal.is-active{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1);visibility:visible;opacity:1;pointer-events:auto}.alert{color:#000;padding:20px;background-color:#fff;font-size:24px;font-weight:600;margin-bottom:20px;text-align:center;border-radius:20px}.alert__button-close{position:absolute;top:30px;right:30px;width:22px;height:22px;padding:0;background-color:transparent;border:0;cursor:pointer}@media (max-width:767px){.alert__button-close{top:18px;right:23px}.alert__button-close,.alert__icon{width:12px;height:12px}} +/*# sourceMappingURL=style.min.css.map */ \ No newline at end of file diff --git a/build/css/style.min.css.map b/build/css/style.min.css.map new file mode 100644 index 000000000..57e6d8810 --- /dev/null +++ b/build/css/style.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["style.css","vendor/normalize.scss","global/reboot.scss","blocks/custom-select.scss","global/fonts.scss","global/utils.scss","global/container.scss","blocks/header.scss","blocks/form.scss","mixins.scss","blocks/custom-input.scss","blocks/page__body.scss","blocks/btn.scss","blocks/custom-toggle.scss","blocks/general-button.scss","blocks/footer.scss","blocks/modal.scss","blocks/alert.scss"],"names":[],"mappings":"AAAA,iB;;ACWA,I,CAGE,6B,CA6TF,O,CA3SA,I,CACE,a,CAQF,E,CACE,c,CAEA,a,CAWF,E,CACE,8B,CAAA,sB,CACA,Q,CACA,gB,CAkDF,I,CDdA,G,CC5BA,G,CD6BA,I,CC5BE,a,CACA,+B,CAUF,C,CACE,4B,CC1CA,U,CACA,oB,CDiDF,W,CAEE,wC,CAAA,gC,CAEA,kB,CAOF,C,CDbA,M,CCeE,kB,CAmBF,K,CACE,a,CAQF,G,CDhBA,G,CCkBE,iB,CAEA,a,CACA,a,CACA,uB,CAGF,G,CACE,a,CAGF,G,CACE,S,CAUF,G,CACE,iB,CAWF,M,CDrBA,K,CACA,Q,CACA,M,CACA,Q,CCuBE,Q,CAEA,c,CACA,gB,CACA,mB,CAQF,M,CDvBA,K,CC0BE,gB,CAQF,M,CDxBA,M,CC2BE,mB,CDRF,+B,CACA,8B,CACA,+B,CCwBA,wB,CAIE,S,CAEA,iB,CDrBF,4B,CACA,2B,CACA,4B,CC0BA,qB,CAIE,6B,CAOF,Q,CACE,0B,CAUF,M,CACE,a,CAEA,c,CAGA,a,CACA,kB,CAOF,Q,CACE,uB,CAOF,Q,CACE,a,CC9NA,W,CDsOF,e,CDjCA,Y,CCEA,M,CAiCE,6B,CAAA,qB,CACA,S,CAOF,wC,CDjCA,wC,CCmCE,W,CAQF,a,CACE,mB,CAEA,4B,CAOF,wC,CACE,uB,CAQF,4B,CACE,Y,CAEA,yB,CAkBF,O,CACE,iB,CExKE,uB,CF0LJ,Q,CARA,Q,CACE,Y,CG9VF,WACE,iB,CACA,e,CACA,wB,CAEA,iB,CACA,+E,AAIF,WACE,iB,CACA,e,CACA,wB,CAEA,iB,CACA,8E,AAKF,WACE,iB,CACA,e,CACA,wB,CAEA,iB,CACA,4EF5BF,C,CFqVA,O,CADA,Q,CEjVE,6B,CAAA,qB,CFwVF,I,CErVA,I,CAEE,Q,CACA,S,CACA,gB,CAGF,I,CACE,iB,CACA,e,CACA,c,CACA,gB,CACA,2C,CACA,U,CAEA,kC,CACA,iC,CAEA,iC,CAKF,I,CACE,U,CACA,W,CAEA,qB,CAQF,G,CFgVA,K,CE9UE,a,CACA,c,CACA,W,CAaF,sB,CACE,0C,CAAA,kC,CAEA,4B,CAIF,K,CAaA,M,CF4TA,Q,CEvUE,e,CAEA,gC,CAAA,mC,CACE,S,CADF,uB,CAAA,0B,CACE,S,CADF,2B,CAAA,8B,CACE,S,CADF,4B,CAAA,+B,CACE,S,CADF,kB,CFqVF,qB,CEpVI,S,CAGF,a,CFqVF,gB,CEpVI,uB,CAAA,e,CAUF,gB,CAAA,iB,CAEE,Y,CFsVJ,gD,CEjVA,6C,CFkVA,iD,CACA,qD,CE/UE,uB,CAAA,e,CFqVF,gC,CEjVA,gC,CAEE,Q,CAEA,uB,CAAA,e,CAGF,kB,CACE,4B,CAAA,yB,CAAA,oB,CFuVF,cAAc,Y,CACd,a,CACA,e,CACA,a,CACA,U,CACA,W,CACA,W,CEzVA,M,CFkVA,Q,CEzUE,uB,CAAA,oB,CAAA,e,CFuVF,a,CACA,Y,CACA,a,CEtVA,M,CAIE,uB,CAAA,oB,CAAA,e,CG/HF,Q,CACE,iB,CAEA,mB,CAAA,mB,CAAA,Y,CACA,2B,CAAA,4B,CAAA,yB,CAAA,qB,CACA,gB,CAEA,mC,CL8dF,gB,CK5dE,gB,CAEE,mB,CAAA,a,CAGF,a,CACE,kB,CAAA,mB,CAAA,W,CF6BF,qB,CEzBF,gB,CACE,iB,CAEA,S,CACA,U,CACA,W,CACA,S,CACA,e,CAEA,kB,CAEA,Q,CAEA,kB,CACA,6B,CAAA,qB,CAGF,gB,CACE,c,CAEA,e,CAGF,Y,CACE,e,CAGF,a,CACE,uB,CACA,oB,CAEA,gC,CACE,Y,CAIJ,c,CAEE,iC,CAAA,yB,CAGF,6BAAA,e,CACE,S,CC7DF,U,CACE,U,CACA,kB,CAAA,mB,CAAA,W,CACA,gB,CAEA,kB,CACA,8D,CAEA,Q,CAEA,0BAVF,U,CAWI,gB,AAGF,yBAdF,U,CAeI,gBCfJ,O,CACE,U,CACA,sB,CAGF,kB,CACE,c,CACA,e,CACA,U,CCRF,K,CACE,U,CAIF,Y,CACE,gB,CAAA,Y,CACA,wB,CAAA,6B,CACA,Q,CAEA,0BALF,Y,CAMI,oB,CAAA,yB,CACA,OAIJ,Y,CACE,c,CACA,e,CACA,kB,CACA,U,CACA,Y,CACA,kB,CAEA,0BARF,Y,CASI,mB,AC8CF,yBDvDF,Y,CAaI,c,CACA,oBAIJ,W,CACE,Y,CACA,qB,CACA,4B,CACA,kB,CACA,a,CACA,iB,CACA,e,CAEA,0BATF,W,CAUI,eAGF,iB,CACE,U,CACA,qB,CAGA,kC,CACE,U,CAIJ,iB,CACE,qB,CACA,S,CACA,U,CAEA,kC,CACE,U,CAIJ,yB,CACE,qB,CACA,S,CACA,U,CAEA,0C,CACE,U,CAIJ,kB,CAIE,qB,CAEA,mC,CACE,U,CAKF,kC,CA4BF,sB,CAxCA,kB,CAaI,S,CACA,U,CAGF,kC,CA4BF,sB,CA3BI,S,CAGF,0C,CA4BF,8B,CA3BI,S,CAGF,mC,CA4BF,uB,CA3BI,S,CAKN,gB,CACE,S,CACA,0B,CACA,2B,CACA,U,CACA,W,CACA,iB,CACA,a,CAoBF,gB,CAQA,W,CACE,c,CACA,e,CAVF,gB,CAEE,U,CAEA,iB,CACA,Q,CAGF,W,CAGE,kB,CACA,U,CACA,e,CACA,kB,CAEA,0BARF,W,CASI,mB,ACjFF,yBDwEF,W,CAaI,c,CACA,mBAIJ,e,CACE,gB,CACA,a,CACA,uB,CCzGA,0BDsGF,e,CAMI,wB,AChGF,yBD0FF,e,CAUI,wB,AAGF,0BAbF,e,CAcI,mB,CACA,oBAIJ,c,CACE,iB,CAGF,yB,CACE,gB,CAAA,Y,CACA,wB,CAAA,6B,CACA,Q,CAEA,yBALF,yB,CAMI,oB,CAAA,yB,CACA,OAIJ,oB,CACE,kB,CAGF,Y,CA6BA,kB,CAIE,S,CAEA,iB,CACA,e,CACA,c,CACA,gB,CAtCF,Y,CACE,iB,CAEA,mB,CAAA,mB,CAAA,Y,CACA,2B,CAAA,6B,CAAA,iC,CAAA,6B,CACA,U,CAEA,Q,CAOA,a,CAEA,0BAhBF,Y,CAiBI,oB,ACjJF,yBDgIF,Y,CAqBI,oB,AAGF,yBAxBF,Y,CAyBG,iBAIH,kB,CACE,a,CAEA,c,CAOA,0B,CCnLA,0BDyKF,kB,CAaI,iB,CAEA,kB,AAGF,0BAlBF,kB,CAmBI,kB,CAEA,c,CACA,kBE5IF,2C,CFgJF,6C,CACE,U,CEjJA,kC,CFgJF,oC,CACE,U,CADF,wC,CACE,U,CEjJA,uC,CFgJF,yC,CACE,U,CEjJA,6B,CFgJF,+B,CACE,U,CAGF,kB,CACE,iB,CAEA,c,CACA,U,CAGA,qC,CACA,iB,CAEA,0BAVF,kB,CAWI,mBAGF,2B,CA+EA,iC,CA9EE,+B,CACA,qC,CAGF,wB,CA+EA,8B,CA9EE,qB,CACA,S,CAGF,wB,CA+EA,8B,CA9EE,qB,CACA,S,CACA,S,CAGF,gC,CA+EA,sC,CA9EE,qB,CACA,S,CACA,S,CAGF,yB,CA+EA,+B,CA9EE,U,CAEA,qB,CACA,S,CACA,S,CAGF,8B,CACE,a,CAGF,8B,CACE,a,CAGF,sC,CACE,a,CAGF,+B,CAmEA,gC,CAlEE,a,CAIJ,e,CACE,mB,CAAA,mB,CAAA,Y,CACA,2B,CAAA,6B,CAAA,iC,CAAA,6B,CACA,kB,CAEA,0BALF,e,CAMI,oB,AC9PF,yBDwPF,e,CAUI,oBAIJ,wB,CACE,e,CACA,iB,CAEA,c,CACA,U,CAGA,qC,CACA,iB,CC/QA,yBDsQF,wB,CAYI,U,CACA,e,CACA,e,CACA,mBAqCF,gC,CACE,a,CAGF,wC,CACE,a,CAGF,iC,CACE,a,CAIJ,iB,CACE,a,CAEA,c,CACA,S,CAEA,iB,CACA,e,CACA,c,CACA,gB,CACA,gB,CACA,0B,CC9VA,0BDmVF,iB,CAcI,iB,CAEA,kB,ACvVF,yBDuUF,iB,CAoBI,kB,CAEA,c,CACA,kBAIJ,uB,CACE,gB,CAAA,Y,CACA,wB,CAAA,6B,CACA,O,CACA,gB,CAEA,0BANF,uB,CAOI,sB,AAGF,yBAVF,uB,CAWI,oB,CAAA,yB,CACA,K,CACA,oBAIJ,e,CAEE,e,CACA,S,CAGF,4B,CAGE,iB,CACA,S,CC7XA,yBDyXF,4B,CAOI,Y,CACA,oBAIJ,qB,CACE,iB,CACA,e,CACA,c,CACA,gB,CACA,U,CAEA,U,CAGF,qB,CACE,iB,CAGF,2C,CR8jBA,wC,CQ5jBE,O,CAEA,U,CACA,W,CAEA,qC,CACA,iB,CC3ZA,yBDmZF,2C,CRukBA,wC,CQ5jBI,U,AAGF,+CAdF,2C,CR6kBA,wC,CQ9jBI,SAGF,iD,CRgkBF,8C,CQ/jBI,qB,CACA,S,CAEA,2B,CAAA,mB,CAGF,iD,CRgkBF,8C,CQ/jBI,qB,CACA,S,CAEA,2B,CAAA,mB,CAGF,yD,CRgkBF,sD,CQ/jBI,qB,CACA,S,CAEA,2B,CAAA,mB,CAGF,kD,CRgkBF,+C,CQ/jBI,qB,CACA,S,CAEA,2B,CAAA,mB,CAIJ,mD,CRgkBA,gD,CQ9jBE,U,CACA,W,CAGF,uD,CACE,U,CACA,W,CAEA,4B,CACA,0C,CACA,2B,CACA,yB,CAGF,+C,CACE,+D,CACA,qB,CAEA,qD,CACE,4B,CAEA,6D,CACE,gD,CAIJ,qD,CACE,4B,CAEA,6D,CACE,gD,CAIJ,6D,CACE,4B,CAEA,qE,CACE,gD,CR8jBN,wC,CQzjBA,sD,CAEE,8B,CACA,wB,CACA,U,CAGF,a,CACE,U,CACA,a,CAEA,0BAJF,a,CAKI,YAGF,mB,CACE,e,CACA,wB,CAIJ,kB,CACE,iB,CACA,e,CACA,c,CACA,gB,CACA,a,CAGF,gB,CACE,iB,CAGF,oB,CACE,c,CACA,W,CACA,O,CACA,S,CACA,mB,CAAA,gB,CACA,c,CACA,Q,CAEA,0BATF,oB,CAUI,cGjmBJ,W,CACE,8D,CCDF,I,CACE,0B,CAAA,0B,CAAA,mB,CACA,iB,CAEA,U,CAEA,wB,CACA,Q,CACA,c,CAEA,kC,CAAA,0B,CAEA,S,CACE,wB,CAGF,a,CACE,U,CAEA,mB,CHQF,qBACE,eAAA,e,CGLA,YHUF,wB,CGVE,U,CFvBJ,a,CVgsCA,gB,CU9rCE,iB,CAEA,mB,CAAA,mB,CAAA,Y,CACA,mB,CAEA,oCAPF,a,CVysCA,gB,CUjsCI,Y,AAGF,yBAXF,a,CV+sCA,gB,CUnsCI,qBAGF,mB,CVqsCF,sB,CUpsCI,mB,CAAA,mB,CAAA,Y,CACA,wB,CAAA,qB,CAAA,kB,CACA,U,CAEA,oCALF,mB,CVgtCF,sB,CU1sCM,uB,CAAA,oB,CAAA,sB,CACA,2B,CAAA,4B,CAAA,yB,CAAA,uBAGF,yB,CVitCJ,4B,CACA,4B,CACA,+B,CUjtCM,kB,CAAA,mB,CAAA,W,CACA,e,CACA,e,CACA,gB,CACA,Y,CAEA,+B,CACA,iB,CACA,S,CAEA,kC,CAAA,0B,CAEA,oCAdF,yB,CVmuCJ,4B,CACA,4B,CACA,+B,CUttCQ,e,CACA,YAGF,+B,CVwtCN,kC,CACA,kC,CACA,qC,CUztCQ,+B,CAGF,+B,CV0tCN,kC,CACA,kC,CACA,qC,CU3tCQ,+B,CAMJ,oCADF,oB,CV2tCF,uB,CUztCM,iBAIJ,oB,CV0tCF,uB,CUztCI,iB,CACA,O,CACA,W,CAEA,a,CAEA,S,CAEA,mC,CAAA,2B,CAEA,oCAXF,oB,CVquCF,uB,CUztCM,aAKF,8B,CVytCJ,iC,CACA,iC,CACA,oC,CUztCM,iB,CACA,wB,CACA,8B,CAEA,oC,CAAA,oC,CV2tCN,uC,CACA,uC,CACA,uC,CACA,uC,CACA,0C,CACA,0C,CU9tCQ,iB,CACA,wB,CACA,8B,CAKN,4B,CV6tCF,+B,CU5tCI,iB,CACA,O,CACA,W,CAEA,uC,CV8tCJ,0C,CU7tCM,S,CAGF,qC,CV8tCJ,wC,CU7tCM,a,CAKN,gB,CACE,W,CAEA,sC,CACE,U,CP/GJ,c,CACE,iB,CAEA,W,CACA,mB,CACA,e,CAEA,oCAPF,c,CAQI,kB,CACA,YAGF,qB,CACE,iB,CACA,O,CACA,S,CAEA,kC,CAAA,8B,CAAA,0B,CAEA,8D,CAAA,8C,CAAA,yE,CAEA,mB,CAEA,oCAXF,qB,CAYI,8C,CAAA,0C,CAAA,wCAIJ,2B,CACE,iB,CACA,O,CACA,S,CAEA,kC,CAAA,8B,CAAA,0B,CAEA,8D,CAAA,8C,CAAA,yE,CAEA,mB,CAEA,oCAXF,2B,CAYI,8C,CAAA,0C,CAAA,wCAqBJ,sB,CACE,mB,CAAA,mB,CAAA,Y,CACA,wB,CAAA,qB,CAAA,kB,CACA,U,CACA,W,CACA,gB,CAEA,4B,CACA,+B,CACA,iB,CACA,S,CACA,c,CAEA,kC,CAAA,0B,CAEA,4B,CACE,+B,CAGF,4B,CACE,+B,CAGF,+B,CACE,mB,CACA,U,CAIJ,oB,CACE,iB,CACA,W,CACA,S,CAEA,U,CACA,gB,CACA,Q,CACA,S,CACA,e,CAEA,e,CAEA,qB,CACA,qB,CACA,kC,CAAA,8B,CAAA,0B,CACA,iB,CACA,S,CAEA,uD,CAAA,+C,CAGF,oB,CACE,W,CAEA,S,CACA,c,CAEA,4C,CAAA,oC,CAEA,wC,CACE,+B,CAEA,qBACE,mDAAA,e,CACE,iCAIJ,4D,CACE,+B,CAIJ,qBACE,+BAAA,e,CACE,iCAIJ,wC,CACE,+B,CAIJ,qB,CACE,iB,CACA,Y,CACA,M,CAEA,a,CAEA,S,CAEA,mC,CAAA,2B,CAGF,oB,CACE,c,CACA,gB,CACA,mB,CAAA,a,CACA,S,CACA,e,CAEA,e,CACA,kB,CACA,sB,CAEA,S,CAEA,uC,CAAA,+B,CAOF,oB,CACE,mB,CAAA,a,CACA,U,CACA,W,CACA,gB,CAEA,qB,CAEA,6C,CAAA,6B,CAAA,wD,CAEA,qE,CAAA,6D,CAGF,0B,CACE,mB,CAEA,+C,CACE,Y,CAKF,2C,CACE,W,CACA,K,CACA,gD,CAAA,4C,CAAA,wC,CAKF,2C,CACE,kB,CACA,S,CAGF,2C,CACE,gC,CAAA,4B,CAAA,wB,CAGF,4C,CACE,S,CAKF,6C,CACE,S,CAGF,8C,CAIA,oD,CAHE,S,CASF,+C,CACE,S,CAGF,gD,CACE,wB,CAEA,sD,CAAA,sD,CAEE,mC,CAiBJ,iD,CAgBA,qD,CAAA,uD,CAfE,+C,CAAA,2C,CAAA,uC,CACA,S,CAGF,yD,CAIA,2D,CAYA,oD,CAAA,sD,CAfE,S,CAoBJ,6B,CACE,iB,CACA,O,CACA,W,CAEA,wC,CACE,S,CAGF,sC,CACE,a,CU1SN,c,CACE,iB,CACA,c,CACA,gB,CACA,e,CAEA,mB,CAAA,mB,CAAA,Y,CAIA,oCAVF,c,CAYI,YAGF,oB,CACE,iB,CAEA,S,CACA,U,CACA,W,CAEA,kB,CAGF,oB,CACE,iB,CAEA,iB,CAEA,c,CAEA,yB,CACE,e,CACA,a,CAKF,6C,CA0BA,0C,CAzBE,iB,CACA,K,CACA,M,CAEA,U,CACA,W,CAEA,uB,CAEA,kC,CAAA,0B,CAgBF,0C,CAQE,qB,CACA,iB,CAqBJ,iD,CACE,uB,CADF,iD,CAME,yD,CACE,mC,CACA,0B,CACA,2B,CAIJ,6B,CACE,iB,CACA,O,CACA,W,CAEA,wC,CACE,S,CAGF,sC,CACE,a,CAKN,mB,CACE,S,CACA,U,CC7HF,e,CAGE,a,CACA,a,CACA,iB,CAEA,a,CACA,oB,CAEA,qB,CACA,qB,CACA,kB,CACA,c,CAEA,wB,CAAA,qB,CAAA,oB,CAAA,gB,CAEA,Q,CACA,yB,CAAA,8B,CLqDA,yBKvEF,e,CAqBI,U,CACA,iB,CAEA,Q,CACA,yB,CAAA,gCAGF,qB,CACE,U,CAEA,qB,CAGF,qB,CACE,U,CAEA,qB,CACA,S,CAGF,6B,CACE,U,CAEA,qB,CACA,S,CAGF,sB,CACE,0B,CAEA,qB,CACA,S,CAIJ,oB,CACE,e,CACA,Q,CACA,S,CAEA,e,CACA,c,CACA,gB,CACA,oB,CLOA,yBKfF,oB,CAWI,c,CACA,gB,CACA,sBAIJ,6B,CACE,U,CACA,W,CACA,qB,CACA,iB,CACA,mB,CAAA,mB,CAAA,Y,CACA,wB,CAAA,qB,CAAA,kB,CACA,uB,CAAA,oB,CAAA,sB,CACA,W,CACA,U,CLXA,yBKEF,6B,CAYI,U,CACA,aAIJ,mD,CACE,qB,CACA,c,CACA,+B,CAAA,2B,CAAA,uB,CACA,a,CACA,oB,CAAA,Y,CAGF,mD,CACE,qB,CACA,c,CACA,a,CACA,+B,CAAA,2B,CAAA,uB,CAGF,2D,CACE,qB,CACA,c,CACA,a,CACA,+B,CAAA,2B,CAAA,uB,CAGF,oD,CACE,qB,CACA,0B,CACA,yB,CACA,+B,CAAA,2B,CAAA,uB,CAGF,qB,CACE,0B,CAAA,yB,CAAA,iB,CACA,uB,CAAA,oB,CAAA,sB,CACA,wB,CAAA,qB,CAAA,kB,CACA,a,CACA,W,CACA,U,CACA,U,CACA,iB,CACA,O,CAGF,qB,CACE,U,CACA,e,CACA,iB,CACA,iB,CACA,kB,CACA,oB,CAAA,yB,CAEA,qB,CACA,qB,CAEA,2B,CACE,U,CACA,S,CAEA,qB,CAGF,2B,CACE,U,CACA,S,CAEA,qB,CACA,S,CAGF,mC,CACE,U,CACA,S,CAEA,qB,CACA,S,CAGF,4B,CACE,U,CACA,S,CAEA,qB,CACA,S,CAIJ,mD,CACE,qB,CAEA,c,CACA,a,CAGF,yD,CACE,wB,CACA,+B,CAAA,2B,CAAA,uB,CAEA,W,CACA,U,CAGF,yD,CACE,wB,CACA,+B,CAAA,2B,CAAA,uB,CAEA,W,CACA,U,CAGF,iE,CACE,wB,CACA,+B,CAAA,2B,CAAA,uB,CAEA,W,CACA,U,CAGF,0D,CACE,wB,CACA,+B,CAAA,2B,CAAA,uB,CAEA,2B,CACA,0B,CClNF,O,CACE,8D,CACA,W,CCFF,M,CACE,c,CACA,K,CACA,O,CACA,Q,CACA,M,CACA,Y,CAEA,mB,CAAA,mB,CAAA,Y,CACA,2B,CAAA,4B,CAAA,yB,CAAA,qB,CACA,e,CACA,gC,CAEA,+B,CACA,4B,CAAA,wB,CAAA,oB,CACA,iB,CACA,S,CAEA,8I,CAAA,8H,CAAA,6K,CAIA,mB,CAEA,uB,CACA,oB,CAEA,yB,CACE,Y,CAGF,e,CACE,iB,CAEA,mB,CAAA,mB,CAAA,Y,CACA,mB,CAAA,a,CACA,uB,CAAA,oB,CAAA,sB,CACA,wB,CAAA,qB,CAAA,kB,CACA,U,CACA,e,CACA,iB,CP+BF,yBOxCA,e,CAYI,mBAIJ,e,CACE,iB,CACA,K,CACA,M,CAEA,U,CACA,W,CAEA,c,CAGF,e,CACE,iB,CAEA,W,CACA,Y,CAEA,qB,CPOF,yBObA,e,CASI,U,CACA,cAIJ,iB,CACE,iB,CACA,Q,CACA,U,CACA,S,CAEA,U,CACA,W,CACA,S,CAEA,c,CACA,Q,CACA,c,CAIA,kC,CACE,U,CAKF,mC,CACE,U,CPxBJ,yBOuBE,mC,CAII,YAKN,gB,CACE,sB,CAAA,kB,CAAA,c,CAGF,e,CACE,uB,CAAA,e,CAGF,gB,CACE,0B,CAAA,sB,CAAA,kB,CACA,kB,CACA,S,CAEA,mB,CCpHJ,M,CACE,U,CACA,Y,CACA,qB,CACA,c,CACA,e,CACA,kB,CACA,iB,CACA,kB,CAGF,oB,CACE,iB,CACA,Q,CACA,U,CAEA,U,CACA,W,CACA,S,CAEA,4B,CACA,Q,CACA,c,CRiDA,yBQ5DF,oB,CAcI,Q,CACA,U,CAfJ,oB,CAsBA,Y,CAEI,U,CACA,a","file":"style.min.css","sourcesContent":["@charset \"UTF-8\";\n/* stylelint-disable */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n/**\n* Remove the margin in all browsers.\n*/\nbody {\n margin: 0;\n}\n\n/**\n* Render the `main` element consistently in IE.\n*/\nmain {\n display: block;\n}\n\n/**\n* Correct the font size and margin on `h1` elements within `section` and\n* `article` contexts in Chrome, Firefox, and Safari.\n*/\nh1 {\n margin: 0.67em 0;\n font-size: 2em;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n* 1. Add the correct box sizing in Firefox.\n* 2. Show the overflow in Edge and IE.\n*/\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n* 1. Correct the inheritance and scaling of font size in all browsers.\n* 2. Correct the odd `em` font sizing in all browsers.\n*/\npre {\n font-size: 1em; /* 2 */\n font-family: monospace, monospace; /* 1 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n* Remove the gray background on active links in IE 10.\n*/\na {\n background-color: transparent;\n}\n\n/**\n* 1. Remove the bottom border in Chrome 57-\n* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n*/\nabbr[title] {\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n border-bottom: none; /* 1 */\n}\n\n/**\n* Add the correct font weight in Chrome, Edge, and Safari.\n*/\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n* 1. Correct the inheritance and scaling of font size in all browsers.\n* 2. Correct the odd `em` font sizing in all browsers.\n*/\ncode,\nkbd,\nsamp {\n font-size: 1em; /* 2 */\n font-family: monospace, monospace; /* 1 */\n}\n\n/**\n* Add the correct font size in all browsers.\n*/\nsmall {\n font-size: 80%;\n}\n\n/**\n* Prevent `sub` and `sup` elements from affecting the line height in\n* all browsers.\n*/\nsub,\nsup {\n position: relative;\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n* Remove the border on images inside links in IE 10.\n*/\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n/**\n* 1. Change the font styles in all browsers.\n* 2. Remove the margin in Firefox and Safari.\n*/\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0; /* 2 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n font-family: inherit; /* 1 */\n}\n\n/**\n* Show the overflow in IE.\n* 1. Show the overflow in Edge.\n*/\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n* Remove the inheritance of text transform in Edge, Firefox, and IE.\n* 1. Remove the inheritance of text transform in Firefox.\n*/\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n* Correct the inability to style clickable types in iOS and Safari.\n*/\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\n* Remove the inner border and padding in Firefox.\n*/\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\n/**\n* Restore the focus styles unset by the previous rule.\n*/\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n* Correct the padding in Firefox.\n*/\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n* 1. Correct the text wrapping in Edge and IE.\n* 2. Correct the color inheritance from `fieldset` elements in IE.\n* 3. Remove the padding so developers are not caught out when they zero out\n* `fieldset` elements in all browsers.\n*/\nlegend {\n display: table; /* 1 */\n box-sizing: border-box; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n color: inherit; /* 2 */\n white-space: normal; /* 1 */\n}\n\n/**\n* Add the correct vertical alignment in Chrome, Firefox, and Opera.\n*/\nprogress {\n vertical-align: baseline;\n}\n\n/**\n* Remove the default vertical scrollbar in IE 10+.\n*/\ntextarea {\n overflow: auto;\n}\n\n/**\n* 1. Add the correct box sizing in IE 10.\n* 2. Remove the padding in IE 10.\n*/\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n* Correct the cursor style of increment and decrement buttons in Chrome.\n*/\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n* 1. Correct the odd appearance in Chrome and Safari.\n* 2. Correct the outline style in Safari.\n*/\n[type=search] {\n outline-offset: -2px; /* 2 */\n -webkit-appearance: textfield; /* 1 */\n}\n\n/**\n* Remove the inner padding in Chrome and Safari on macOS.\n*/\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n* 1. Correct the inability to style clickable types in iOS and Safari.\n* 2. Change font properties to `inherit` in Safari.\n*/\n::-webkit-file-upload-button {\n font: inherit; /* 2 */\n -webkit-appearance: button; /* 1 */\n}\n\n/* Interactive\n ========================================================================== */\n/*\n* Add the correct display in Edge, IE 10+, and Firefox.\n*/\ndetails {\n display: block;\n}\n\n/*\n* Add the correct display in all browsers.\n*/\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n/**\n* Add the correct display in IE 10+.\n*/\ntemplate {\n display: none;\n}\n\n/**\n* Add the correct display in IE 10.\n*/\n[hidden] {\n display: none;\n}\n\n/* здесь подключите шрифты*/\n@font-face {\n font-style: normal;\n font-weight: 400;\n font-family: \"Montserrat\";\n font-display: swap;\n src: local(\"Montserrat\"), url(\"../fonts/montserrat-regular.woff2\") format(\"woff2\");\n}\n@font-face {\n font-style: normal;\n font-weight: 500;\n font-family: \"Montserrat\";\n font-display: swap;\n src: local(\"Montserrat\"), url(\"../fonts/montserrat-medium.woff2\") format(\"woff2\");\n}\n@font-face {\n font-style: normal;\n font-weight: 700;\n font-family: \"Montserrat\";\n font-display: swap;\n src: local(\"Montserrat\"), url(\"../fonts/montserrat-bold.woff2\") format(\"woff2\");\n}\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n min-height: 100vh;\n}\n\nhtml {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 24px;\n font-family: \"Montserrat\", \"Arial\", sans-serif;\n color: #000000;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n text-rendering: optimizeLegibility;\n}\n\nbody {\n width: 100%;\n height: 100%;\n background-color: #ffffff;\n}\n\na {\n color: #000000;\n text-decoration: none;\n}\n\nimg,\nvideo {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\ntextarea {\n resize: none;\n}\n\ninput:-webkit-autofill {\n box-shadow: inset 0 0 0 1000px #ffffff;\n -webkit-text-fill-color: #000000;\n}\n\ninput,\ntextarea {\n border-radius: 0;\n}\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1;\n}\ninput:invalid,\ntextarea:invalid {\n box-shadow: none;\n}\n\nselect {\n border-radius: 0;\n}\n\ninput::-ms-clear, input::-ms-reveal {\n display: none;\n}\n\ninput[type=search]::-webkit-search-decoration,\ninput[type=search]::-webkit-search-cancel-button,\ninput[type=search]::-webkit-search-results-button,\ninput[type=search]::-webkit-search-results-decoration {\n appearance: none;\n}\n\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n margin: 0;\n appearance: none;\n}\n\ninput[type=number] {\n appearance: textfield;\n}\n\nselect,\ntextarea,\ninput:matches([type=email],\n[type=number],\n[type=password],\n[type=search],\n[type=tel],\n[type=text],\n[type=url]) {\n appearance: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n appearance: none;\n}\n\n.wrapper {\n position: relative;\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n /* stylelint-disable-next-line */\n min-height: calc(100 * var(--vh, 1vh));\n}\n.wrapper .header,\n.wrapper .footer {\n flex-shrink: 0;\n}\n.wrapper main {\n flex-grow: 1;\n}\n\n.visually-hidden {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n}\n\n.scroll-lock-ios {\n position: fixed;\n overflow: hidden;\n}\n\n.scroll-lock {\n overflow: hidden;\n}\n\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n.no-scrollbar::-webkit-scrollbar {\n display: none;\n}\n\n.no-transition {\n /* stylelint-disable-next-line */\n transition: none !important;\n}\n\n.js-focus-visible :focus:not(.focus-visible) {\n outline: none;\n}\n\n.container {\n width: 100%;\n flex-grow: 1;\n max-width: 1440px;\n margin: 0 auto;\n padding: 0 0 0 70px;\n background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%);\n margin-left: 0;\n margin-right: 0;\n}\n@media (max-width: 1230px) {\n .container {\n padding: 0 70px;\n }\n}\n@media (max-width: 540px) {\n .container {\n padding: 0 30px;\n }\n}\n\n.header {\n color: #ffffff;\n padding: 20px 15px 30px 15px;\n}\n\n.header__logo-link {\n font-size: 26px;\n font-weight: 800;\n color: #000000;\n}\n\n.form {\n width: 100%;\n}\n\n.form__inner {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 80px;\n}\n@media (max-width: 1230px) {\n .form__inner {\n grid-template-columns: 1fr;\n gap: 0;\n }\n}\n\n.form__title {\n font-size: 48px;\n font-weight: 800;\n line-height: normal;\n color: #ffffff;\n margin-top: 0;\n margin-bottom: 20px;\n}\n@media (max-width: 1230px) {\n .form__title {\n text-align: center;\n }\n}\n@media (max-width: 767px) {\n .form__title {\n font-size: 26px;\n margin-bottom: 17px;\n }\n}\n\n.form__link {\n padding: 13px;\n border: 1px solid #000000;\n background-color: transparent;\n border-radius: 20px;\n display: block;\n position: relative;\n max-width: 340px;\n}\n@media (max-width: 1230px) {\n .form__link {\n margin: 0 auto;\n }\n}\n.form__link:hover {\n color: #ffffff;\n border: 1px solid #ffffff;\n}\n.form__link:hover .form__link-text {\n color: #ffffff;\n}\n.form__link:focus {\n border: 1px solid #ffffff;\n fill: #ffffff;\n color: #ffffff;\n}\n.form__link:focus .form__link-text {\n color: #ffffff;\n}\n.form__link:focus-visible {\n border: 1px solid #ffffff;\n fill: #ffffff;\n color: #ffffff;\n}\n.form__link:focus-visible .form__link-text {\n color: #ffffff;\n}\n.form__link:active {\n color: #ffffff;\n fill: #ffffff;\n border: 1px solid #ffffff;\n}\n.form__link:active .form__link-text {\n color: #ffffff;\n}\n.form__link .form__link-icon:hover {\n fill: #ffffff;\n color: #ffffff;\n}\n.form__link .form__link-icon:focus {\n fill: #ffffff;\n}\n.form__link .form__link-icon:focus-visible {\n fill: #ffffff;\n}\n.form__link .form__link-icon:active {\n fill: #ffffff;\n}\n\n.form__link-icon {\n fill: #000000;\n background-position: center;\n background-repeat: no-repeat;\n width: 24px;\n height: 24px;\n position: absolute;\n display: block;\n}\n.form__link-icon:hover {\n fill: #ffffff;\n color: #ffffff;\n}\n.form__link-icon:focus {\n fill: #ffffff;\n}\n.form__link-icon:focus-visible {\n fill: #ffffff;\n}\n.form__link-icon:active {\n fill: #ffffff;\n}\n\n.form__link-text {\n font-size: 18px;\n color: #000000;\n font-weight: 400;\n padding-left: 35px;\n margin: 0;\n}\n\n.form__text {\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n color: #ffffff;\n margin-top: 10px;\n margin-bottom: 20px;\n}\n@media (max-width: 1230px) {\n .form__text {\n text-align: center;\n }\n}\n@media (max-width: 767px) {\n .form__text {\n font-size: 14px;\n margin-bottom: 7px;\n }\n}\n\n.form__wrapprer {\n max-width: 1440px;\n margin: 0 auto;\n padding: 117px 6.9% 30px;\n}\n@media (max-width: 1199px) {\n .form__wrapprer {\n padding: 97px 45px 30px 45px;\n }\n}\n@media (max-width: 767px) {\n .form__wrapprer {\n padding: 67px 15px 14px;\n }\n}\n@media (min-width: 1440px) {\n .form__wrapprer {\n padding-right: 100px;\n padding-left: 100px;\n }\n}\n\n.form__content {\n position: relative;\n}\n\n.form__inner-wrapper-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 20px;\n}\n@media (max-width: 540px) {\n .form__inner-wrapper-grid {\n grid-template-columns: 1fr;\n gap: 0;\n }\n}\n\n.form__inner-wrapper {\n margin-bottom: 30px;\n}\n\n.form__input {\n position: relative;\n display: flex;\n flex-direction: column-reverse;\n width: 100%;\n margin: 0;\n margin-bottom: 0;\n padding: 0;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n color: #f0efe9;\n}\n@media (max-width: 1230px) {\n .form__input {\n margin-bottom: 15px;\n }\n}\n@media (max-width: 767px) {\n .form__input {\n margin-bottom: 20px;\n }\n}\n@media (max-width: 540px) {\n .form__input {\n margin-bottom: 0;\n }\n}\n\n.form__input label {\n display: block;\n margin: 0;\n margin-bottom: 8px;\n padding: 0;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n color: rgba(240, 239, 233, 0.8);\n}\n@media (max-width: 1199px) {\n .form__input label {\n margin-bottom: 7px;\n line-height: 20px;\n }\n}\n@media (max-width: 1230px) {\n .form__input label {\n margin-bottom: 12px;\n font-size: 12px;\n line-height: 14px;\n }\n}\n\n.form__input input::placeholder {\n color: #000000;\n}\n\n.form__input input {\n padding: 16px 25px;\n font-size: 14px;\n color: #000000;\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n}\n@media (max-width: 1230px) {\n .form__input input {\n padding: 16px 25px;\n }\n}\n.form__input input:disabled {\n background: rgba(169, 175, 183, 0.2);\n border: 1px solid rgba(169, 175, 183, 0.5);\n}\n.form__input input:hover {\n border: 1px solid #ffffff;\n opacity: 1;\n}\n.form__input input:focus {\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__input input:focus-visible {\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__input input:active {\n color: #ffffff;\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__input input:hover + label {\n color: #f0efe9;\n}\n.form__input input:focus + label {\n color: #f0efe9;\n}\n.form__input input:focus-visible + label {\n color: #f0efe9;\n}\n.form__input input:active + label {\n color: #f0efe9;\n}\n\n.form__textarea {\n display: flex;\n flex-direction: column-reverse;\n margin-bottom: 18px;\n}\n@media (max-width: 1230px) {\n .form__textarea {\n margin-bottom: 17px;\n }\n}\n@media (max-width: 767px) {\n .form__textarea {\n margin-bottom: 21px;\n }\n}\n\n.form__textarea textarea {\n min-height: 98px;\n padding: 18px 25px;\n font-size: 14px;\n color: #000000;\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n}\n@media (max-width: 767px) {\n .form__textarea textarea {\n width: 100%;\n min-width: unset;\n min-height: 94px;\n padding: 13px 25px;\n }\n}\n.form__textarea textarea:disabled {\n background: rgba(169, 175, 183, 0.2);\n border: 1px solid rgba(169, 175, 183, 0.5);\n}\n.form__textarea textarea:hover {\n border: 1px solid #ffffff;\n opacity: 1;\n}\n.form__textarea textarea:focus {\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__textarea textarea:focus-visible {\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__textarea textarea:active {\n color: #ffffff;\n border: 1px solid #ffffff;\n outline: none;\n opacity: 1;\n}\n.form__textarea textarea:hover + p {\n color: #f0efe9;\n}\n.form__textarea textarea:focus + p {\n color: #f0efe9;\n}\n.form__textarea textarea:focus-visible + p {\n color: #f0efe9;\n}\n.form__textarea textarea:active + p {\n color: #f0efe9;\n}\n\n.form__textarea p {\n display: block;\n margin: 0;\n margin-bottom: 8px;\n padding: 0;\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n text-align: start;\n color: rgba(240, 239, 233, 0.8);\n}\n@media (max-width: 1199px) {\n .form__textarea p {\n margin-bottom: 6px;\n line-height: 20px;\n }\n}\n@media (max-width: 767px) {\n .form__textarea p {\n margin-bottom: 12px;\n font-size: 12px;\n line-height: 14px;\n }\n}\n\n.form__checkbox-wrapper {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 5px;\n margin-left: 10px;\n}\n@media (max-width: 1230px) {\n .form__checkbox-wrapper {\n justify-items: center;\n }\n}\n@media (max-width: 540px) {\n .form__checkbox-wrapper {\n grid-template-columns: 1fr;\n gap: 0;\n margin-bottom: 20px;\n }\n}\n\n.form__checkbox {\n margin: 0;\n margin-bottom: 20px;\n padding: 0;\n}\n\n.form__checkbox:last-of-type {\n margin: 0;\n margin-top: 2px;\n margin-bottom: 39px;\n padding: 0;\n}\n@media (max-width: 767px) {\n .form__checkbox:last-of-type {\n margin-top: 0;\n margin-bottom: 12px;\n }\n}\n\n.form__checkbox-label {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 12px;\n color: #ffffff;\n opacity: 0.9;\n}\n\n.form__checkbox label {\n padding-left: 30px;\n}\n\n.custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n top: 6px;\n width: 20px;\n height: 20px;\n border: 1px solid rgba(255, 255, 255, 0.7);\n border-radius: 2px;\n}\n@media (max-width: 767px) {\n .custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n top: 12px;\n }\n}\n@media (min-width: 321px) and (max-width: 767px) {\n .custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n top: 6px;\n }\n}\n.custom-toggle--checkbox .form__toggle-icon:hover,\n.custom-toggle--radio .form__toggle-icon:hover {\n border: 1px solid #ffffff;\n outline: none;\n transition: 0.1s ease;\n}\n.custom-toggle--checkbox .form__toggle-icon:focus,\n.custom-toggle--radio .form__toggle-icon:focus {\n border: 1px solid #ffffff;\n outline: none;\n transition: 0.1s ease;\n}\n.custom-toggle--checkbox .form__toggle-icon:focus-visible,\n.custom-toggle--radio .form__toggle-icon:focus-visible {\n border: 1px solid #ffffff;\n outline: none;\n transition: 0.1s ease;\n}\n.custom-toggle--checkbox .form__toggle-icon:active,\n.custom-toggle--radio .form__toggle-icon:active {\n border: 1px solid #ffffff;\n outline: none;\n transition: 0.1s ease;\n}\n\n.custom-toggle--checkbox .form__toggle-icon::before,\n.custom-toggle--radio .form__toggle-icon::before {\n width: 10px;\n height: 10px;\n}\n\n.custom-toggle input:checked + .form__toggle-icon::before {\n width: 10px;\n height: 10px;\n background-color: transparent;\n background-image: url(\"../img/svg/check.svg\");\n background-repeat: no-repeat;\n background-size: 10px 10px;\n}\n\n.custom-toggle input:checked + .form__toggle-icon {\n background-color: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%);\n border: 1px solid #ffffff;\n}\n.custom-toggle input:checked + .form__toggle-icon:hover {\n background-color: transparent;\n}\n.custom-toggle input:checked + .form__toggle-icon:hover::before {\n background-image: url(\"../img/svg/check-white.svg\");\n}\n.custom-toggle input:checked + .form__toggle-icon:focus {\n background-color: transparent;\n}\n.custom-toggle input:checked + .form__toggle-icon:focus::before {\n background-image: url(\"../img/svg/check-white.svg\");\n}\n.custom-toggle input:checked + .form__toggle-icon:focus-visible {\n background-color: transparent;\n}\n.custom-toggle input:checked + .form__toggle-icon:focus-visible::before {\n background-image: url(\"../img/svg/check-white.svg\");\n}\n\n.is-invalid.custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n background: rgba(255, 94, 102, 0.2);\n border: 1px solid #ff5e66;\n opacity: 0.7;\n}\n\n.form__button {\n width: 100%;\n margin: 0 auto;\n}\n@media (max-width: 1230px) {\n .form__button {\n width: 100%;\n }\n}\n.form__button .span {\n font-weight: 700;\n text-transform: lowercase;\n}\n\n.form__select-text {\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 14px;\n color: #f0efe9;\n}\n\n.form__inner-img {\n position: relative;\n}\n\n.form__inner-img img {\n position: fixed;\n height: auto;\n right: 0;\n z-index: 2;\n object-fit: cover;\n max-width: 100%;\n bottom: 0;\n}\n@media (max-width: 1230px) {\n .form__inner-img img {\n display: none;\n }\n}\n\n.page__body {\n background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%);\n}\n\n.btn {\n display: inline-flex;\n padding: 10px 20px;\n color: #ffffff;\n background-color: #2c39f2;\n border: none;\n cursor: pointer;\n transition: opacity 1s ease;\n}\n.btn--red {\n background-color: #ff1553;\n}\n.btn:disabled {\n opacity: 0.5;\n pointer-events: none;\n}\n@media (hover: hover) {\n .btn:hover:not(.focus-visible) {\n opacity: 0.8;\n }\n}\n.btn.focus-visible:focus {\n opacity: 0.8;\n}\n\n.custom-input,\n.custom-textarea {\n position: relative;\n display: flex;\n padding: 14px 0 20px;\n}\n@media screen and (max-width: 767px) {\n .custom-input,\n.custom-textarea {\n width: 100%;\n }\n}\n@media (max-width: 540px) {\n .custom-input,\n.custom-textarea {\n padding: 14px 0 10px;\n }\n}\n.custom-input label,\n.custom-textarea label {\n display: flex;\n align-items: center;\n width: 100%;\n}\n@media screen and (max-width: 767px) {\n .custom-input label,\n.custom-textarea label {\n align-items: flex-start;\n flex-direction: column;\n }\n}\n.custom-input label input,\n.custom-input label textarea,\n.custom-textarea label input,\n.custom-textarea label textarea {\n flex-grow: 1;\n max-width: 300px;\n min-height: 48px;\n margin-left: auto;\n padding: 10px;\n border: 2px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px;\n outline: none;\n transition: border 0.3s ease;\n}\n@media screen and (max-width: 767px) {\n .custom-input label input,\n.custom-input label textarea,\n.custom-textarea label input,\n.custom-textarea label textarea {\n max-width: unset;\n width: 100%;\n }\n}\n.custom-input label input:hover,\n.custom-input label textarea:hover,\n.custom-textarea label input:hover,\n.custom-textarea label textarea:hover {\n border: 2px solid rgba(0, 0, 0, 0.5);\n}\n.custom-input label input:focus,\n.custom-input label textarea:focus,\n.custom-textarea label input:focus,\n.custom-textarea label textarea:focus {\n border: 2px solid rgba(0, 0, 0, 0.8);\n}\n@media screen and (max-width: 767px) {\n .custom-input__label,\n.custom-textarea__label {\n margin: 0 0 18px 0;\n }\n}\n.custom-input__error,\n.custom-textarea__error {\n position: absolute;\n right: 0;\n bottom: 35px;\n color: #ff1553;\n opacity: 0;\n transition: opacity 0.3s ease;\n}\n@media screen and (max-width: 767px) {\n .custom-input__error,\n.custom-textarea__error {\n bottom: 20px;\n }\n}\n.custom-input.is-invalid input,\n.custom-input.is-invalid textarea,\n.custom-textarea.is-invalid input,\n.custom-textarea.is-invalid textarea {\n border-radius: 8px;\n border: 1px solid #ff5e66;\n background: rgba(255, 94, 102, 0.2);\n}\n.custom-input.is-invalid input:focus, .custom-input.is-invalid input:hover,\n.custom-input.is-invalid textarea:focus,\n.custom-input.is-invalid textarea:hover,\n.custom-textarea.is-invalid input:focus,\n.custom-textarea.is-invalid input:hover,\n.custom-textarea.is-invalid textarea:focus,\n.custom-textarea.is-invalid textarea:hover {\n border-radius: 8px;\n border: 1px solid #ff5e66;\n background: rgba(255, 94, 102, 0.2);\n}\n.custom-input .input-message,\n.custom-textarea .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n}\n.custom-input .input-message.is-invalid,\n.custom-textarea .input-message.is-invalid {\n color: #ff0000;\n}\n.custom-input .input-message.is-valid,\n.custom-textarea .input-message.is-valid {\n color: #15ab07;\n}\n\n.custom-textarea {\n width: 530px;\n}\n.custom-textarea::placeholder {\n color: #000000;\n}\n\n.custom-select {\n position: relative;\n width: 300px;\n padding: 14px 0 28px;\n margin: 0 0 44px 0;\n /* &.is-valid {\n .custom-select__button {\n border: 2px solid $color-eucalyptus;\n\n &:focus,\n &:hover {\n border: 2px solid rgba($color-eucalyptus, 0.5);\n }\n }\n } */\n}\n@media screen and (max-width: 767px) {\n .custom-select {\n padding: 4px 0 14px;\n width: 100%;\n }\n}\n.custom-select__label {\n position: absolute;\n top: 50%;\n left: 10px;\n transform: translateY(-50%);\n transition: transform 0.3s ease, opacity 0.3s ease;\n pointer-events: none;\n}\n@media screen and (max-width: 767px) {\n .custom-select__label {\n transform: translateY(calc(-50% - 5px));\n }\n}\n.custom-select__placeholder {\n position: absolute;\n top: 50%;\n left: 10px;\n transform: translateY(-50%);\n transition: transform 0.3s ease, opacity 0.3s ease;\n pointer-events: none;\n}\n@media screen and (max-width: 767px) {\n .custom-select__placeholder {\n transform: translateY(calc(-50% - 5px));\n }\n}\n.custom-select select {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n white-space: nowrap;\n border: 0;\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n}\n.custom-select__button {\n display: flex;\n align-items: center;\n width: 100%;\n height: 48px;\n padding: 5px 10px;\n background-color: rgba(255, 255, 255, 0);\n border: 2px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px;\n outline: none;\n cursor: pointer;\n transition: border 0.3s ease;\n}\n.custom-select__button:hover {\n border: 2px solid rgba(0, 0, 0, 0.5);\n}\n.custom-select__button:focus {\n border: 2px solid rgba(0, 0, 0, 0.8);\n}\n.custom-select__button:disabled {\n pointer-events: none;\n opacity: 0.3;\n}\n.custom-select__list {\n position: absolute;\n bottom: 10px;\n z-index: 1;\n width: 100%;\n max-height: 100px;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n list-style: none;\n background-color: #ffffff;\n border: 2px solid #000000;\n transform: translateY(100%);\n visibility: hidden;\n opacity: 0;\n transition: visibility 0.3s ease, opacity 0.3s ease;\n}\n.custom-select__item {\n padding: 5px;\n outline: none;\n cursor: pointer;\n transition: background-color 0.3s ease;\n}\n.custom-select__item[aria-selected=true] {\n background-color: rgba(0, 0, 0, 0.2);\n}\n@media (hover: hover) {\n .custom-select__item[aria-selected=true]:hover:not(.focus-visible) {\n background-color: rgba(0, 0, 0, 0.2);\n }\n}\n.custom-select__item[aria-selected=true].focus-visible:focus {\n background-color: rgba(0, 0, 0, 0.2);\n}\n@media (hover: hover) {\n .custom-select__item:hover:not(.focus-visible) {\n background-color: rgba(0, 0, 0, 0.4);\n }\n}\n.custom-select__item.focus-visible:focus {\n background-color: rgba(0, 0, 0, 0.4);\n}\n.custom-select__error {\n position: absolute;\n bottom: -15px;\n left: 0;\n color: #ff1553;\n opacity: 0;\n transition: opacity 0.1s ease;\n}\n.custom-select__text {\n font-size: 20px;\n line-height: 24px;\n flex-shrink: 0;\n width: 80%;\n overflow: hidden;\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n opacity: 0;\n transition: opacity 0.3s ease 0.1s;\n}\n.custom-select__text br {\n display: none;\n}\n.custom-select__icon {\n flex-shrink: 0;\n width: 20px;\n height: 10px;\n margin-left: auto;\n background-color: #000000;\n transition: transform 0.3s ease;\n clip-path: polygon(100% 0, 100% 20%, 50% 100%, 0 20%, 0 0, 50% 80%);\n}\n.custom-select.is-disabled {\n pointer-events: none;\n}\n.custom-select.is-disabled .custom-select__list {\n display: none;\n}\n.custom-select.open-up .custom-select__list {\n bottom: auto;\n top: 0;\n transform: translateY(calc(-100% + 10px));\n}\n.custom-select.is-open .custom-select__list {\n visibility: visible;\n opacity: 1;\n}\n.custom-select.is-open .custom-select__icon {\n transform: rotate(180deg);\n}\n.custom-select.is-open .custom-select__label {\n opacity: 0;\n}\n.custom-select.not-empty .custom-select__text {\n opacity: 1;\n}\n.custom-select.not-empty .custom-select__label {\n opacity: 0;\n}\n.custom-select.not-empty .custom-select__placeholder {\n opacity: 0;\n}\n.custom-select.is-invalid .custom-select__error {\n opacity: 1;\n}\n.custom-select.is-invalid .custom-select__button {\n border: 2px solid #ff1553;\n}\n.custom-select.is-invalid .custom-select__button:focus, .custom-select.is-invalid .custom-select__button:hover {\n border: 2px solid rgba(255, 21, 83, 0.5);\n}\n.custom-select--placeholder .custom-select__label {\n transform: translateY(calc(-50% - 40px));\n opacity: 1;\n}\n.custom-select--placeholder.is-open .custom-select__label {\n opacity: 1;\n}\n.custom-select--placeholder.not-empty .custom-select__label {\n opacity: 1;\n}\n.custom-select.slide-up.not-empty .custom-select__label, .custom-select.slide-up.is-open .custom-select__label {\n transform: translateY(calc(-50% - 40px));\n opacity: 1;\n}\n.custom-select.slide-up.not-empty .custom-select__text, .custom-select.slide-up.is-open .custom-select__text {\n opacity: 1;\n}\n.custom-select .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n}\n.custom-select .input-message.is-invalid {\n color: #ff0000;\n}\n.custom-select .input-message.is-valid {\n color: #15ab07;\n}\n\n.custom-toggle {\n position: relative;\n font-size: 18px;\n line-height: 27px;\n font-weight: 300;\n display: flex;\n}\n@media screen and (max-width: 767px) {\n .custom-toggle {\n width: 100%;\n }\n}\n.custom-toggle input {\n position: absolute;\n width: 1px;\n height: 1px;\n margin: -1px;\n clip: rect(0 0 0 0);\n}\n.custom-toggle label {\n position: relative;\n padding-left: 52px;\n cursor: pointer;\n}\n.custom-toggle label span {\n margin-bottom: 0;\n margin-left: 0;\n}\n.custom-toggle--checkbox .custom-toggle__icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 28px;\n height: 28px;\n border: 1.5px solid #ffffff;\n transition: border 0.3s ease;\n /* &::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n background-image: url('../../img/svg/tick.svg');\n background-position: center;\n background-repeat: no-repeat;\n }*/\n}\n.custom-toggle--radio .custom-toggle__icon {\n position: absolute;\n top: 0;\n left: 0;\n width: 28px;\n height: 28px;\n border: 1px solid #ffffff;\n border-radius: 50%;\n transition: border 0.3s ease;\n /*&::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n\n width: 20px;\n height: 20px;\n\n background-image: url('../../img/svg/tick.svg');\n background-position: center;\n background-repeat: no-repeat;\n }*/\n}\n.custom-toggle input:checked + .custom-toggle__icon {\n border: 1.5px solid #ffffff;\n background: url(\"../img/svg/tick.svg\");\n background-position: center;\n background-repeat: no-repeat;\n}\n.custom-toggle input:checked + .custom-toggle__icon::before {\n background: url(\"../img/svg/tick.svg\");\n background-position: center;\n background-repeat: no-repeat;\n}\n.custom-toggle .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n}\n.custom-toggle .input-message.is-invalid {\n color: #ff0000;\n}\n.custom-toggle .input-message.is-valid {\n color: #15ab07;\n}\n\n.custom-toggle__svg {\n fill: #000000;\n color: #000000;\n}\n\n.general-button {\n display: block;\n margin: 0 auto;\n padding: 20px 30px;\n color: #316dc2;\n word-break: break-all;\n background-color: #000000;\n border: 1px solid #000000;\n border-radius: 30px;\n cursor: pointer;\n user-select: none;\n gap: 29px;\n grid-template-columns: 1fr 46px;\n}\n@media (max-width: 767px) {\n .general-button {\n width: 100%;\n padding: 20px 30px;\n gap: 19px;\n grid-template-columns: 1fr 34px;\n }\n}\n.general-button:hover {\n color: #ffffff;\n background-color: #000000;\n}\n.general-button:focus {\n color: #ffffff;\n background-color: #000000;\n outline: none;\n}\n.general-button:focus-visible {\n color: #ffffff;\n background-color: #000000;\n outline: none;\n}\n.general-button:active {\n color: rgba(255, 255, 255, 0.7);\n background-color: #000000;\n outline: none;\n}\n\n.general-button span {\n max-width: 280px;\n margin: 0;\n padding: 0;\n font-weight: 700;\n font-size: 18px;\n line-height: 14px;\n letter-spacing: 0.28px;\n}\n@media (max-width: 767px) {\n .general-button span {\n font-size: 16px;\n line-height: 12px;\n letter-spacing: 0.24px;\n }\n}\n\n.general-button__icon-wrapper {\n width: 46px;\n height: 46px;\n background-color: #000000;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n stroke: #ffffff;\n color: #ffffff;\n}\n@media (max-width: 767px) {\n .general-button__icon-wrapper {\n width: 34px;\n height: 34px;\n }\n}\n\n.general-button:hover .general-button__icon-wrapper {\n background-color: #ffffff;\n stroke: #316dc2;\n transform: rotate(45deg);\n color: #316dc2;\n transition: 1;\n}\n\n.general-button:focus .general-button__icon-wrapper {\n background-color: #ffffff;\n stroke: #316dc2;\n color: #316dc2;\n transform: rotate(45deg);\n}\n\n.general-button:focus-visible .general-button__icon-wrapper {\n background-color: #ffffff;\n stroke: #316dc2;\n color: #316dc2;\n transform: rotate(45deg);\n}\n\n.general-button:active .general-button__icon-wrapper {\n background-color: #ffffff;\n stroke: rgba(49, 109, 194, 0.7);\n color: rgba(49, 109, 194, 0.7);\n transform: rotate(45deg);\n}\n\n.general-button__icon {\n align-self: center;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n height: 22px;\n width: 22px;\n right: -5px;\n position: relative;\n top: 5px;\n}\n\n.general-button--dark {\n color: #ffffff;\n max-width: 270px;\n text-align: center;\n padding: 20px 30px;\n border-radius: 20px;\n grid-template-columns: 1fr;\n background-color: #000000;\n border: 1px solid #000000;\n}\n.general-button--dark:hover {\n color: #000000;\n fill: #ffffff;\n background-color: #ffffff;\n}\n.general-button--dark:focus {\n color: #000000;\n fill: #ffffff;\n background-color: #ffffff;\n outline: none;\n}\n.general-button--dark:focus-visible {\n color: #ffffff;\n fill: #ffffff;\n background-color: #000000;\n outline: none;\n}\n.general-button--dark:active {\n color: #ffffff;\n fill: #000000;\n background-color: #000000;\n outline: none;\n}\n\n.general-button--dark .general-button__icon-wrapper {\n background-color: #ffffff;\n stroke: #316dc2;\n color: #316dc2;\n}\n\n.general-button--dark:hover .general-button__icon-wrapper {\n background-color: #316dc2;\n transform: rotate(45deg);\n stroke: #ffffff;\n color: #ffffff;\n}\n\n.general-button--dark:focus .general-button__icon-wrapper {\n background-color: #316dc2;\n transform: rotate(45deg);\n stroke: #ffffff;\n color: #ffffff;\n}\n\n.general-button--dark:focus-visible .general-button__icon-wrapper {\n background-color: #316dc2;\n transform: rotate(45deg);\n stroke: #ffffff;\n color: #ffffff;\n}\n\n.general-button--dark:active .general-button__icon-wrapper {\n background-color: #316dc2;\n transform: rotate(45deg);\n stroke: rgba(255, 255, 255, 0.7);\n color: rgba(255, 255, 255, 0.7);\n}\n\n.footer {\n background-image: linear-gradient(200deg, #5413a7 0%, #9c55f5 75%);\n color: beige;\n}\n\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n background-color: rgba(0, 0, 0, 0.8);\n transform: scale(1.2);\n visibility: hidden;\n opacity: 0;\n transition: opacity 0.6s cubic-bezier(0.55, 0, 0.1, 1), transform 0.6s cubic-bezier(0.55, 0, 0.1, 1), visibility 0.6s cubic-bezier(0.55, 0, 0.1, 1);\n pointer-events: none;\n -ms-overflow-style: none;\n scrollbar-width: none;\n}\n.modal::-webkit-scrollbar {\n display: none;\n}\n.modal__wrapper {\n position: relative;\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n width: 100%;\n min-height: 100%;\n padding: 60px 40px;\n}\n@media (max-width: 767px) {\n .modal__wrapper {\n padding: 60px 16px;\n }\n}\n.modal__overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n cursor: pointer;\n}\n.modal__content {\n position: relative;\n width: 600px;\n padding: 40px;\n background-color: #ffffff;\n}\n@media (max-width: 767px) {\n .modal__content {\n width: 100%;\n padding: 20px;\n }\n}\n.modal__close-btn {\n position: absolute;\n top: 22px;\n right: 22px;\n z-index: 1;\n width: 40px;\n height: 40px;\n padding: 0;\n background: rgba(255, 255, 255, 0);\n border: none;\n cursor: pointer;\n}\n.modal--responsive .modal__content {\n width: 100%;\n}\n.modal--fit-content .modal__content {\n width: auto;\n}\n@media (max-width: 767px) {\n .modal--fit-content .modal__content {\n width: 100%;\n }\n}\n.modal--no-scale {\n transform: none;\n}\n.modal--preload {\n transition: none;\n}\n.modal.is-active {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n pointer-events: auto;\n}\n\n.alert {\n color: #000000;\n padding: 20px;\n background-color: #ffffff;\n font-size: 24px;\n font-weight: 600;\n margin-bottom: 20px;\n text-align: center;\n border-radius: 20px;\n}\n\n.alert__button-close {\n position: absolute;\n top: 30px;\n right: 30px;\n width: 22px;\n height: 22px;\n padding: 0;\n background-color: transparent;\n border: none;\n cursor: pointer;\n}\n@media (max-width: 767px) {\n .alert__button-close {\n top: 18px;\n right: 23px;\n width: 12px;\n height: 12px;\n }\n}\n\n@media (max-width: 767px) {\n .alert__icon {\n width: 12px;\n height: 12px;\n }\n}\n\n/* @mixin hover-focus {\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n @content;\n }\n }\n\n &.focus-visible:focus {\n @content;\n }\n }\n*/\n/* @include hover-focus {\n opacity: 0.8;\n }\n*/\n/*@mixin hover {\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n @content;\n }\n }\n }\n*/\n/*@mixin focus {\n &.focus-visible:focus {\n @content;\n }\n }\n*/\n/*@mixin active {\n &.focus-visible:active {\n @content;\n }\n }\n*/","/* stylelint-disable */\n/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n* Remove the margin in all browsers.\n*/\n\nbody {\n margin: 0;\n}\n\n/**\n* Render the `main` element consistently in IE.\n*/\n\nmain {\n display: block;\n}\n\n/**\n* Correct the font size and margin on `h1` elements within `section` and\n* `article` contexts in Chrome, Firefox, and Safari.\n*/\n\nh1 {\n margin: 0.67em 0;\n\n font-size: 2em;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n* 1. Add the correct box sizing in Firefox.\n* 2. Show the overflow in Edge and IE.\n*/\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n* 1. Correct the inheritance and scaling of font size in all browsers.\n* 2. Correct the odd `em` font sizing in all browsers.\n*/\n\npre {\n font-size: 1em; /* 2 */\n font-family: monospace, monospace; /* 1 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n* Remove the gray background on active links in IE 10.\n*/\n\na {\n background-color: transparent;\n}\n\n/**\n* 1. Remove the bottom border in Chrome 57-\n* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n*/\n\nabbr[title] {\n text-decoration: underline; /* 2 */\n text-decoration: underline dotted; /* 2 */\n\n border-bottom: none; /* 1 */\n}\n\n/**\n* Add the correct font weight in Chrome, Edge, and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n* 1. Correct the inheritance and scaling of font size in all browsers.\n* 2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp {\n font-size: 1em; /* 2 */\n font-family: monospace, monospace; /* 1 */\n}\n\n/**\n* Add the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/**\n* Prevent `sub` and `sup` elements from affecting the line height in\n* all browsers.\n*/\n\nsub,\nsup {\n position: relative;\n\n font-size: 75%;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n* Remove the border on images inside links in IE 10.\n*/\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n* 1. Change the font styles in all browsers.\n* 2. Remove the margin in Firefox and Safari.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n margin: 0; /* 2 */\n\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n font-family: inherit; /* 1 */\n}\n\n/**\n* Show the overflow in IE.\n* 1. Show the overflow in Edge.\n*/\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n* Remove the inheritance of text transform in Edge, Firefox, and IE.\n* 1. Remove the inheritance of text transform in Firefox.\n*/\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n* Correct the inability to style clickable types in iOS and Safari.\n*/\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n* Remove the inner border and padding in Firefox.\n*/\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n padding: 0;\n\n border-style: none;\n}\n\n/**\n* Restore the focus styles unset by the previous rule.\n*/\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n* Correct the padding in Firefox.\n*/\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n* 1. Correct the text wrapping in Edge and IE.\n* 2. Correct the color inheritance from `fieldset` elements in IE.\n* 3. Remove the padding so developers are not caught out when they zero out\n* `fieldset` elements in all browsers.\n*/\n\nlegend {\n display: table; /* 1 */\n box-sizing: border-box; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n\n color: inherit; /* 2 */\n white-space: normal; /* 1 */\n}\n\n/**\n* Add the correct vertical alignment in Chrome, Firefox, and Opera.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n* Remove the default vertical scrollbar in IE 10+.\n*/\n\ntextarea {\n overflow: auto;\n}\n\n/**\n* 1. Add the correct box sizing in IE 10.\n* 2. Remove the padding in IE 10.\n*/\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n* Correct the cursor style of increment and decrement buttons in Chrome.\n*/\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n* 1. Correct the odd appearance in Chrome and Safari.\n* 2. Correct the outline style in Safari.\n*/\n\n[type=\"search\"] {\n outline-offset: -2px; /* 2 */\n\n -webkit-appearance: textfield; /* 1 */\n}\n\n/**\n* Remove the inner padding in Chrome and Safari on macOS.\n*/\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n* 1. Correct the inability to style clickable types in iOS and Safari.\n* 2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n font: inherit; /* 2 */\n\n -webkit-appearance: button; /* 1 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n* Add the correct display in Edge, IE 10+, and Firefox.\n*/\n\ndetails {\n display: block;\n}\n\n/*\n* Add the correct display in all browsers.\n*/\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n* Add the correct display in IE 10+.\n*/\n\ntemplate {\n display: none;\n}\n\n/**\n* Add the correct display in IE 10.\n*/\n\n[hidden] {\n display: none;\n}\n","*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\nhtml,\nbody {\n margin: 0;\n padding: 0;\n min-height: 100vh;\n}\n\nhtml {\n font-style: normal;\n font-weight: 400;\n font-size: $fz-default;\n line-height: 24px;\n font-family: $ff-montserrat;\n color: $color-default-black;\n\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n // оптимизация выравнивания шрифта относительно центра строки\n text-rendering: optimizeLegibility;\n // если по прежнему есть проблемы с выравниванием\n // https://transfonter.org/ - включите настройку https://prnt.sc/12rnt6g и переконвертируйте шрифт\n}\n\nbody {\n width: 100%;\n height: 100%;\n\n background-color: $color-default-white;\n}\n\na {\n color: $color-default-black;\n text-decoration: none;\n}\n\nimg,\nvideo {\n display: block;\n max-width: 100%;\n height: auto;\n}\n\ntextarea {\n resize: none;\n}\n\n// chrome autofill background removal\n// если на проекте у инпутов используются разные цвета фонов\\текста -\n// удалите это из глобала и используйте локально с нужными цветами\n// rgba не подойдет, сконвертируйте цвет в hex без прозрачности\n// если в стилях уже используется box-shadow есть другое решение -\n// задать к списку транзишенов `background-color 10000000s ease-out`\ninput:-webkit-autofill {\n box-shadow: inset 0 0 0 1000px $color-default-white;\n\n -webkit-text-fill-color: $color-default-black;\n}\n\n// firefox placeholder \\ invalid fix + ios bdrs\ninput,\ntextarea {\n border-radius: 0;\n\n &::placeholder {\n opacity: 1;\n }\n\n &:invalid {\n box-shadow: none;\n }\n}\n\nselect {\n border-radius: 0;\n}\n\n// ie11 X removal\ninput {\n &::-ms-clear,\n &::-ms-reveal {\n display: none;\n }\n}\n\n// chrome search X removal\ninput[type=\"search\"]::-webkit-search-decoration,\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-results-button,\ninput[type=\"search\"]::-webkit-search-results-decoration {\n appearance: none;\n}\n\n// input[number] arrows removal\ninput::-webkit-outer-spin-button,\ninput::-webkit-inner-spin-button {\n margin: 0;\n\n appearance: none;\n}\n\ninput[type=\"number\"] {\n appearance: textfield;\n}\n\n// ios button \\ inputs reset\nselect,\ntextarea,\ninput:matches([type=\"email\"],\n [type=\"number\"],\n [type=\"password\"],\n [type=\"search\"],\n [type=\"tel\"],\n [type=\"text\"],\n [type=\"url\"]) {\n appearance: none;\n}\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n appearance: none;\n}\n",".custom-select {\n position: relative;\n\n width: 300px;\n padding: 14px 0 28px;\n margin: 0 0 44px 0;\n\n @media screen and (max-width: 767px) {\n padding: 4px 0 14px;\n width: 100%;\n }\n\n &__label {\n position: absolute;\n top: 50%;\n left: 10px;\n\n transform: translateY(-50%);\n\n transition: transform 0.3s ease, opacity 0.3s ease;\n\n pointer-events: none;\n\n @media screen and (max-width: 767px) {\n transform: translateY(calc(-50% - 5px));\n }\n }\n\n &__placeholder {\n position: absolute;\n top: 50%;\n left: 10px;\n\n transform: translateY(-50%);\n\n transition: transform 0.3s ease, opacity 0.3s ease;\n\n pointer-events: none;\n\n @media screen and (max-width: 767px) {\n transform: translateY(calc(-50% - 5px));\n }\n }\n\n select {\n position: absolute;\n\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n\n white-space: nowrap;\n\n border: 0;\n\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n }\n\n &__button {\n display: flex;\n align-items: center;\n width: 100%;\n height: 48px;\n padding: 5px 10px;\n\n background-color: rgba(255, 255, 255, 0);\n border: 2px solid rgba(0, 0, 0, 0.2);\n border-radius: 5px;\n outline: none;\n cursor: pointer;\n\n transition: border 0.3s ease;\n\n &:hover {\n border: 2px solid rgba(0, 0, 0, 0.5);\n }\n\n &:focus {\n border: 2px solid rgba(0, 0, 0, 0.8);\n }\n\n &:disabled {\n pointer-events: none;\n opacity: 0.3;\n }\n }\n\n &__list {\n position: absolute;\n bottom: 10px;\n z-index: 1;\n\n width: 100%;\n max-height: 100px;\n margin: 0;\n padding: 0;\n overflow-y: auto;\n\n list-style: none;\n\n background-color: #ffffff;\n border: 2px solid #000000;\n transform: translateY(100%);\n visibility: hidden;\n opacity: 0;\n\n transition: visibility 0.3s ease, opacity 0.3s ease;\n }\n\n &__item {\n padding: 5px;\n\n outline: none;\n cursor: pointer;\n\n transition: background-color 0.3s ease;\n\n &[aria-selected=\"true\"] {\n background-color: rgba(0, 0, 0, 0.2);\n\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n background-color: rgba(0, 0, 0, 0.2);\n }\n }\n\n &.focus-visible:focus {\n background-color: rgba(0, 0, 0, 0.2);\n }\n }\n\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n background-color: rgba(0, 0, 0, 0.4);\n }\n }\n\n &.focus-visible:focus {\n background-color: rgba(0, 0, 0, 0.4);\n }\n }\n\n &__error {\n position: absolute;\n bottom: -15px;\n left: 0;\n\n color: #ff1553;\n\n opacity: 0;\n\n transition: opacity 0.1s ease;\n }\n\n &__text {\n font-size: 20px;\n line-height: 24px;\n flex-shrink: 0;\n width: 80%;\n overflow: hidden;\n\n text-align: left;\n white-space: nowrap;\n text-overflow: ellipsis;\n\n opacity: 0;\n\n transition: opacity 0.3s ease 0.1s;\n\n br {\n display: none;\n }\n }\n\n &__icon {\n flex-shrink: 0;\n width: 20px;\n height: 10px;\n margin-left: auto;\n\n background-color: #000000;\n\n transition: transform 0.3s ease;\n\n clip-path: polygon(100% 0, 100% 20%, 50% 100%, 0 20%, 0 0, 50% 80%);\n }\n\n &.is-disabled {\n pointer-events: none;\n\n .custom-select__list {\n display: none;\n }\n }\n\n &.open-up {\n .custom-select__list {\n bottom: auto;\n top: 0;\n transform: translateY(calc(-100% + 10px));\n }\n }\n\n &.is-open {\n .custom-select__list {\n visibility: visible;\n opacity: 1;\n }\n\n .custom-select__icon {\n transform: rotate(180deg);\n }\n\n .custom-select__label {\n opacity: 0;\n }\n }\n\n &.not-empty {\n .custom-select__text {\n opacity: 1;\n }\n\n .custom-select__label {\n opacity: 0;\n }\n\n .custom-select__placeholder {\n opacity: 0;\n }\n }\n\n &.is-invalid {\n .custom-select__error {\n opacity: 1;\n }\n\n .custom-select__button {\n border: 2px solid #ff1553;\n\n &:focus,\n &:hover {\n border: 2px solid rgba(#ff1553, 0.5);\n }\n }\n }\n\n /* &.is-valid {\n .custom-select__button {\n border: 2px solid $color-eucalyptus;\n\n &:focus,\n &:hover {\n border: 2px solid rgba($color-eucalyptus, 0.5);\n }\n }\n } */\n\n &--placeholder {\n .custom-select__label {\n transform: translateY(calc(-50% - 40px));\n opacity: 1;\n }\n\n &.is-open .custom-select__label {\n opacity: 1;\n }\n\n &.not-empty .custom-select__label {\n opacity: 1;\n }\n }\n\n &.slide-up.not-empty,\n &.slide-up.is-open {\n .custom-select__label {\n transform: translateY(calc(-50% - 40px));\n opacity: 1;\n }\n\n .custom-select__text {\n opacity: 1;\n }\n }\n\n .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n\n &.is-invalid {\n color: #ff0000;\n }\n\n &.is-valid {\n color: #15ab07;\n }\n }\n}\n","/* здесь подключите шрифты*/\n@font-face {\n font-style: normal;\n font-weight: 400;\n font-family: \"Montserrat\";\n\n font-display: swap;\n src: local(\"Montserrat\"),\n url(\"../fonts/montserrat-regular.woff2\") format(\"woff2\");\n}\n\n@font-face {\n font-style: normal;\n font-weight: 500;\n font-family: \"Montserrat\";\n\n font-display: swap;\n src: local(\"Montserrat\"),\n url(\"../fonts/montserrat-medium.woff2\") format(\"woff2\");\n}\n\n\n@font-face {\n font-style: normal;\n font-weight: 700;\n font-family: \"Montserrat\";\n\n font-display: swap;\n src: local(\"Montserrat\"),\n url(\"../fonts/montserrat-bold.woff2\") format(\"woff2\");\n}\n",".wrapper {\n position: relative;\n\n display: flex;\n flex-direction: column;\n min-height: 100vh;\n /* stylelint-disable-next-line */\n min-height: calc(100 * var(--vh, 1vh));\n\n .header,\n .footer {\n flex-shrink: 0;\n }\n\n main {\n flex-grow: 1;\n }\n}\n\n.visually-hidden {\n position: absolute;\n\n width: 1px;\n height: 1px;\n margin: -1px;\n padding: 0;\n overflow: hidden;\n\n white-space: nowrap;\n\n border: 0;\n\n clip: rect(0 0 0 0);\n clip-path: inset(100%);\n}\n\n.scroll-lock-ios {\n position: fixed;\n\n overflow: hidden;\n}\n\n.scroll-lock {\n overflow: hidden;\n}\n\n.no-scrollbar {\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n}\n\n.no-transition {\n /* stylelint-disable-next-line */\n transition: none !important;\n}\n\n.js-focus-visible :focus:not(.focus-visible) {\n outline: none;\n}\n",".container {\n width: 100%;\n flex-grow: 1;\n max-width: 1440px;\n margin: 0 auto;\n padding: 0 0 0 70px;\n background-image: $main-gradient;\n margin-left: 0;\n margin-right: 0;\n\n @media (max-width: 1230px) {\n padding: 0 70px;\n }\n\n @media (max-width: 540px) {\n padding: 0 30px;\n }\n}\n",".header {\n color: #ffffff;\n padding: 20px 15px 30px 15px;\n}\n\n.header__logo-link {\n font-size: 26px;\n font-weight: 800;\n color: $color-default-black;\n}\n",".form {\n width: 100%;\n //background-color: $color-alabaster;\n}\n\n.form__inner {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 80px;\n\n @media (max-width: 1230px) {\n grid-template-columns: 1fr;\n gap: 0;\n }\n}\n\n.form__title {\n font-size: 48px;\n font-weight: 800;\n line-height: normal;\n color: $color-default-white;\n margin-top: 0;\n margin-bottom: 20px;\n\n @media (max-width: 1230px) {\n text-align: center;\n }\n\n @include vp-767 {\n font-size: 26px;\n margin-bottom: 17px;\n }\n}\n\n.form__link {\n padding: 13px;\n border: 1px solid $color-default-black;\n background-color: transparent;\n border-radius: 20px;\n display: block;\n position: relative;\n max-width: 340px;\n\n @media (max-width: 1230px){\n margin: 0 auto;\n }\n\n &:hover {\n color: $color-default-white;\n border: 1px solid $color-default-white;\n //fill: $color-default-white;\n\n .form__link-text {\n color: $color-default-white;\n }\n }\n\n &:focus {\n border: 1px solid $color-default-white;\n fill: $color-default-white;\n color: $color-default-white;\n\n .form__link-text {\n color: $color-default-white;\n }\n }\n\n &:focus-visible {\n border: 1px solid $color-default-white;\n fill: $color-default-white;\n color: $color-default-white;\n\n .form__link-text {\n color: $color-default-white;\n }\n }\n\n &:active {\n color: $color-default-white;\n fill: $color-default-white;\n\n border: 1px solid $color-default-white;\n\n .form__link-text {\n color: $color-default-white;\n }\n }\n\n .form__link-icon {\n &:hover {\n fill: $color-default-white;\n color: $color-default-white;\n }\n\n &:focus {\n fill: $color-default-white;\n }\n\n &:focus-visible {\n fill: $color-default-white;\n }\n\n &:active {\n fill: $color-default-white;\n }\n }\n}\n\n.form__link-icon {\n fill: $color-default-black;\n background-position: center;\n background-repeat: no-repeat;\n width: 24px;\n height: 24px;\n position: absolute;\n display: block;\n\n &:hover {\n fill: $color-default-white;\n color: $color-default-white;\n }\n\n &:focus {\n fill: $color-default-white;\n }\n\n &:focus-visible {\n fill: $color-default-white;\n }\n\n &:active {\n fill: $color-default-white;\n }\n}\n\n.form__link-text {\n font-size: 18px;\n color: $color-default-black;\n font-weight: 400;\n padding-left: 35px;\n margin: 0;\n}\n\n.form__text {\n font-size: 18px;\n font-weight: 400;\n line-height: normal;\n color: $color-default-white;\n margin-top: 10px;\n margin-bottom: 20px;\n\n @media (max-width: 1230px) {\n text-align: center;\n }\n\n @include vp-767 {\n font-size: 14px;\n margin-bottom: 7px;\n }\n}\n\n.form__wrapprer {\n max-width: 1440px;\n margin: 0 auto;\n padding: 117px 6.9% 30px;\n\n @include vp-1199 {\n padding: 97px 45px 30px 45px;\n }\n\n @include vp-767 {\n padding: 67px 15px 14px;\n }\n\n @media (min-width: 1440px) {\n padding-right: 100px;\n padding-left: 100px;\n }\n}\n\n.form__content {\n position: relative;\n}\n\n.form__inner-wrapper-grid {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 20px;\n\n @media (max-width: 540px) {\n grid-template-columns: 1fr;\n gap: 0;\n }\n}\n\n.form__inner-wrapper {\n margin-bottom: 30px;\n}\n\n.form__input {\n position: relative;\n\n display: flex;\n flex-direction: column-reverse;\n width: 100%;\n margin: 0;\n margin-bottom: 0;\n padding: 0;\n\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n color: $color-alabaster;\n\n @media (max-width: 1230px) {\n margin-bottom: 15px;\n }\n\n @include vp-767 {\n margin-bottom: 20px;\n }\n\n @media (max-width: 540px) {\n margin-bottom: 0;\n }\n}\n\n.form__input label {\n display: block;\n margin: 0;\n margin-bottom: 8px;\n padding: 0;\n\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n color: rgba(240, 239, 233, 0.8);\n\n @include vp-1199 {\n margin-bottom: 7px;\n\n line-height: 20px;\n }\n\n @media (max-width: 1230px) {\n margin-bottom: 12px;\n\n font-size: 12px;\n line-height: 14px;\n }\n}\n\n.form__input input::placeholder {\n color: $color-default-black;\n}\n\n.form__input input {\n padding: 16px 25px;\n\n font-size: 14px;\n color: $color-default-black;\n\n //background-color: transparent;\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n\n @media (max-width: 1230px) {\n padding: 16px 25px;\n }\n\n &:disabled {\n background: rgba(169, 175, 183, 0.2);\n border: 1px solid rgba(169, 175, 183, 0.5);\n }\n\n &:hover {\n border: 1px solid $color-default-white;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:focus-visible {\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:active {\n color: $color-default-white;\n\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:hover + label {\n color: $color-alabaster;\n }\n\n &:focus + label {\n color: $color-alabaster;\n }\n\n &:focus-visible + label {\n color: $color-alabaster;\n }\n\n &:active + label {\n color: $color-alabaster;\n }\n}\n\n.form__textarea {\n display: flex;\n flex-direction: column-reverse;\n margin-bottom: 18px;\n\n @media (max-width: 1230px) {\n margin-bottom: 17px;\n }\n\n @include vp-767 {\n margin-bottom: 21px;\n }\n}\n\n.form__textarea textarea {\n min-height: 98px;\n padding: 18px 25px;\n\n font-size: 14px;\n color: $color-default-black;\n\n //background-color: transparent;\n border: 1px solid rgba(255, 255, 255, 0.3);\n border-radius: 8px;\n\n @include vp-767 {\n width: 100%;\n min-width: unset;\n min-height: 94px;\n padding: 13px 25px;\n }\n\n &:disabled {\n background: rgba(169, 175, 183, 0.2);\n border: 1px solid rgba(169, 175, 183, 0.5);\n }\n\n &:hover {\n border: 1px solid $color-default-white;\n opacity: 1;\n }\n\n &:focus {\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:focus-visible {\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:active {\n color: $color-default-white;\n\n border: 1px solid $color-default-white;\n outline: none;\n opacity: 1;\n }\n\n &:hover + p {\n color: $color-alabaster;\n }\n\n &:focus + p {\n color: $color-alabaster;\n }\n\n &:focus-visible + p {\n color: $color-alabaster;\n }\n\n &:active + p {\n color: $color-alabaster;\n }\n}\n\n.form__textarea p {\n display: block;\n margin: 0;\n margin-bottom: 8px;\n padding: 0;\n\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 18px;\n text-align: start;\n color: rgba(240, 239, 233, 0.8);\n\n @include vp-1199 {\n margin-bottom: 6px;\n\n line-height: 20px;\n }\n\n @include vp-767 {\n margin-bottom: 12px;\n\n font-size: 12px;\n line-height: 14px;\n }\n}\n\n.form__checkbox-wrapper {\n display: grid;\n grid-template-columns: 1fr 1fr;\n gap: 5px;\n margin-left: 10px;\n\n @media (max-width: 1230px) {\n justify-items: center;\n }\n\n @media (max-width: 540px) {\n grid-template-columns: 1fr;\n gap: 0;\n margin-bottom: 20px;\n }\n}\n\n.form__checkbox {\n margin: 0;\n margin-bottom: 20px;\n padding: 0;\n}\n\n.form__checkbox:last-of-type {\n margin: 0;\n margin-top: 2px;\n margin-bottom: 39px;\n padding: 0;\n\n @include vp-767 {\n margin-top: 0;\n margin-bottom: 12px;\n }\n}\n\n.form__checkbox-label {\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 12px;\n color: $color-default-white;\n\n opacity: 0.9;\n}\n\n.form__checkbox label {\n padding-left: 30px;\n}\n\n.custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n top: 6px;\n\n width: 20px;\n height: 20px;\n\n border: 1px solid rgba(255, 255, 255, 0.7);\n border-radius: 2px;\n\n @include vp-767 {\n top: 12px;\n }\n\n @media (min-width: 321px) and (max-width: 767px) {\n top: 6px;\n }\n\n &:hover {\n border: 1px solid $color-default-white;\n outline: none;\n\n transition: 0.1s ease;\n }\n\n &:focus {\n border: 1px solid $color-default-white;\n outline: none;\n\n transition: 0.1s ease;\n }\n\n &:focus-visible {\n border: 1px solid $color-default-white;\n outline: none;\n\n transition: 0.1s ease;\n }\n\n &:active {\n border: 1px solid $color-default-white;\n outline: none;\n\n transition: 0.1s ease;\n }\n}\n\n.custom-toggle--checkbox .form__toggle-icon::before,\n.custom-toggle--radio .form__toggle-icon::before {\n width: 10px;\n height: 10px;\n}\n\n.custom-toggle input:checked + .form__toggle-icon::before {\n width: 10px;\n height: 10px;\n\n background-color: transparent;\n background-image: url(\"../img/svg/check.svg\");\n background-repeat: no-repeat;\n background-size: 10px 10px;\n}\n\n.custom-toggle input:checked + .form__toggle-icon {\n background-color: $main-gradient;\n border: 1px solid $color-default-white;\n\n &:hover {\n background-color: transparent;\n\n &::before {\n background-image: url(\"../img/svg/check-white.svg\");\n }\n }\n\n &:focus {\n background-color: transparent;\n\n &::before {\n background-image: url(\"../img/svg/check-white.svg\");\n }\n }\n\n &:focus-visible {\n background-color: transparent;\n\n &::before {\n background-image: url(\"../img/svg/check-white.svg\");\n }\n }\n}\n\n.is-invalid.custom-toggle--checkbox .form__toggle-icon,\n.custom-toggle--radio .form__toggle-icon {\n background: rgba(255, 94, 102, 0.2);\n border: 1px solid $color-wild-watermelon;\n opacity: 0.7;\n}\n\n.form__button {\n width: 100%;\n margin: 0 auto;\n\n @media (max-width: 1230px) {\n width: 100%;\n }\n\n .span {\n font-weight: 700;\n text-transform: lowercase;\n }\n}\n\n.form__select-text {\n font-style: normal;\n font-weight: 400;\n font-size: 14px;\n line-height: 14px;\n color: $color-alabaster;\n}\n\n.form__inner-img {\n position: relative;\n}\n\n.form__inner-img img {\n position: fixed;\n height: auto;\n right: 0;\n z-index: 2;\n object-fit: cover;\n max-width: 100%;\n bottom: 0;\n\n @media (max-width: 1230px) {\n display: none;\n }\n}\n","@mixin retina {\n @media (min-resolution: $retina-dpi), (min-resolution: $retina-dppx) {\n @content;\n }\n}\n\n@mixin hover {\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n @content;\n }\n }\n}\n\n@mixin focus {\n &.focus-visible:focus {\n @content;\n }\n}\n\n@mixin active {\n &.focus-visible:active {\n @content;\n }\n}\n\n@mixin hover-focus {\n @media (hover: hover) {\n &:hover:not(.focus-visible) {\n @content;\n }\n }\n\n &.focus-visible:focus {\n @content;\n }\n}\n\n// Desktop first\n\n@mixin vp-1919 {\n @media (max-width: ($vp-1920 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-1439 {\n @media (max-width: ($vp-1440 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-1279 {\n @media (max-width: ($vp-1280 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-1199 {\n @media (max-width: ($vp-1200 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-1023 {\n @media (max-width: ($vp-1024 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-767 {\n @media (max-width: ($vp-768 - 1px)) {\n @content;\n }\n}\n\n@mixin vp-374 {\n @media (max-width: ($vp-375 - 1px)) {\n @content;\n }\n}\n\n\n// Mobile first\n\n// @mixin vp-375 {\n// @media (min-width: $vp-375) {\n// @content;\n// }\n// }\n\n// @mixin vp-768 {\n// @media (min-width: $vp-768) {\n// @content;\n// }\n// }\n\n// @mixin vp-1024 {\n// @media (min-width: $vp-1024) {\n// @content;\n// }\n// }\n\n// @mixin vp-1280 {\n// @media (min-width: $vp-1280) {\n// @content;\n// }\n// }\n\n// @mixin vp-1440 {\n// @media (min-width: $vp-1440) {\n// @content;\n// }\n// }\n\n// @mixin vp-1920 {\n// @media (min-width: $vp-1920) {\n// @content;\n// }\n// }\n\n// ---------------------------------\n\n// не нужно добавлять свои миксины для ресета списков, обнуления кнопок и прочие\n// этим вы усложняете работу команды, проверку вашего кода и будущую поддержку проекта\n",".custom-input,\n.custom-textarea {\n position: relative;\n\n display: flex;\n padding: 14px 0 20px;\n\n @media screen and (max-width: 767px) {\n width: 100%;\n }\n\n @media (max-width: 540px) {\n padding: 14px 0 10px;\n }\n\n label {\n display: flex;\n align-items: center;\n width: 100%;\n\n @media screen and (max-width: 767px) {\n align-items: flex-start;\n flex-direction: column;\n }\n\n input,\n textarea {\n flex-grow: 1;\n max-width: 300px;\n min-height: 48px;\n margin-left: auto;\n padding: 10px;\n\n border: 2px solid rgba(#000000, 0.2);\n border-radius: 5px;\n outline: none;\n\n transition: border 0.3s ease;\n\n @media screen and (max-width: 767px) {\n max-width: unset;\n width: 100%;\n }\n\n &:hover {\n border: 2px solid rgba(#000000, 0.5);\n }\n\n &:focus {\n border: 2px solid rgba(#000000, 0.8);\n }\n }\n }\n\n &__label {\n @media screen and (max-width: 767px) {\n margin: 0 0 18px 0;\n }\n }\n\n &__error {\n position: absolute;\n right: 0;\n bottom: 35px;\n\n color: #ff1553;\n\n opacity: 0;\n\n transition: opacity 0.3s ease;\n\n @media screen and (max-width: 767px) {\n bottom: 20px;\n }\n }\n\n &.is-invalid {\n input,\n textarea {\n border-radius: 8px;\n border: 1px solid $color-wild-watermelon;\n background: rgba(255, 94, 102, 0.2);\n\n &:focus,\n &:hover {\n border-radius: 8px;\n border: 1px solid $color-wild-watermelon;\n background: rgba(255, 94, 102, 0.2);\n }\n }\n }\n\n .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n\n &.is-invalid {\n color: #ff0000;\n }\n\n &.is-valid {\n color: #15ab07;\n }\n }\n}\n\n.custom-textarea {\n width: 530px;\n\n &::placeholder {\n color: #000000;\n }\n}\n",".page__body {\n background-image: $main-gradient;\n}\n",".btn {\n display: inline-flex;\n padding: 10px 20px;\n\n color: $color-default-white;\n\n background-color: $color-neon-blue;\n border: none;\n cursor: pointer;\n\n transition: opacity $trans-default;\n\n &--red {\n background-color: $color-torch-red;\n }\n\n &:disabled {\n opacity: 0.5;\n\n pointer-events: none;\n }\n\n @include hover-focus {\n opacity: 0.8;\n }\n}\n",".custom-toggle {\n position: relative;\n font-size: 18px;\n line-height: 27px;\n font-weight: 300;\n\n display: flex;\n //width: 500px;\n //padding: 14px 0 10px 36px;\n\n @media screen and (max-width: 767px) {\n //padding: 14px 0 10px 0;\n width: 100%;\n }\n\n input {\n position: absolute;\n\n width: 1px;\n height: 1px;\n margin: -1px;\n\n clip: rect(0 0 0 0);\n }\n\n label {\n position: relative;\n\n padding-left: 52px;\n\n cursor: pointer;\n\n span {\n margin-bottom: 0;\n margin-left: 0;\n }\n }\n\n &--checkbox {\n .custom-toggle__icon {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 28px;\n height: 28px;\n\n border: 1.5px solid #ffffff;\n\n transition: border 0.3s ease;\n\n\n /* &::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n background-image: url('../../img/svg/tick.svg');\n background-position: center;\n background-repeat: no-repeat;\n }*/\n }\n }\n\n &--radio {\n .custom-toggle__icon {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 28px;\n height: 28px;\n\n border: 1px solid #ffffff;\n border-radius: 50%;\n\n transition: border 0.3s ease;\n\n\n /*&::before {\n content: \"\";\n position: absolute;\n top: 50%;\n left: 50%;\n\n width: 20px;\n height: 20px;\n\n background-image: url('../../img/svg/tick.svg');\n background-position: center;\n background-repeat: no-repeat;\n }*/\n }\n }\n\n input:checked + .custom-toggle__icon {\n border: 1.5px solid #ffffff;\n background: url(\"../img/svg/tick.svg\");\n background-position: center;\n background-repeat: no-repeat;\n\n &::before {\n background: url(\"../img/svg/tick.svg\");\n background-position: center;\n background-repeat: no-repeat;\n }\n }\n\n .input-message {\n position: absolute;\n right: 0;\n bottom: -5px;\n\n &.is-invalid {\n color: #ff0000;\n }\n\n &.is-valid {\n color: #15ab07;\n }\n }\n}\n\n.custom-toggle__svg {\n fill: $color-default-black;\n color: $color-default-black;\n}\n",".general-button {\n //display: grid;\n //align-items: center;\n display: block;\n margin: 0 auto;\n padding: 20px 30px;\n\n color: $color-light-blue;\n word-break: break-all;\n\n background-color: $color-default-black;\n border: 1px solid $color-default-black;\n border-radius: 30px;\n cursor: pointer;\n\n user-select: none;\n\n gap: 29px;\n grid-template-columns: 1fr 46px;\n\n @include vp-767 {\n width: 100%;\n padding: 20px 30px;\n\n gap: 19px;\n grid-template-columns: 1fr 34px;\n }\n\n &:hover {\n color: $color-default-white;\n\n background-color: $color-default-black;\n }\n\n &:focus {\n color: $color-default-white;\n\n background-color: $color-default-black;\n outline: none;\n }\n\n &:focus-visible {\n color: $color-default-white;\n\n background-color: $color-default-black;\n outline: none;\n }\n\n &:active {\n color: rgba(255, 255, 255, 0.7);\n\n background-color: $color-default-black;\n outline: none;\n }\n}\n\n.general-button span {\n max-width: 280px;\n margin: 0;\n padding: 0;\n\n font-weight: 700;\n font-size: 18px;\n line-height: 14px;\n letter-spacing: 0.28px;\n\n @include vp-767 {\n font-size: 16px;\n line-height: 12px;\n letter-spacing: 0.24px;\n }\n}\n\n.general-button__icon-wrapper {\n width: 46px;\n height: 46px;\n background-color: $color-default-black;\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n stroke: $color-default-white;\n color: $color-default-white;\n\n @include vp-767 {\n width: 34px;\n height: 34px;\n }\n}\n\n.general-button:hover .general-button__icon-wrapper {\n background-color: $color-default-white;\n stroke: $color-light-blue;\n transform: rotate(45deg);\n color: $color-light-blue;\n transition: 1;\n}\n\n.general-button:focus .general-button__icon-wrapper {\n background-color: $color-default-white;\n stroke: $color-light-blue;\n color: $color-light-blue;\n transform: rotate(45deg);\n}\n\n.general-button:focus-visible .general-button__icon-wrapper {\n background-color: $color-default-white;\n stroke: $color-light-blue;\n color: $color-light-blue;\n transform: rotate(45deg);\n}\n\n.general-button:active .general-button__icon-wrapper {\n background-color: $color-default-white;\n stroke: rgba(49, 109, 194, 0.7);\n color: rgba(49, 109, 194, 0.7);\n transform: rotate(45deg);\n}\n\n.general-button__icon {\n align-self: center;\n justify-content: center;\n align-items: center;\n margin: 0 auto;\n height: 22px;\n width: 22px;\n right: -5px;\n position: relative;\n top: 5px;\n}\n\n.general-button--dark {\n color: $color-default-white;\n max-width: 270px;\n text-align: center;\n padding: 20px 30px;\n border-radius: 20px;\n grid-template-columns: 1fr;\n\n background-color: $color-default-black;\n border: 1px solid $color-default-black;\n\n &:hover {\n color: $color-default-black;\n fill: $color-default-white;\n\n background-color: $color-default-white;\n }\n\n &:focus {\n color: $color-default-black;\n fill: $color-default-white;\n\n background-color: $color-default-white;\n outline: none;\n }\n\n &:focus-visible {\n color: $color-default-white;\n fill: $color-default-white;\n\n background-color: $color-default-black;\n outline: none;\n }\n\n &:active {\n color: $color-default-white;\n fill: $color-default-black;\n\n background-color: $color-default-black;\n outline: none;\n }\n}\n\n.general-button--dark .general-button__icon-wrapper {\n background-color: $color-default-white;\n\n stroke: $color-light-blue;\n color: $color-light-blue;\n}\n\n.general-button--dark:hover .general-button__icon-wrapper {\n background-color: $color-light-blue;\n transform: rotate(45deg);\n\n stroke: $color-default-white;\n color: $color-default-white;\n}\n\n.general-button--dark:focus .general-button__icon-wrapper {\n background-color: $color-light-blue;\n transform: rotate(45deg);\n\n stroke: $color-default-white;\n color: $color-default-white;\n}\n\n.general-button--dark:focus-visible .general-button__icon-wrapper {\n background-color: $color-light-blue;\n transform: rotate(45deg);\n\n stroke: $color-default-white;\n color: $color-default-white;\n}\n\n.general-button--dark:active .general-button__icon-wrapper {\n background-color: $color-light-blue;\n transform: rotate(45deg);\n\n stroke: rgba(255, 255, 255, 0.7);\n color: rgba(255, 255, 255, 0.7);\n}\n",".footer {\n background-image: $main-gradient;\n color:beige;\n}\n",".modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1000;\n\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n -webkit-overflow-scrolling: touch;\n\n background-color: rgba($color-default-black, 0.8);\n transform: scale(1.2);\n visibility: hidden;\n opacity: 0;\n\n transition: opacity $trans-modal,\n transform $trans-modal,\n visibility $trans-modal;\n\n pointer-events: none;\n\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &::-webkit-scrollbar {\n display: none;\n }\n\n &__wrapper {\n position: relative;\n\n display: flex;\n flex-shrink: 0;\n justify-content: center;\n align-items: center;\n width: 100%;\n min-height: 100%;\n padding: 60px 40px;\n\n @include vp-767 {\n padding: 60px 16px;\n }\n }\n\n &__overlay {\n position: absolute;\n top: 0;\n left: 0;\n\n width: 100%;\n height: 100%;\n\n cursor: pointer;\n }\n\n &__content {\n position: relative;\n\n width: 600px;\n padding: 40px;\n\n background-color: $color-default-white;\n\n @include vp-767 {\n width: 100%;\n padding: 20px;\n }\n }\n\n &__close-btn {\n position: absolute;\n top: 22px;\n right: 22px;\n z-index: 1;\n\n width: 40px;\n height: 40px;\n padding: 0;\n\n background: $color-transparent;\n border: none;\n cursor: pointer;\n }\n\n &--responsive {\n .modal__content {\n width: 100%;\n }\n }\n\n &--fit-content {\n .modal__content {\n width: auto;\n\n @include vp-767 {\n width: 100%;\n }\n }\n }\n\n &--no-scale {\n transform: none;\n }\n\n &--preload {\n transition: none;\n }\n\n &.is-active {\n transform: scale(1);\n visibility: visible;\n opacity: 1;\n\n pointer-events: auto;\n }\n}\n",".alert {\n color: $color-default-black;\n padding: 20px;\n background-color: $color-default-white;\n font-size: 24px;\n font-weight: 600;\n margin-bottom: 20px;\n text-align: center;\n border-radius: 20px;\n}\n\n.alert__button-close {\n position: absolute;\n top: 30px;\n right: 30px;\n\n width: 22px;\n height: 22px;\n padding: 0;\n\n background-color: transparent;\n border: none;\n cursor: pointer;\n\n @include vp-767 {\n top: 18px;\n right: 23px;\n\n width: 12px;\n height: 12px;\n }\n}\n\n.alert__icon {\n @include vp-767 {\n width: 12px;\n height: 12px;\n }\n}\n"]} \ No newline at end of file diff --git a/build/fonts/montserrat-bold.woff b/build/fonts/montserrat-bold.woff new file mode 100644 index 000000000..2883cbf14 Binary files /dev/null and b/build/fonts/montserrat-bold.woff differ diff --git a/build/fonts/montserrat-bold.woff2 b/build/fonts/montserrat-bold.woff2 new file mode 100644 index 000000000..53ce9dbef Binary files /dev/null and b/build/fonts/montserrat-bold.woff2 differ diff --git a/build/fonts/montserrat-medium.woff b/build/fonts/montserrat-medium.woff new file mode 100644 index 000000000..9e15b389e Binary files /dev/null and b/build/fonts/montserrat-medium.woff differ diff --git a/build/fonts/montserrat-medium.woff2 b/build/fonts/montserrat-medium.woff2 new file mode 100644 index 000000000..b0efef2b2 Binary files /dev/null and b/build/fonts/montserrat-medium.woff2 differ diff --git a/build/fonts/montserrat-regular.woff b/build/fonts/montserrat-regular.woff new file mode 100644 index 000000000..2e90375ee Binary files /dev/null and b/build/fonts/montserrat-regular.woff differ diff --git a/build/fonts/montserrat-regular.woff2 b/build/fonts/montserrat-regular.woff2 new file mode 100644 index 000000000..71b9f4173 Binary files /dev/null and b/build/fonts/montserrat-regular.woff2 differ diff --git a/build/fonts/rouble.woff b/build/fonts/rouble.woff new file mode 100644 index 000000000..b26ce1d07 Binary files /dev/null and b/build/fonts/rouble.woff differ diff --git a/build/fonts/rouble.woff2 b/build/fonts/rouble.woff2 new file mode 100644 index 000000000..31dec8021 Binary files /dev/null and b/build/fonts/rouble.woff2 differ diff --git a/build/img/phone.png b/build/img/phone.png new file mode 100644 index 000000000..6927d216a Binary files /dev/null and b/build/img/phone.png differ diff --git a/build/img/phone@2x.png b/build/img/phone@2x.png new file mode 100644 index 000000000..8e516739f Binary files /dev/null and b/build/img/phone@2x.png differ diff --git a/build/img/sprite.svg b/build/img/sprite.svg new file mode 100644 index 000000000..6585ff9f6 --- /dev/null +++ b/build/img/sprite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/img/sprite/icon-close.svg b/build/img/sprite/icon-close.svg new file mode 100644 index 000000000..decaf3170 --- /dev/null +++ b/build/img/sprite/icon-close.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/img/svg/cross.svg b/build/img/svg/cross.svg new file mode 100644 index 000000000..f42c838c6 --- /dev/null +++ b/build/img/svg/cross.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/img/svg/not-needed-in-sprite.svg b/build/img/svg/not-needed-in-sprite.svg new file mode 100644 index 000000000..978c3eb92 --- /dev/null +++ b/build/img/svg/not-needed-in-sprite.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/build/img/svg/telegram.svg b/build/img/svg/telegram.svg new file mode 100644 index 000000000..13e40cd4b --- /dev/null +++ b/build/img/svg/telegram.svg @@ -0,0 +1,3 @@ + + + diff --git a/build/img/svg/tick.svg b/build/img/svg/tick.svg new file mode 100644 index 000000000..7165dc6bf --- /dev/null +++ b/build/img/svg/tick.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + diff --git a/build/img/tick.svg b/build/img/tick.svg new file mode 100644 index 000000000..cbfd334ad --- /dev/null +++ b/build/img/tick.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + diff --git a/build/index.html b/build/index.html new file mode 100644 index 000000000..670cf8c34 --- /dev/null +++ b/build/index.html @@ -0,0 +1,145 @@ + + + + + Botozz + + + + + + + + + +
+ BOTOZZ + +
+
+
+
+

Адаптация и благополучие ваших сотрудников

+ + + + + + + + +

Оставьте заявку на создание корпоративного чат-бота.

+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+ + Фотография руки с телефоном. + +
+
+
+ + + + + + + + + + + diff --git a/build/js/main.min.js b/build/js/main.min.js new file mode 100644 index 000000000..954aa1565 --- /dev/null +++ b/build/js/main.min.js @@ -0,0 +1,1232 @@ +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i [data-select].is-open ✅ + +// выносим все в дата атрибуты +// url до иконок пинов карты, настройки автопрокрутки слайдера, url к json и т.д. + +// для адаптивного JS используется matchMedia и addListener +// const breakpoint = window.matchMedia(`(min-width:1024px)`); +// const breakpointChecker = () => { +// if (breakpoint.matches) { +// } else { +// } +// }; +// breakpoint.addListener(breakpointChecker); +// breakpointChecker(); + +// используйте .closest(el) + +},{"./modules/form-validate/form":3,"./modules/modals/init-modals":9,"./utils/ios-vh-fix":13,"./utils/mobile-vh-fix.js":14}],2:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.callbacks = void 0; +var baseSuccessCallback = function baseSuccessCallback(event) { + event.preventDefault(); + // В данном колбеке бэкендер, либо разработчик при необходимости будет писать запрос на отправку формы на сервер и обрабатывать возможные ошибки или успешную отправку формы на сервер +}; +var baseErrorCallback = function baseErrorCallback(event) { + event.preventDefault(); + // Данный коллбек используется при необходимости выполнить какое-либо действие помимо показа ошибок при попытке отправить неккорректные данные, он не связан с запросами на сервер +}; +var callbacks = exports.callbacks = { + base: { + // Сбросс формы + reset: true, + // Таймаут сброса формы + resetTimeout: 500, + successCallback: baseSuccessCallback, + errorCallback: baseErrorCallback + } +}; + +},{}],3:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Form = void 0; +var _validator = require("./validator"); +var _callback = require("./callback"); +var _initPhoneInput = require("./init-phone-input"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var Form = exports.Form = /*#__PURE__*/function () { + function Form() { + _classCallCheck(this, Form); + this._validator = new _validator.Validator(); + this._initPhoneInput = _initPhoneInput.initPhoneInput; + this._callbacks = _callback.callbacks; + } + return _createClass(Form, [{ + key: "_resetSelect", + value: function _resetSelect(select) { + var nativeSelect = select.querySelector('select'); + var activeIndex = nativeSelect.options.selectedIndex; + var selectedOption = nativeSelect.options[activeIndex]; + var buttonText = select.querySelector('.custom-select__text'); + var selectItems = select.querySelectorAll('.custom-select__item'); + buttonText.textContent = selectedOption.textContent; + selectItems.forEach(function (item, index) { + if (index === activeIndex - 1) { + item.setAttribute('aria-selected', 'true'); + return; + } + item.setAttribute('aria-selected', 'false'); + }); + if (!nativeSelect.value) { + select.classList.remove('not-empty'); + select.classList.remove('is-valid'); + } + } + }, { + key: "_resetSelects", + value: function _resetSelects(form) { + var _this = this; + var selects = form.querySelectorAll('[data-select]'); + selects.forEach(function (select) { + _this._resetSelect(select); + }); + } + }, { + key: "reset", + value: function reset(form) { + var _this2 = this; + form.reset(); + form.querySelectorAll('.is-invalid').forEach(function (item) { + return item.classList.remove('is-invalid'); + }); + form.querySelectorAll('.is-valid').forEach(function (item) { + return item.classList.remove('is-valid'); + }); + form.querySelectorAll('.input-message').forEach(function (item) { + return item.remove(); + }); + setTimeout(function () { + _this2._resetSelects(form); + }); + } + }, { + key: "initPhoneInput", + value: function initPhoneInput(parent) { + this._initPhoneInput(parent); + } + }, { + key: "validateForm", + value: function validateForm(form) { + return this._validator.validateForm(form); + } + }, { + key: "validateFormElement", + value: function validateFormElement(item) { + return this._validator.validateFormElement(item); + } + }, { + key: "_onFormSubmit", + value: function _onFormSubmit(event) { + var _this3 = this; + var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; + if (this.validateForm(event.target) && callback) { + this._callbacks[callback].successCallback(event); + if (this._callbacks[callback].reset) { + setTimeout(function () { + _this3.reset(event.target); + }, this._callbacks[callback].resetTimeout ? this._callbacks[callback].resetTimeout : 500); + } + return; + } + if (!this.validateForm(event.target) && callback) { + this._callbacks[callback].errorCallback(event); + return; + } + } + }, { + key: "_onFormInput", + value: function _onFormInput(item) { + this.validateFormElement(item); + } + }, { + key: "_initValidate", + value: function _initValidate(parent) { + var _this4 = this; + var form = parent.querySelector('form'); + if (!form) { + return; + } + var phoneParents = form.querySelectorAll('[data-validate-type="phone"]'); + phoneParents.forEach(function (item) { + return _this4._initPhoneInput(item); + }); + var callback = parent.dataset.callback; + form.noValidate = true; + form.addEventListener('submit', function (event) { + event.preventDefault(); + _this4._onFormSubmit(event, callback); + }); + form.addEventListener('input', function (event) { + _this4._onFormInput(event.target); + }); + form.addEventListener('reset', function (event) { + _this4.reset(event.target); + }); + } + }, { + key: "init", + value: function init() { + var _this5 = this; + this._validateParent = document.querySelectorAll('[data-form-validate]'); + if (!this._validateParent.length) { + return; + } + this._validateParent.forEach(function (parent) { + return _this5._initValidate(parent); + }); + } + }]); +}(); + +},{"./callback":2,"./init-phone-input":4,"./validator":8}],4:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.initPhoneInput = void 0; +var baseCountryCode = '+7'; +var baseMatrix = ' (___) ___ __ __'; +var phoneLength = baseCountryCode.length + baseMatrix.length; +var onPhoneInputInput = function onPhoneInputInput(e) { + var matrix = "".concat(baseCountryCode).concat(baseMatrix); + var def = matrix.replace(/\D/g, ''); + var i = 0; + var val = e.target.value.replace(/\D/g, ''); + if (def.length >= val.length) { + val = def; + } + e.target.value = matrix.replace(/./g, function (a) { + if (/[_\d]/.test(a) && i < val.length) { + return val.charAt(i++); + } else if (i >= val.length) { + return ''; + } else { + return a; + } + }); +}; +var onPhoneInputFocus = function onPhoneInputFocus(_ref) { + var target = _ref.target; + if (!target.value) { + target.value = baseCountryCode; + } + target.addEventListener('input', onPhoneInputInput); + target.addEventListener('blur', onPhoneInputBlur); + target.addEventListener('keydown', onPhoneInputKeydown); + target.addEventListener('paste', onPhoneInputPaste); + target.addEventListener('click', onPhoneInputClick); +}; +var onPhoneInputClick = function onPhoneInputClick(e) { + if (e.target.selectionStart < 4) { + e.preventDefault(); + e.target.setSelectionRange(3, 3); + } +}; +var onPhoneInputPaste = function onPhoneInputPaste(e) { + e.target.setSelectionRange(0, 0); + if (!e.target.selectionStart) { + setTimeout(function () { + if (e.target.value.startsWith('+7')) { + return; + } + if (e.target.value.startsWith('+8')) { + e.target.value = "+7 ".concat(e.target.value.slice(3)); + return; + } + e.target.value = ''; + }); + } +}; +var onPhoneInputKeydown = function onPhoneInputKeydown(e) { + if (e.target.selectionStart < 4 && (e.keyCode === 37 || e.keyCode === 13)) { + e.preventDefault(); + e.target.setSelectionRange(3, 3); + } +}; +var onPhoneInputBlur = function onPhoneInputBlur(_ref2) { + var target = _ref2.target; + if (target.value === baseCountryCode) { + var parent = target.closest('[data-validate-type="phone"]'); + target.value = ''; + if (!parent.hasAttribute('data-required')) { + parent.classList.remove('is-valid'); + parent.classList.remove('is-invalid'); + var parentMessage = parent.querySelector('.input-message'); + if (parentMessage) { + parentMessage.remove(); + } + } + parent.classList.remove('not-empty'); + target.removeEventListener('input', onPhoneInputInput); + target.removeEventListener('blur', onPhoneInputBlur); + target.removeEventListener('keydown', onPhoneInputKeydown); + target.removeEventListener('paste', onPhoneInputPaste); + target.removeEventListener('click', onPhoneInputClick); + } +}; +var initPhoneInput = exports.initPhoneInput = function initPhoneInput(parent) { + var input = parent.querySelector('input'); + parent.dataset.phoneLength = phoneLength; + input.addEventListener('focus', onPhoneInputFocus); +}; + +},{}],5:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.matrixReplace = void 0; +var matrixReplace = exports.matrixReplace = function matrixReplace(item, matrix, RegEx) { + if (!matrix) { + // eslint-disable-next-line no-console + console.error('При валидации по матрице обязательно указывать формат матрицы: data-matrix=""'); + item.value = ''; + return; + } + if (!RegEx) { + // eslint-disable-next-line no-console + console.error('При валидации по матрице обязательно указывать формат ограничений: data-matrix-limitations=""'); + item.value = ''; + return; + } + var def = matrix.replace(RegEx, ''); + var val = item.value.replace(RegEx, ''); + var i = 0; + if (def.length >= val.length) { + val = def; + } + item.value = matrix.replace(/./g, function (a) { + if (/[_\^]/.test(a) && i < val.length) { + return val.charAt(i++); + } else if (i >= val.length) { + return ''; + } else { + return a; + } + }); +}; + +},{}],6:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.getMatrixLimitationsRegEx = exports.getMailRegEx = exports.getLimitationsRegEx = void 0; +var setLimitationError = function setLimitationError(limitation) { + // eslint-disable-next-line no-console + console.error("\u041F\u0435\u0440\u0435\u0434\u0430\u043D\u043D\u044B\u0439 \u0444\u043E\u0440\u043C\u0430\u0442 \u043E\u0433\u0440\u0430\u043D\u0438\u0447\u0435\u043D\u0438\u044F(data-limitation=\"".concat(limitation, "\") - \u043D\u0435 \u043F\u043E\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044F. \u041F\u0440\u043E\u0432\u0435\u0440\u044C\u0442\u0435 \u043A\u043E\u0440\u0440\u0435\u043A\u0442\u043D\u043E\u0441\u0442\u044C \u0432\u0432\u0435\u0434\u0451\u043D\u043D\u044B\u0445 \u0437\u043D\u0430\u0447\u0435\u043D\u0438\u0439.")); +}; +var getLimitationsRegEx = exports.getLimitationsRegEx = function getLimitationsRegEx(limitation) { + switch (limitation) { + case 'digit': + return /[^\d]/g; + case 'name': + return /[^a-zA-Zа-яёА-ЯЁ\-\s]/g; + case 'letters': + return /[^a-zA-Zа-яёА-ЯЁ\s]/g; + case 'letters-and-digit': + return /[^a-zA-Zа-яёА-ЯЁ\s\d]/g; + case 'cyrillic': + return /[^а-яёА-ЯЁ\s]/g; + case 'latin': + return /[^a-zA-Z\s]/g; + default: + return setLimitationError(limitation); + } +}; +var getMatrixLimitationsRegEx = exports.getMatrixLimitationsRegEx = function getMatrixLimitationsRegEx(matrix) { + switch (matrix) { + case 'digit': + return /[^\d]/g; + case 'name': + return /[^\а-яё\А-ЯЁ\a-z\A-Z\-]]/g; + case 'letters': + return /[^\а-яё\А-ЯЁ\a-z\A-Z]/g; + case 'letters-and-digit': + return /[^\а-яё\А-ЯЁ\a-z\A-Z\d]/g; + case 'cyrillic': + return /[^\а-яё\А-ЯЁ]/g; + case 'latin': + return /[^\a-z\A-Z]/g; + default: + return false; + } +}; +var getMailRegEx = exports.getMailRegEx = function getMailRegEx() { + return /[a-zA-Zа-яёА-ЯЁ0-9]{1}([a-zA-Zа-яёА-ЯЁ0-9\-_\.]{1,})?@[a-zA-Zа-яёА-ЯЁ0-9\-]{1}([a-zA-Zа-яёА-ЯЁ0-9.\-]{1,})?[a-zA-Zа-яёА-ЯЁ0-9\-]{1}\.[a-zA-Zа-яёА-ЯЁ]{2,6}/; +}; + +},{}],7:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Message = void 0; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var Message = exports.Message = /*#__PURE__*/function () { + function Message() { + _classCallCheck(this, Message); + this._baseErrorText = 'Это поле является обязательным'; + } + return _createClass(Message, [{ + key: "_messageTemplate", + value: function _messageTemplate(message, state) { + var cssClass = state === 'valid' ? 'is-valid' : 'is-invalid'; + return "").concat(message, ""); + } + }, { + key: "removeMessage", + value: function removeMessage(parent) { + var parentMessage = parent.querySelector('.input-message'); + if (parentMessage) { + parentMessage.remove(); + } + } + }, { + key: "renderMessage", + value: function renderMessage(parent, message, state) { + this.removeMessage(parent); + parent.insertAdjacentHTML('beforeend', this._messageTemplate(message, state)); + } + }]); +}(); + +},{}],8:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Validator = void 0; +var _regularExpression = require("./regular-expression"); +var _matrix = require("./matrix"); +var _renderMessage2 = require("./render-message"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var Validator = exports.Validator = /*#__PURE__*/function () { + function Validator() { + _classCallCheck(this, Validator); + this._getLimitationsRegEx = _regularExpression.getLimitationsRegEx; + this._getMatrixLimitationsRegEx = _regularExpression.getMatrixLimitationsRegEx; + this._getMailRegEx = _regularExpression.getMailRegEx; + this._matrixReplace = _matrix.matrixReplace; + this._message = new _renderMessage2.Message(); + } + return _createClass(Validator, [{ + key: "_renderMessage", + value: function _renderMessage(trigger, parent, input) { + if (!parent.hasAttribute('data-required') && !input.value) { + return; + } + if (!trigger) { + parent.classList.add('is-invalid'); + if (parent.hasAttribute('data-message-base') && !input.value) { + this._message.renderMessage(parent, parent.dataset.messageBase, 'invalid'); + } else if (parent.hasAttribute('data-message-extra') && input.value) { + this._message.renderMessage(parent, parent.dataset.messageExtra, 'invalid'); + } else if (!parent.hasAttribute('data-message-extra') && parent.hasAttribute('data-message-base') && input.value) { + this._message.renderMessage(parent, parent.dataset.messageBase, 'invalid'); + } else { + this._message.removeMessage(parent); + } + } else { + if (parent.hasAttribute('data-message-success')) { + this._message.renderMessage(parent, parent.dataset.messageSuccess, 'valid'); + } else { + this._message.removeMessage(parent); + } + } + } + }, { + key: "_setItemValidState", + value: function _setItemValidState(parent, input) { + if (!parent.hasAttribute('data-required') && !input.value) { + return; + } + parent.classList.add('is-valid'); + parent.classList.remove('is-invalid'); + input.setAttribute('aria-invalid', 'false'); + this._message.removeMessage(parent); + } + }, { + key: "_setItemInvalidState", + value: function _setItemInvalidState(parent, input) { + if (!parent.hasAttribute('data-required') && !input.value) { + return; + } + parent.classList.remove('is-valid'); + input.setAttribute('aria-invalid', 'true'); + } + }, { + key: "_simpleLimitation", + value: function _simpleLimitation(item, limitation) { + item.value = item.value.replace(this._getLimitationsRegEx(limitation), ''); + } + }, { + key: "_matrixLimitation", + value: function _matrixLimitation(item, matrix, limitation) { + this._matrixReplace(item, matrix, limitation); + } + }, { + key: "_validateTextInput", + value: function _validateTextInput(parent, input) { + var flag = true; + if (input.value.length >= (+input.getAttribute('minlength') || 1)) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_validateMatrixInput", + value: function _validateMatrixInput(parent, input) { + var flag = true; + if (input.value.length === input.closest('[data-matrix]').dataset.matrix.length) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_validateEmailInput", + value: function _validateEmailInput(parent, input) { + var flag = true; + if (new RegExp(this._getMailRegEx(), '').test(input.value)) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_validatePhoneInput", + value: function _validatePhoneInput(parent, input) { + var flag = true; + if (input.value.length >= +parent.dataset.phoneLength) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_validateCheckbox", + value: function _validateCheckbox(parent, input) { + var flag = true; + if (input.checked) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_findSelectedOption", + value: function _findSelectedOption(options) { + var flag = false; + options.forEach(function (option) { + if (option.value && option.selected) { + flag = true; + } + }); + return flag; + } + }, { + key: "_validateSelect", + value: function _validateSelect(parent, input) { + var options = input.querySelectorAll('option'); + var customSelectText = parent.querySelector('.custom-select__text'); + input.setAttribute('aria-invalid', 'false'); + var flag = true; + if (this._findSelectedOption(options)) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + parent.classList.remove('not-empty'); + customSelectText.innerHTML = ''; + flag = false; + } + return flag; + } + }, { + key: "_returnCheckedElements", + value: function _returnCheckedElements(inputs) { + var flag = false; + inputs.forEach(function (input) { + if (input.checked) { + flag = true; + } + }); + return flag; + } + }, { + key: "_removeGroupAria", + value: function _removeGroupAria(inputs) { + inputs.forEach(function (input) { + if (!input.checked) { + input.removeAttribute('aria-required'); + input.removeAttribute('aria-invalid'); + } else { + input.setAttribute('aria-required', true); + input.setAttribute('aria-invalid', false); + } + }); + } + }, { + key: "_setGroupAria", + value: function _setGroupAria(inputs) { + inputs.forEach(function (input) { + input.setAttribute('aria-required', true); + input.setAttribute('aria-invalid', true); + }); + } + }, { + key: "_validateToggleGroup", + value: function _validateToggleGroup(parent) { + var formElements = parent.querySelectorAll('input'); + var flag = true; + if (this._returnCheckedElements(formElements)) { + this._removeGroupAria(formElements); + parent.classList.remove('is-invalid'); + parent.classList.add('is-valid'); + this._message.removeMessage(parent); + } else { + this._setGroupAria(formElements); + parent.classList.remove('is-valid'); + flag = false; + } + return flag; + } + }, { + key: "_customExample", + value: function _customExample(parent, input) { + var flag = true; + if (!input.value.length) { + parent.dataset.messageBase = 'Поле обязательно к заполнению'; + this._setItemInvalidState(parent, input); + flag = false; + } else if (input.value.length < input.minLength) { + parent.dataset.messageBase = "\u041E\u0441\u0442\u0430\u043B\u043E\u0441\u044C \u0432\u0432\u0435\u0441\u0442\u0438 \u0435\u0449\u0451 ".concat(input.minLength - input.value.length, " \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"); + this._setItemInvalidState(parent, input); + flag = false; + } else if (input.value.length > input.minLength) { + parent.dataset.messageBase = "\u0412\u044B \u0432\u0432\u0435\u043B\u0438 ".concat(input.value.length - input.minLength, " \u043B\u0438\u0448\u043D\u0438\u0445 \u0441\u0438\u043C\u0432\u043E\u043B\u043E\u0432"); + this._setItemInvalidState(parent, input); + flag = false; + } else { + parent.dataset.messageSuccess = 'Поле заполнено корректно'; + this._setItemValidState(parent, input); + flag = true; + } + return flag; + } + }, { + key: "_validateFile", + value: function _validateFile(parent, input) { + var flag = true; + var sizeTest = parent.dataset.maxSize && input.files[0] ? input.files[0].size < +parent.dataset.maxSize : true; + if (input.value && sizeTest) { + this._setItemValidState(parent, input); + } else { + this._setItemInvalidState(parent, input); + flag = false; + } + return flag; + } + }, { + key: "_validateInput", + value: function _validateInput(type, parent, input) { + switch (type) { + case 'text': + return this._validateTextInput(parent, input); + case 'matrix': + return this._validateMatrixInput(parent, input); + case 'email': + return this._validateEmailInput(parent, input); + case 'phone': + return this._validatePhoneInput(parent, input); + case 'checkbox': + return this._validateCheckbox(parent, input); + case 'select': + return this._validateSelect(parent, input); + case 'toggle-group': + return this._validateToggleGroup(parent, input); + case 'file': + return this._validateFile(parent, input); + case 'custom-example': + return this._customExample(parent, input); + default: + return false; + } + } + }, { + key: "validateFormElement", + value: function validateFormElement(formElement) { + var fullValidate = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + var parent = formElement.closest('[data-validate-type]'); + if (!parent) { + return; + } + if (!parent.hasAttribute('data-required')) { + var removeElement = parent.querySelector('input') || parent.querySelector('select') || parent.querySelector('textarea'); + if (!removeElement.value) { + parent.classList.remove('is-valid'); + parent.classList.remove('is-invalid'); + } + } + var onInputValidate = parent.hasAttribute('data-on-input-validate'); + if (parent.hasAttribute('data-limitation')) { + this._simpleLimitation(formElement, parent.dataset.limitation); + } + if (parent.dataset.validateType === 'matrix') { + this._matrixLimitation(formElement, parent.dataset.matrix, this._getMatrixLimitationsRegEx(parent.dataset.matrixLimitation)); + } + var isValid = this._validateInput(parent.dataset.validateType, parent, formElement); + if (onInputValidate || fullValidate) { + this._renderMessage(isValid, parent, formElement); + } + } + }, { + key: "_fullValidate", + value: function _fullValidate(items) { + var _this = this; + var result = true; + items.forEach(function (item) { + var formElement = item.querySelector('input') || item.querySelector('select') || item.querySelector('textarea'); + _this.validateFormElement(formElement, true); + if (item.classList.contains('is-invalid')) { + result = false; + } + }); + return result; + } + }, { + key: "validateForm", + value: function validateForm(form) { + var validateItems = form.querySelectorAll('[data-validate-type]'); + var result = this._fullValidate(validateItems); + return result; + } + }]); +}(); + +},{"./matrix":5,"./regular-expression":6,"./render-message":7}],9:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.modals = exports.initModals = void 0; +var _modals = require("./modals"); +var modals; + +// Здесь реализован пример открытия модалки через колбэк закрытия +// const openModalInCloseCallback = (name, context = this) => { +// context._enableScrolling = false; +// context._setSettings('default'); +// modals.open(name); +// }; + +// closeCallback() { +// openModalInCloseCallback('modal-5'); +// }, + +var settings = { + 'default': { + preventDefault: true, + stopPlay: true, + lockFocus: true, + startFocus: true, + focusBack: true, + eventTimeout: 400, + openCallback: false, + closeCallback: false + } +}; +var initModals = exports.initModals = function initModals() { + var modalElements = document.querySelectorAll('.modal'); + modalElements.forEach(function (el) { + setTimeout(function () { + el.classList.remove('modal--preload'); + }, 100); + }); + exports.modals = modals = new _modals.Modals(settings); + // Используйте в разработке экспортируемую переменную modals, window сделан для бэкэнда + window.modals = modals; +}; + +},{"./modals":10}],10:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.Modals = void 0; +var _scrollLock = require("../../utils/scroll-lock"); +var _focusLock = require("../../utils/focus-lock"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var Modals = exports.Modals = /*#__PURE__*/function () { + function Modals() { + var settings = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; + _classCallCheck(this, Modals); + this._scrollLock = new _scrollLock.ScrollLock(); + this._focusLock = new _focusLock.FocusLock(); + this._modalOpenElements = document.querySelectorAll('[data-open-modal]'); + this._openedModalElement = null; + this._modalName = null; + this._enableScrolling = true; + this._settingKey = 'default'; + this._settings = settings; + this._preventDefault = this._settings[this._settingKey].preventDefault; + this._stopPlay = this._settings[this._settingKey].stopPlay; + this._lockFocus = this._settings[this._settingKey].lockFocus; + this._startFocus = this._settings[this._settingKey].startFocus; + this._focusBack = this._settings[this._settingKey].focusBack; + this._eventTimeout = this._settings[this._settingKey].eventTimeout; + this._openCallback = this._settings[this._settingKey].openCallback; + this._closeCallback = this._settings[this._settingKey].closeCallback; + this._documentKeydownHandler = this._documentKeydownHandler.bind(this); + this._documentClickHandler = this._documentClickHandler.bind(this); + this._modalClickHandler = this._modalClickHandler.bind(this); + this._init(); + } + return _createClass(Modals, [{ + key: "_init", + value: function _init() { + if (this._modalOpenElements.length) { + document.addEventListener('click', this._documentClickHandler); + } + } + }, { + key: "_setSettings", + value: function _setSettings() { + var settingKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._settingKey; + if (!this._settings[settingKey]) { + return; + } + this._preventDefault = typeof this._settings[settingKey].preventDefault === 'boolean' ? this._settings[settingKey].preventDefault : this._settings[this._settingKey].preventDefault; + this._stopPlay = typeof this._settings[settingKey].stopPlay === 'boolean' ? this._settings[settingKey].stopPlay : this._settings[this._settingKey].stopPlay; + this._lockFocus = typeof this._settings[settingKey].lockFocus === 'boolean' ? this._settings[settingKey].lockFocus : this._settings[this._settingKey].lockFocus; + this._startFocus = typeof this._settings[settingKey].startFocus === 'boolean' ? this._settings[settingKey].startFocus : this._settings[this._settingKey].startFocus; + this._focusBack = typeof this._settings[settingKey].lockFocus === 'boolean' ? this._settings[settingKey].focusBack : this._settings[this._settingKey].focusBack; + this._eventTimeout = typeof this._settings[settingKey].eventTimeout === 'number' ? this._settings[settingKey].eventTimeout : this._settings[this._settingKey].eventTimeout; + this._openCallback = this._settings[settingKey].openCallback || this._settings[this._settingKey].openCallback; + this._closeCallback = this._settings[settingKey].closeCallback || this._settings[this._settingKey].closeCallback; + } + }, { + key: "_documentClickHandler", + value: function _documentClickHandler(evt) { + var target = evt.target; + if (!target.closest('[data-open-modal]')) { + return; + } + evt.preventDefault(); + this._modalName = target.closest('[data-open-modal]').dataset.openModal; + if (!this._modalName) { + return; + } + this.open(); + } + }, { + key: "_documentKeydownHandler", + value: function _documentKeydownHandler(evt) { + var isEscKey = evt.key === 'Escape' || evt.key === 'Esc'; + if (isEscKey) { + evt.preventDefault(); + this.close(document.querySelector('.modal.is-active').dataset.modal); + } + } + }, { + key: "_modalClickHandler", + value: function _modalClickHandler(evt) { + var target = evt.target; + if (!target.closest('[data-close-modal]')) { + return; + } + this.close(target.closest('[data-modal]').dataset.modal); + } + }, { + key: "_addListeners", + value: function _addListeners(modal) { + modal.addEventListener('click', this._modalClickHandler); + document.addEventListener('keydown', this._documentKeydownHandler); + } + }, { + key: "_removeListeners", + value: function _removeListeners(modal) { + modal.removeEventListener('click', this._modalClickHandler); + document.removeEventListener('keydown', this._documentKeydownHandler); + } + }, { + key: "_stopInteractive", + value: function _stopInteractive(modal) { + if (this._stopPlay) { + modal.querySelectorAll('video, audio').forEach(function (el) { + return el.pause(); + }); + modal.querySelectorAll('[data-iframe]').forEach(function (el) { + el.querySelector('iframe').contentWindow.postMessage('{"event": "command", "func": "pauseVideo", "args": ""}', '*'); + }); + } + } + }, { + key: "_autoPlay", + value: function _autoPlay(modal) { + modal.querySelectorAll('[data-iframe]').forEach(function (el) { + var autoPlay = el.closest('[data-auto-play]'); + if (autoPlay) { + el.querySelector('iframe').contentWindow.postMessage('{"event":"command","func":"playVideo","args":""}', '*'); + } + }); + } + }, { + key: "open", + value: function open() { + var _this = this; + var modalName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._modalName; + var modal = document.querySelector("[data-modal=\"".concat(modalName, "\"]")); + if (!modal || modal.classList.contains('is-active')) { + return; + } + document.removeEventListener('click', this._documentClickHandler); + this._openedModalElement = document.querySelector('.modal.is-active'); + if (this._openedModalElement) { + this._enableScrolling = false; + this.close(this._openedModalElement.dataset.modal); + } + this._setSettings(modalName); + modal.classList.add('is-active'); + if (!this._openedModalElement) { + this._scrollLock.disableScrolling(); + } + if (this._openCallback) { + this._openCallback(); + } + if (this._lockFocus) { + this._focusLock.lock('.modal.is-active', this._startFocus); + } + setTimeout(function () { + _this._addListeners(modal); + _this._autoPlay(modal); + document.addEventListener('click', _this._documentClickHandler); + }, this._eventTimeout); + } + }, { + key: "close", + value: function close() { + var _this2 = this; + var modalName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this._modalName; + var modal = document.querySelector("[data-modal=\"".concat(modalName, "\"]")); + document.removeEventListener('click', this._documentClickHandler); + if (!modal || !modal.classList.contains('is-active')) { + return; + } + if (this._lockFocus) { + this._focusLock.unlock(this._focusBack); + } + modal.classList.remove('is-active'); + this._removeListeners(modal); + this._stopInteractive(modal); + if (this._closeCallback) { + this._closeCallback(); + } + if (this._enableScrolling) { + setTimeout(function () { + _this2._scrollLock.enableScrolling(); + }, this._eventTimeout); + } + setTimeout(function () { + document.addEventListener('click', _this2._documentClickHandler); + }, this._eventTimeout); + this._setSettings('default'); + this._enableScrolling = true; + } + }]); +}(); + +},{"../../utils/focus-lock":11,"../../utils/scroll-lock":15}],11:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.FocusLock = void 0; +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var SELECTORS = ['a[href]', 'area[href]', 'input:not([disabled]):not([type="hidden"]):not([aria-hidden])', 'select:not([disabled]):not([aria-hidden])', 'textarea:not([disabled]):not([aria-hidden])', 'button:not([disabled]):not([aria-hidden])', 'iframe', 'object', 'embed', '[contenteditable]', '[tabindex]:not([tabindex^="-"])']; +var FocusLock = exports.FocusLock = /*#__PURE__*/function () { + function FocusLock() { + _classCallCheck(this, FocusLock); + this._lockedSelector = null; + this._focusableElements = null; + this._endElement = null; + this._selectors = SELECTORS; + this._documentKeydownHandler = this._documentKeydownHandler.bind(this); + } + return _createClass(FocusLock, [{ + key: "_documentKeydownHandler", + value: function _documentKeydownHandler(evt) { + var activeElement = document.activeElement; + if (evt.key === 'Tab') { + if (!this._focusableElements.length) { + evt.preventDefault(); + activeElement.blur(); + return; + } + if (this._focusableElements.length === 1) { + evt.preventDefault(); + this._focusableElements[0].focus(); + return; + } + if (this._focusableElements.length > 1 && !activeElement.closest(this._lockedSelector)) { + evt.preventDefault(); + this._focusableElements[0].focus(); + return; + } + } + if (evt.key === 'Tab' && !evt.shiftKey && activeElement === this._focusableElements[this._focusableElements.length - 1]) { + evt.preventDefault(); + this._focusableElements[0].focus(); + } + if (evt.key === 'Tab' && evt.shiftKey && activeElement === this._focusableElements[0]) { + evt.preventDefault(); + this._focusableElements[this._focusableElements.length - 1].focus(); + } + } + }, { + key: "lock", + value: function lock(lockedSelector) { + var startFocus = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true; + this.unlock(); + this._lockedSelector = lockedSelector; + var lockedElement = document.querySelector(this._lockedSelector); + if (!lockedElement) { + return; + } + this._focusableElements = lockedElement.querySelectorAll(this._selectors); + this._endElement = document.activeElement; + var startElement = lockedElement.querySelector('[data-focus]') || this._focusableElements[0]; + if (this._endElement) { + this._endElement.blur(); + } + if (startElement && startFocus) { + startElement.focus(); + } + document.addEventListener('keydown', this._documentKeydownHandler); + } + }, { + key: "unlock", + value: function unlock() { + var returnFocus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true; + if (this._endElement && returnFocus) { + this._endElement.focus(); + } + this._lockedSelector = null; + this._focusableElements = null; + this._endElement = null; + document.removeEventListener('keydown', this._documentKeydownHandler); + } + }]); +}(); +window.focusLock = new FocusLock(); + +},{}],12:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.iosChecker = void 0; +var iosChecker = exports.iosChecker = function iosChecker() { + return ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'].includes(navigator.platform) + // iPad on iOS 13 detection + || navigator.userAgent.includes('Mac') && 'ontouchend' in document; +}; + +},{}],13:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.iosVhFix = void 0; +var _iosChecker = require("./ios-checker"); +var iosVhFix = exports.iosVhFix = function iosVhFix() { + if (!(!!window.MSInputMethodContext && !!document.documentMode)) { + if ((0, _iosChecker.iosChecker)()) { + var vh = window.innerHeight * 0.01; + document.documentElement.style.setProperty('--vh', "".concat(vh, "px")); + window.addEventListener('resize', function () { + vh = window.innerHeight * 0.01; + document.documentElement.style.setProperty('--vh', "".concat(vh, "px")); + }); + } + } +}; + +},{"./ios-checker":12}],14:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.mobileVhFix = void 0; +var _iosChecker = require("./ios-checker"); +var mobileVhFix = exports.mobileVhFix = function mobileVhFix() { + var isMobile = /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent); + var isIE = !!window.MSInputMethodContext && !!document.documentMode; + if (!isIE && (isMobile || (0, _iosChecker.iosChecker)())) { + var updateViewportHeight = function updateViewportHeight() { + var vh = window.innerHeight * 0.01; + document.documentElement.style.setProperty('--vh', "".concat(vh, "px")); + }; + updateViewportHeight(); + window.addEventListener('resize', updateViewportHeight); + } +}; + +},{"./ios-checker":12}],15:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); +exports.ScrollLock = void 0; +var _iosChecker = require("./ios-checker"); +function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); } +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } +function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } } +function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; } +function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; } +function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); } +var ScrollLock = exports.ScrollLock = /*#__PURE__*/function () { + function ScrollLock() { + _classCallCheck(this, ScrollLock); + this._iosChecker = _iosChecker.iosChecker; + this._lockClass = this._iosChecker() ? 'scroll-lock-ios' : 'scroll-lock'; + this._scrollTop = null; + this._fixedBlockElements = document.querySelectorAll('[data-fix-block]'); + } + return _createClass(ScrollLock, [{ + key: "_getScrollbarWidth", + value: function _getScrollbarWidth() { + return window.innerWidth - document.documentElement.clientWidth; + } + }, { + key: "_getBodyScrollTop", + value: function _getBodyScrollTop() { + return self.pageYOffset || document.documentElement && document.documentElement.ScrollTop || document.body && document.body.scrollTop; + } + }, { + key: "disableScrolling", + value: function disableScrolling() { + var _this = this; + this._scrollTop = document.body.dataset.scroll = document.body.dataset.scroll ? document.body.dataset.scroll : this._getBodyScrollTop(); + if (this._getScrollbarWidth()) { + document.body.style.paddingRight = "".concat(this._getScrollbarWidth(), "px"); + this._fixedBlockElements.forEach(function (block) { + block.style.paddingRight = "".concat(_this._getScrollbarWidth(), "px"); + }); + } + document.body.style.top = "-".concat(this._scrollTop, "px"); + document.body.classList.add(this._lockClass); + } + }, { + key: "enableScrolling", + value: function enableScrolling() { + document.body.classList.remove(this._lockClass); + window.scrollTo(0, +document.body.dataset.scroll); + document.body.style.paddingRight = null; + document.body.style.top = null; + this._fixedBlockElements.forEach(function (block) { + block.style.paddingRight = null; + }); + document.body.removeAttribute('data-scroll'); + this._scrollTop = null; + } + }]); +}(); +window.scrollLock = new ScrollLock(); + +},{"./ios-checker":12}]},{},[1]) + + +//# sourceMappingURL=main.min.js.map diff --git a/build/js/main.min.js.map b/build/js/main.min.js.map new file mode 100644 index 000000000..b7a0fb18c --- /dev/null +++ b/build/js/main.min.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["node_modules/browser-pack/_prelude.js","source/js/main.js","source/js/modules/form-validate/callback.js","source/js/modules/form-validate/form.js","source/js/modules/form-validate/init-phone-input.js","source/js/modules/form-validate/matrix.js","source/js/modules/form-validate/regular-expression.js","source/js/modules/form-validate/render-message.js","source/js/modules/form-validate/validator.js","source/js/modules/modals/init-modals.js","source/js/modules/modals/modals.js","source/js/utils/focus-lock.js","source/js/utils/ios-checker.js","source/js/utils/ios-vh-fix.js","source/js/utils/mobile-vh-fix.js","source/js/utils/scroll-lock.js"],"names":[],"mappings":"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","file":"main.min.js","sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i {\n\n // Utils\n // ---------------------------------\n mobileVhFix();\n\n iosVhFix();\n\n // Modules\n // ---------------------------------\n\n // все скрипты должны быть в обработчике 'DOMContentLoaded', но не все в 'load'\n // в load следует добавить скрипты, не участвующие в работе первого экрана\n window.addEventListener('load', () => {\n initModals();\n const form = new Form();\n window.form = form;\n form.init();\n });\n});\n\n// ---------------------------------\n\n// ❗❗❗ обязательно установите плагины eslint, stylelint, editorconfig в редактор кода.\n\n// привязывайте js не на классы, а на дата атрибуты (data-validate)\n\n// вместо модификаторов .block--active используем утилитарные классы\n// .is-active || .is-open || .is-invalid и прочие (обязателен нейминг в два слова)\n// .select.select--opened ❌ ---> [data-select].is-open ✅\n\n// выносим все в дата атрибуты\n// url до иконок пинов карты, настройки автопрокрутки слайдера, url к json и т.д.\n\n// для адаптивного JS используется matchMedia и addListener\n// const breakpoint = window.matchMedia(`(min-width:1024px)`);\n// const breakpointChecker = () => {\n// if (breakpoint.matches) {\n// } else {\n// }\n// };\n// breakpoint.addListener(breakpointChecker);\n// breakpointChecker();\n\n// используйте .closest(el)\n","\nconst baseSuccessCallback = (event) => {\n event.preventDefault();\n // В данном колбеке бэкендер, либо разработчик при необходимости будет писать запрос на отправку формы на сервер и обрабатывать возможные ошибки или успешную отправку формы на сервер\n};\n\nconst baseErrorCallback = (event) => {\n event.preventDefault();\n // Данный коллбек используется при необходимости выполнить какое-либо действие помимо показа ошибок при попытке отправить неккорректные данные, он не связан с запросами на сервер\n};\n\nexport const callbacks = {\n base: {\n // Сбросс формы\n reset: true,\n // Таймаут сброса формы\n resetTimeout: 500,\n successCallback: baseSuccessCallback,\n errorCallback: baseErrorCallback,\n },\n};\n","import {Validator} from './validator';\nimport {callbacks} from './callback';\nimport {initPhoneInput} from './init-phone-input';\n\nexport class Form {\n constructor() {\n this._validator = new Validator();\n this._initPhoneInput = initPhoneInput;\n this._callbacks = callbacks;\n }\n\n _resetSelect(select) {\n const nativeSelect = select.querySelector('select');\n const activeIndex = nativeSelect.options.selectedIndex;\n const selectedOption = nativeSelect.options[activeIndex];\n const buttonText = select.querySelector('.custom-select__text');\n const selectItems = select.querySelectorAll('.custom-select__item');\n buttonText.textContent = selectedOption.textContent;\n selectItems.forEach((item, index) => {\n if (index === activeIndex - 1) {\n item.setAttribute('aria-selected', 'true');\n return;\n }\n item.setAttribute('aria-selected', 'false');\n });\n if (!nativeSelect.value) {\n select.classList.remove('not-empty');\n select.classList.remove('is-valid');\n }\n }\n\n _resetSelects(form) {\n const selects = form.querySelectorAll('[data-select]');\n selects.forEach((select) => {\n this._resetSelect(select);\n });\n }\n\n reset(form) {\n form.reset();\n form.querySelectorAll('.is-invalid').forEach((item) => item.classList.remove('is-invalid'));\n form.querySelectorAll('.is-valid').forEach((item) => item.classList.remove('is-valid'));\n form.querySelectorAll('.input-message').forEach((item) => item.remove());\n setTimeout(() => {\n this._resetSelects(form);\n });\n }\n\n initPhoneInput(parent) {\n this._initPhoneInput(parent);\n }\n\n validateForm(form) {\n return this._validator.validateForm(form);\n }\n\n validateFormElement(item) {\n return this._validator.validateFormElement(item);\n }\n\n _onFormSubmit(event, callback = null) {\n if (this.validateForm(event.target) && callback) {\n this._callbacks[callback].successCallback(event);\n if (this._callbacks[callback].reset) {\n setTimeout(() => {\n this.reset(event.target);\n }, this._callbacks[callback].resetTimeout ? this._callbacks[callback].resetTimeout : 500);\n }\n return;\n }\n if (!this.validateForm(event.target) && callback) {\n this._callbacks[callback].errorCallback(event);\n return;\n }\n }\n\n _onFormInput(item) {\n this.validateFormElement(item);\n }\n\n _initValidate(parent) {\n const form = parent.querySelector('form');\n if (!form) {\n return;\n }\n\n const phoneParents = form.querySelectorAll('[data-validate-type=\"phone\"]');\n phoneParents.forEach((item) => this._initPhoneInput(item));\n\n const callback = parent.dataset.callback;\n form.noValidate = true;\n\n form.addEventListener('submit', (event) => {\n event.preventDefault();\n this._onFormSubmit(event, callback);\n });\n\n form.addEventListener('input', (event) => {\n this._onFormInput(event.target);\n });\n\n form.addEventListener('reset', (event) => {\n this.reset(event.target);\n });\n }\n\n init() {\n this._validateParent = document.querySelectorAll('[data-form-validate]');\n if (!this._validateParent.length) {\n return;\n }\n this._validateParent.forEach((parent) => this._initValidate(parent));\n }\n}\n","const baseCountryCode = '+7';\nconst baseMatrix = ' (___) ___ __ __';\nconst phoneLength = baseCountryCode.length + baseMatrix.length;\n\nconst onPhoneInputInput = (e) => {\n const matrix = `${baseCountryCode}${baseMatrix}`;\n const def = matrix.replace(/\\D/g, '');\n let i = 0;\n let val = e.target.value.replace(/\\D/g, '');\n if (def.length >= val.length) {\n val = def;\n }\n e.target.value = matrix.replace(/./g, (a) => {\n if (/[_\\d]/.test(a) && i < val.length) {\n return val.charAt(i++);\n } else if (i >= val.length) {\n return '';\n } else {\n return a;\n }\n });\n};\n\nconst onPhoneInputFocus = ({target}) => {\n if (!target.value) {\n target.value = baseCountryCode;\n }\n target.addEventListener('input', onPhoneInputInput);\n target.addEventListener('blur', onPhoneInputBlur);\n target.addEventListener('keydown', onPhoneInputKeydown);\n target.addEventListener('paste', onPhoneInputPaste);\n target.addEventListener('click', onPhoneInputClick);\n};\n\nconst onPhoneInputClick = (e) => {\n if (e.target.selectionStart < 4) {\n e.preventDefault();\n e.target.setSelectionRange(3, 3);\n }\n};\n\nconst onPhoneInputPaste = (e) => {\n e.target.setSelectionRange(0, 0);\n if (!e.target.selectionStart) {\n setTimeout(() => {\n if (e.target.value.startsWith('+7')) {\n return;\n }\n if (e.target.value.startsWith('+8')) {\n e.target.value = `+7 ${e.target.value.slice(3)}`;\n return;\n }\n e.target.value = '';\n });\n }\n};\n\nconst onPhoneInputKeydown = (e) => {\n if (e.target.selectionStart < 4 && (e.keyCode === 37 || e.keyCode === 13)) {\n e.preventDefault();\n e.target.setSelectionRange(3, 3);\n }\n};\n\nconst onPhoneInputBlur = ({target}) => {\n if (target.value === baseCountryCode) {\n const parent = target.closest('[data-validate-type=\"phone\"]');\n target.value = '';\n if (!parent.hasAttribute('data-required')) {\n parent.classList.remove('is-valid');\n parent.classList.remove('is-invalid');\n const parentMessage = parent.querySelector('.input-message');\n if (parentMessage) {\n parentMessage.remove();\n }\n }\n parent.classList.remove('not-empty');\n target.removeEventListener('input', onPhoneInputInput);\n target.removeEventListener('blur', onPhoneInputBlur);\n target.removeEventListener('keydown', onPhoneInputKeydown);\n target.removeEventListener('paste', onPhoneInputPaste);\n target.removeEventListener('click', onPhoneInputClick);\n }\n};\n\nexport const initPhoneInput = (parent) => {\n const input = parent.querySelector('input');\n parent.dataset.phoneLength = phoneLength;\n input.addEventListener('focus', onPhoneInputFocus);\n};\n","export const matrixReplace = (item, matrix, RegEx) => {\n if (!matrix) {\n // eslint-disable-next-line no-console\n console.error('При валидации по матрице обязательно указывать формат матрицы: data-matrix=\"\"');\n item.value = '';\n return;\n }\n\n if (!RegEx) {\n // eslint-disable-next-line no-console\n console.error('При валидации по матрице обязательно указывать формат ограничений: data-matrix-limitations=\"\"');\n item.value = '';\n return;\n }\n\n const def = matrix.replace(RegEx, '');\n let val = item.value.replace(RegEx, '');\n let i = 0;\n\n if (def.length >= val.length) {\n val = def;\n }\n\n item.value = matrix.replace(/./g, (a) => {\n if (/[_\\^]/.test(a) && i < val.length) {\n return val.charAt(i++);\n } else if (i >= val.length) {\n return '';\n } else {\n return a;\n }\n });\n};\n","const setLimitationError = (limitation) => {\n // eslint-disable-next-line no-console\n console.error(`Переданный формат ограничения(data-limitation=\"${limitation}\") - не поддерживается. Проверьте корректность введённых значений.`);\n};\n\nexport const getLimitationsRegEx = (limitation) => {\n switch (limitation) {\n case 'digit':\n return /[^\\d]/g;\n case 'name':\n return /[^a-zA-Zа-яёА-ЯЁ\\-\\s]/g;\n case 'letters':\n return /[^a-zA-Zа-яёА-ЯЁ\\s]/g;\n case 'letters-and-digit':\n return /[^a-zA-Zа-яёА-ЯЁ\\s\\d]/g;\n case 'cyrillic':\n return /[^а-яёА-ЯЁ\\s]/g;\n case 'latin':\n return /[^a-zA-Z\\s]/g;\n default:\n return setLimitationError(limitation);\n }\n};\n\nexport const getMatrixLimitationsRegEx = (matrix) => {\n switch (matrix) {\n case 'digit':\n return /[^\\d]/g;\n case 'name':\n return /[^\\а-яё\\А-ЯЁ\\a-z\\A-Z\\-]]/g;\n case 'letters':\n return /[^\\а-яё\\А-ЯЁ\\a-z\\A-Z]/g;\n case 'letters-and-digit':\n return /[^\\а-яё\\А-ЯЁ\\a-z\\A-Z\\d]/g;\n case 'cyrillic':\n return /[^\\а-яё\\А-ЯЁ]/g;\n case 'latin':\n return /[^\\a-z\\A-Z]/g;\n default:\n return false;\n }\n};\n\nexport const getMailRegEx = () => /[a-zA-Zа-яёА-ЯЁ0-9]{1}([a-zA-Zа-яёА-ЯЁ0-9\\-_\\.]{1,})?@[a-zA-Zа-яёА-ЯЁ0-9\\-]{1}([a-zA-Zа-яёА-ЯЁ0-9.\\-]{1,})?[a-zA-Zа-яёА-ЯЁ0-9\\-]{1}\\.[a-zA-Zа-яёА-ЯЁ]{2,6}/;\n","export class Message {\n constructor() {\n this._baseErrorText = 'Это поле является обязательным';\n }\n\n _messageTemplate(message, state) {\n const cssClass = state === 'valid' ? 'is-valid' : 'is-invalid';\n return `${message}`;\n }\n\n removeMessage(parent) {\n const parentMessage = parent.querySelector('.input-message');\n if (parentMessage) {\n parentMessage.remove();\n }\n }\n\n renderMessage(parent, message, state) {\n this.removeMessage(parent);\n parent.insertAdjacentHTML('beforeend', this._messageTemplate(message, state));\n }\n}\n","import {getLimitationsRegEx, getMatrixLimitationsRegEx, getMailRegEx} from './regular-expression';\nimport {matrixReplace} from './matrix';\nimport {Message} from './render-message';\n\nexport class Validator {\n constructor() {\n this._getLimitationsRegEx = getLimitationsRegEx;\n this._getMatrixLimitationsRegEx = getMatrixLimitationsRegEx;\n this._getMailRegEx = getMailRegEx;\n this._matrixReplace = matrixReplace;\n this._message = new Message();\n }\n\n _renderMessage(trigger, parent, input) {\n if (!parent.hasAttribute('data-required') && !input.value) {\n return;\n }\n if (!trigger) {\n parent.classList.add('is-invalid');\n if (parent.hasAttribute('data-message-base') && !input.value) {\n this._message.renderMessage(parent, parent.dataset.messageBase, 'invalid');\n } else if (parent.hasAttribute('data-message-extra') && input.value) {\n this._message.renderMessage(parent, parent.dataset.messageExtra, 'invalid');\n } else if (!parent.hasAttribute('data-message-extra') && parent.hasAttribute('data-message-base') && input.value) {\n this._message.renderMessage(parent, parent.dataset.messageBase, 'invalid');\n } else {\n this._message.removeMessage(parent);\n }\n } else {\n if (parent.hasAttribute('data-message-success')) {\n this._message.renderMessage(parent, parent.dataset.messageSuccess, 'valid');\n } else {\n this._message.removeMessage(parent);\n }\n }\n }\n\n _setItemValidState(parent, input) {\n if (!parent.hasAttribute('data-required') && !input.value) {\n return;\n }\n parent.classList.add('is-valid');\n parent.classList.remove('is-invalid');\n input.setAttribute('aria-invalid', 'false');\n this._message.removeMessage(parent);\n }\n\n _setItemInvalidState(parent, input) {\n if (!parent.hasAttribute('data-required') && !input.value) {\n return;\n }\n parent.classList.remove('is-valid');\n input.setAttribute('aria-invalid', 'true');\n }\n\n _simpleLimitation(item, limitation) {\n item.value = item.value.replace(this._getLimitationsRegEx(limitation), '');\n }\n\n _matrixLimitation(item, matrix, limitation) {\n this._matrixReplace(item, matrix, limitation);\n }\n\n _validateTextInput(parent, input) {\n let flag = true;\n if (input.value.length >= (+input.getAttribute('minlength') || 1)) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _validateMatrixInput(parent, input) {\n let flag = true;\n if (input.value.length === input.closest('[data-matrix]').dataset.matrix.length) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _validateEmailInput(parent, input) {\n let flag = true;\n if (new RegExp(this._getMailRegEx(), '').test(input.value)) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _validatePhoneInput(parent, input) {\n let flag = true;\n if (input.value.length >= +parent.dataset.phoneLength) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _validateCheckbox(parent, input) {\n let flag = true;\n if (input.checked) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _findSelectedOption(options) {\n let flag = false;\n options.forEach((option) => {\n if (option.value && option.selected) {\n flag = true;\n }\n });\n return flag;\n }\n\n _validateSelect(parent, input) {\n const options = input.querySelectorAll('option');\n const customSelectText = parent.querySelector('.custom-select__text');\n input.setAttribute('aria-invalid', 'false');\n let flag = true;\n if (this._findSelectedOption(options)) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n parent.classList.remove('not-empty');\n customSelectText.innerHTML = '';\n flag = false;\n }\n return flag;\n }\n\n _returnCheckedElements(inputs) {\n let flag = false;\n inputs.forEach((input) => {\n if (input.checked) {\n flag = true;\n }\n });\n return flag;\n }\n\n _removeGroupAria(inputs) {\n inputs.forEach((input) => {\n if (!input.checked) {\n input.removeAttribute('aria-required');\n input.removeAttribute('aria-invalid');\n } else {\n input.setAttribute('aria-required', true);\n input.setAttribute('aria-invalid', false);\n }\n });\n }\n\n _setGroupAria(inputs) {\n inputs.forEach((input) => {\n input.setAttribute('aria-required', true);\n input.setAttribute('aria-invalid', true);\n });\n }\n\n _validateToggleGroup(parent) {\n const formElements = parent.querySelectorAll('input');\n let flag = true;\n if (this._returnCheckedElements(formElements)) {\n this._removeGroupAria(formElements);\n parent.classList.remove('is-invalid');\n parent.classList.add('is-valid');\n this._message.removeMessage(parent);\n } else {\n this._setGroupAria(formElements);\n parent.classList.remove('is-valid');\n flag = false;\n }\n return flag;\n }\n\n _customExample(parent, input) {\n let flag = true;\n if (!input.value.length) {\n parent.dataset.messageBase = 'Поле обязательно к заполнению';\n this._setItemInvalidState(parent, input);\n flag = false;\n } else if (input.value.length < input.minLength) {\n parent.dataset.messageBase = `Осталось ввести ещё ${input.minLength - input.value.length} символов`;\n this._setItemInvalidState(parent, input);\n flag = false;\n } else if (input.value.length > input.minLength) {\n parent.dataset.messageBase = `Вы ввели ${input.value.length - input.minLength} лишних символов`;\n this._setItemInvalidState(parent, input);\n flag = false;\n } else {\n parent.dataset.messageSuccess = 'Поле заполнено корректно';\n this._setItemValidState(parent, input);\n flag = true;\n }\n return flag;\n }\n\n _validateFile(parent, input) {\n let flag = true;\n const sizeTest = parent.dataset.maxSize && input.files[0] ? input.files[0].size < +parent.dataset.maxSize : true;\n if (input.value && sizeTest) {\n this._setItemValidState(parent, input);\n } else {\n this._setItemInvalidState(parent, input);\n flag = false;\n }\n return flag;\n }\n\n _validateInput(type, parent, input) {\n switch (type) {\n case 'text':\n return this._validateTextInput(parent, input);\n case 'matrix':\n return this._validateMatrixInput(parent, input);\n case 'email':\n return this._validateEmailInput(parent, input);\n case 'phone':\n return this._validatePhoneInput(parent, input);\n case 'checkbox':\n return this._validateCheckbox(parent, input);\n case 'select':\n return this._validateSelect(parent, input);\n case 'toggle-group':\n return this._validateToggleGroup(parent, input);\n case 'file':\n return this._validateFile(parent, input);\n case 'custom-example':\n return this._customExample(parent, input);\n default:\n return false;\n }\n }\n\n validateFormElement(formElement, fullValidate = false) {\n const parent = formElement.closest('[data-validate-type]');\n if (!parent) {\n return;\n }\n\n if (!parent.hasAttribute('data-required')) {\n const removeElement = parent.querySelector('input') || parent.querySelector('select') || parent.querySelector('textarea');\n\n if (!removeElement.value) {\n parent.classList.remove('is-valid');\n parent.classList.remove('is-invalid');\n }\n }\n\n const onInputValidate = parent.hasAttribute('data-on-input-validate');\n\n if (parent.hasAttribute('data-limitation')) {\n this._simpleLimitation(formElement, parent.dataset.limitation);\n }\n\n if (parent.dataset.validateType === 'matrix') {\n this._matrixLimitation(formElement, parent.dataset.matrix, this._getMatrixLimitationsRegEx(parent.dataset.matrixLimitation));\n }\n\n const isValid = this._validateInput(parent.dataset.validateType, parent, formElement);\n\n if (onInputValidate || fullValidate) {\n this._renderMessage(isValid, parent, formElement);\n }\n }\n\n _fullValidate(items) {\n let result = true;\n items.forEach((item) => {\n const formElement = item.querySelector('input') || item.querySelector('select') || item.querySelector('textarea');\n this.validateFormElement(formElement, true);\n if (item.classList.contains('is-invalid')) {\n result = false;\n }\n });\n return result;\n }\n\n validateForm(form) {\n const validateItems = form.querySelectorAll('[data-validate-type]');\n const result = this._fullValidate(validateItems);\n return result;\n }\n}\n","import {Modals} from './modals';\n\nlet modals;\n\n// Здесь реализован пример открытия модалки через колбэк закрытия\n// const openModalInCloseCallback = (name, context = this) => {\n// context._enableScrolling = false;\n// context._setSettings('default');\n// modals.open(name);\n// };\n\n// closeCallback() {\n// openModalInCloseCallback('modal-5');\n// },\n\nconst settings = {\n 'default': {\n preventDefault: true,\n stopPlay: true,\n lockFocus: true,\n startFocus: true,\n focusBack: true,\n eventTimeout: 400,\n openCallback: false,\n closeCallback: false,\n },\n};\n\nconst initModals = () => {\n const modalElements = document.querySelectorAll('.modal');\n modalElements.forEach((el) => {\n setTimeout(() => {\n el.classList.remove('modal--preload');\n }, 100);\n });\n modals = new Modals(settings);\n // Используйте в разработке экспортируемую переменную modals, window сделан для бэкэнда\n window.modals = modals;\n};\n\nexport {modals, initModals};\n","import {ScrollLock} from '../../utils/scroll-lock';\nimport {FocusLock} from '../../utils/focus-lock';\n\nexport class Modals {\n constructor(settings = {}) {\n this._scrollLock = new ScrollLock();\n this._focusLock = new FocusLock();\n\n this._modalOpenElements = document.querySelectorAll('[data-open-modal]');\n this._openedModalElement = null;\n this._modalName = null;\n this._enableScrolling = true;\n this._settingKey = 'default';\n\n this._settings = settings;\n this._preventDefault = this._settings[this._settingKey].preventDefault;\n this._stopPlay = this._settings[this._settingKey].stopPlay;\n this._lockFocus = this._settings[this._settingKey].lockFocus;\n this._startFocus = this._settings[this._settingKey].startFocus;\n this._focusBack = this._settings[this._settingKey].focusBack;\n this._eventTimeout = this._settings[this._settingKey].eventTimeout;\n this._openCallback = this._settings[this._settingKey].openCallback;\n this._closeCallback = this._settings[this._settingKey].closeCallback;\n\n this._documentKeydownHandler = this._documentKeydownHandler.bind(this);\n this._documentClickHandler = this._documentClickHandler.bind(this);\n this._modalClickHandler = this._modalClickHandler.bind(this);\n\n this._init();\n }\n\n _init() {\n if (this._modalOpenElements.length) {\n document.addEventListener('click', this._documentClickHandler);\n }\n }\n\n _setSettings(settingKey = this._settingKey) {\n if (!this._settings[settingKey]) {\n return;\n }\n\n this._preventDefault =\n typeof this._settings[settingKey].preventDefault === 'boolean'\n ? this._settings[settingKey].preventDefault\n : this._settings[this._settingKey].preventDefault;\n this._stopPlay =\n typeof this._settings[settingKey].stopPlay === 'boolean'\n ? this._settings[settingKey].stopPlay\n : this._settings[this._settingKey].stopPlay;\n this._lockFocus =\n typeof this._settings[settingKey].lockFocus === 'boolean'\n ? this._settings[settingKey].lockFocus\n : this._settings[this._settingKey].lockFocus;\n this._startFocus =\n typeof this._settings[settingKey].startFocus === 'boolean'\n ? this._settings[settingKey].startFocus\n : this._settings[this._settingKey].startFocus;\n this._focusBack =\n typeof this._settings[settingKey].lockFocus === 'boolean'\n ? this._settings[settingKey].focusBack\n : this._settings[this._settingKey].focusBack;\n this._eventTimeout =\n typeof this._settings[settingKey].eventTimeout === 'number'\n ? this._settings[settingKey].eventTimeout\n : this._settings[this._settingKey].eventTimeout;\n this._openCallback = this._settings[settingKey].openCallback || this._settings[this._settingKey].openCallback;\n this._closeCallback = this._settings[settingKey].closeCallback || this._settings[this._settingKey].closeCallback;\n }\n\n _documentClickHandler(evt) {\n const target = evt.target;\n\n if (!target.closest('[data-open-modal]')) {\n return;\n }\n\n evt.preventDefault();\n\n this._modalName = target.closest('[data-open-modal]').dataset.openModal;\n\n if (!this._modalName) {\n return;\n }\n\n this.open();\n }\n\n _documentKeydownHandler(evt) {\n const isEscKey = evt.key === 'Escape' || evt.key === 'Esc';\n\n if (isEscKey) {\n evt.preventDefault();\n this.close(document.querySelector('.modal.is-active').dataset.modal);\n }\n }\n\n _modalClickHandler(evt) {\n const target = evt.target;\n\n if (!target.closest('[data-close-modal]')) {\n return;\n }\n\n this.close(target.closest('[data-modal]').dataset.modal);\n }\n\n _addListeners(modal) {\n modal.addEventListener('click', this._modalClickHandler);\n document.addEventListener('keydown', this._documentKeydownHandler);\n }\n\n _removeListeners(modal) {\n modal.removeEventListener('click', this._modalClickHandler);\n document.removeEventListener('keydown', this._documentKeydownHandler);\n }\n\n _stopInteractive(modal) {\n if (this._stopPlay) {\n modal.querySelectorAll('video, audio').forEach((el) => el.pause());\n modal.querySelectorAll('[data-iframe]').forEach((el) => {\n el.querySelector('iframe').contentWindow.postMessage('{\"event\": \"command\", \"func\": \"pauseVideo\", \"args\": \"\"}', '*');\n });\n }\n }\n\n _autoPlay(modal) {\n modal.querySelectorAll('[data-iframe]').forEach((el) => {\n const autoPlay = el.closest('[data-auto-play]');\n if (autoPlay) {\n el.querySelector('iframe').contentWindow.postMessage('{\"event\":\"command\",\"func\":\"playVideo\",\"args\":\"\"}', '*');\n }\n });\n }\n\n open(modalName = this._modalName) {\n const modal = document.querySelector(`[data-modal=\"${modalName}\"]`);\n\n if (!modal || modal.classList.contains('is-active')) {\n return;\n }\n\n document.removeEventListener('click', this._documentClickHandler);\n\n this._openedModalElement = document.querySelector('.modal.is-active');\n\n if (this._openedModalElement) {\n this._enableScrolling = false;\n this.close(this._openedModalElement.dataset.modal);\n }\n\n this._setSettings(modalName);\n modal.classList.add('is-active');\n\n if (!this._openedModalElement) {\n this._scrollLock.disableScrolling();\n }\n\n if (this._openCallback) {\n this._openCallback();\n }\n\n if (this._lockFocus) {\n this._focusLock.lock('.modal.is-active', this._startFocus);\n }\n\n setTimeout(() => {\n this._addListeners(modal);\n this._autoPlay(modal);\n document.addEventListener('click', this._documentClickHandler);\n }, this._eventTimeout);\n }\n\n close(modalName = this._modalName) {\n const modal = document.querySelector(`[data-modal=\"${modalName}\"]`);\n document.removeEventListener('click', this._documentClickHandler);\n\n if (!modal || !modal.classList.contains('is-active')) {\n return;\n }\n\n if (this._lockFocus) {\n this._focusLock.unlock(this._focusBack);\n }\n\n modal.classList.remove('is-active');\n this._removeListeners(modal);\n this._stopInteractive(modal);\n\n if (this._closeCallback) {\n this._closeCallback();\n }\n\n if (this._enableScrolling) {\n setTimeout(() => {\n this._scrollLock.enableScrolling();\n }, this._eventTimeout);\n }\n\n setTimeout(() => {\n document.addEventListener('click', this._documentClickHandler);\n }, this._eventTimeout);\n\n this._setSettings('default');\n this._enableScrolling = true;\n }\n}\n","const SELECTORS = [\n 'a[href]',\n 'area[href]',\n 'input:not([disabled]):not([type=\"hidden\"]):not([aria-hidden])',\n 'select:not([disabled]):not([aria-hidden])',\n 'textarea:not([disabled]):not([aria-hidden])',\n 'button:not([disabled]):not([aria-hidden])',\n 'iframe',\n 'object',\n 'embed',\n '[contenteditable]',\n '[tabindex]:not([tabindex^=\"-\"])'\n];\n\nexport class FocusLock {\n constructor() {\n this._lockedSelector = null;\n this._focusableElements = null;\n this._endElement = null;\n this._selectors = SELECTORS;\n\n this._documentKeydownHandler = this._documentKeydownHandler.bind(this);\n }\n\n _documentKeydownHandler(evt) {\n const activeElement = document.activeElement;\n if (evt.key === 'Tab') {\n if (!this._focusableElements.length) {\n evt.preventDefault();\n activeElement.blur();\n return;\n }\n if (this._focusableElements.length === 1) {\n evt.preventDefault();\n this._focusableElements[0].focus();\n return;\n }\n if (this._focusableElements.length > 1 && !activeElement.closest(this._lockedSelector)) {\n evt.preventDefault();\n this._focusableElements[0].focus();\n return;\n }\n }\n if (evt.key === 'Tab' && !evt.shiftKey && activeElement === this._focusableElements[this._focusableElements.length - 1]) {\n evt.preventDefault();\n this._focusableElements[0].focus();\n }\n if (evt.key === 'Tab' && evt.shiftKey && activeElement === this._focusableElements[0]) {\n evt.preventDefault();\n this._focusableElements[this._focusableElements.length - 1].focus();\n }\n }\n\n lock(lockedSelector, startFocus = true) {\n this.unlock();\n this._lockedSelector = lockedSelector;\n const lockedElement = document.querySelector(this._lockedSelector);\n if (!lockedElement) {\n return;\n }\n this._focusableElements = lockedElement.querySelectorAll(this._selectors);\n this._endElement = document.activeElement;\n const startElement = lockedElement.querySelector('[data-focus]') || this._focusableElements[0];\n if (this._endElement) {\n this._endElement.blur();\n }\n if (startElement && startFocus) {\n startElement.focus();\n }\n document.addEventListener('keydown', this._documentKeydownHandler);\n }\n\n unlock(returnFocus = true) {\n if (this._endElement && returnFocus) {\n this._endElement.focus();\n }\n this._lockedSelector = null;\n this._focusableElements = null;\n this._endElement = null;\n document.removeEventListener('keydown', this._documentKeydownHandler);\n }\n}\n\nwindow.focusLock = new FocusLock();\n","export const iosChecker = () => {\n return [\n 'iPad Simulator',\n 'iPhone Simulator',\n 'iPod Simulator',\n 'iPad',\n 'iPhone',\n 'iPod'\n ].includes(navigator.platform)\n // iPad on iOS 13 detection\n || (navigator.userAgent.includes('Mac') && 'ontouchend' in document);\n};\n","import {iosChecker} from './ios-checker';\n\nconst iosVhFix = () => {\n if (!(!!window.MSInputMethodContext && !!document.documentMode)) {\n if (iosChecker()) {\n let vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n\n window.addEventListener('resize', function () {\n vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n });\n }\n }\n};\n\nexport {iosVhFix};\n\n","import {iosChecker} from './ios-checker';\n\nconst mobileVhFix = () => {\n const isMobile = /Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n const isIE = !!window.MSInputMethodContext && !!document.documentMode;\n\n if (!isIE && (isMobile || iosChecker())) {\n const updateViewportHeight = () => {\n const vh = window.innerHeight * 0.01;\n document.documentElement.style.setProperty('--vh', `${vh}px`);\n };\n\n updateViewportHeight();\n window.addEventListener('resize', updateViewportHeight);\n }\n};\n\nexport {mobileVhFix};\n","import {iosChecker} from './ios-checker';\n\nexport class ScrollLock {\n constructor() {\n this._iosChecker = iosChecker;\n this._lockClass = this._iosChecker() ? 'scroll-lock-ios' : 'scroll-lock';\n this._scrollTop = null;\n this._fixedBlockElements = document.querySelectorAll('[data-fix-block]');\n }\n\n _getScrollbarWidth() {\n return window.innerWidth - document.documentElement.clientWidth;\n }\n\n _getBodyScrollTop() {\n return (\n self.pageYOffset ||\n (document.documentElement && document.documentElement.ScrollTop) ||\n (document.body && document.body.scrollTop)\n );\n }\n\n disableScrolling() {\n this._scrollTop = document.body.dataset.scroll = document.body.dataset.scroll ? document.body.dataset.scroll : this._getBodyScrollTop();\n if (this._getScrollbarWidth()) {\n document.body.style.paddingRight = `${this._getScrollbarWidth()}px`;\n this._fixedBlockElements.forEach((block) => {\n block.style.paddingRight = `${this._getScrollbarWidth()}px`;\n });\n }\n document.body.style.top = `-${this._scrollTop}px`;\n document.body.classList.add(this._lockClass);\n }\n\n enableScrolling() {\n document.body.classList.remove(this._lockClass);\n window.scrollTo(0, +document.body.dataset.scroll);\n document.body.style.paddingRight = null;\n document.body.style.top = null;\n this._fixedBlockElements.forEach((block) => {\n block.style.paddingRight = null;\n });\n document.body.removeAttribute('data-scroll');\n this._scrollTop = null;\n }\n}\n\nwindow.scrollLock = new ScrollLock();\n"]} \ No newline at end of file diff --git a/build/js/vendor.min.js b/build/js/vendor.min.js new file mode 100644 index 000000000..2bd9d76f8 --- /dev/null +++ b/build/js/vendor.min.js @@ -0,0 +1 @@ +!function i(s,n,r){function o(t,e){if(!n[t]){if(!s[t]){var a="function"==typeof require&&require;if(!e&&a)return a(t,!0);if(l)return l(t,!0);throw(e=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",e}a=n[t]={exports:{}},s[t][0].call(a.exports,function(e){return o(s[t][1][e]||e)},a,a.exports,i,s,n,r)}return n[t].exports}for(var l="function"==typeof require&&require,e=0;ee.length)&&(t=e.length);for(var a=0,i=new Array(t);a")){var r="div",o=(0===n.indexOf("s.slides.length&&!r)break;n.push(t(l))}else n.push(t(s.activeIndex));for(a=0;a=t.size)&&(t.visibleSlides.push(l),t.visibleSlidesIndexes.push(o),i.eq(o).addClass(a.slideVisibleClass)),l.progress=s?-c:c,l.originalProgress=s?-p:p}t.visibleSlides=L(t.visibleSlides)}},updateProgress:function(e){var t=this,a=(void 0===e&&(a=t.rtlTranslate?-1:1,e=t&&t.translate&&t.translate*a||0),t.params),i=t.maxTranslate()-t.minTranslate(),s=t.progress,n=t.isBeginning,r=n,o=l=t.isEnd,l=0==i?n=!(s=0):(n=(s=(e-t.minTranslate())/i)<=0,1<=s);Object.assign(t,{progress:s,isBeginning:n,isEnd:l}),(a.watchSlidesProgress||a.centeredSlides&&a.autoHeight)&&t.updateSlidesProgress(e),n&&!r&&t.emit("reachBeginning toEdge"),l&&!o&&t.emit("reachEnd toEdge"),(r&&!n||o&&!l)&&t.emit("fromEdge"),t.emit("progress",s)},updateSlidesClasses:function(){var e=this,t=e.slides,a=e.params,i=e.$wrapperEl,s=e.activeIndex,n=e.realIndex,r=e.virtual&&a.virtual.enabled,s=(t.removeClass("".concat(a.slideActiveClass," ").concat(a.slideNextClass," ").concat(a.slidePrevClass," ").concat(a.slideDuplicateActiveClass," ").concat(a.slideDuplicateNextClass," ").concat(a.slideDuplicatePrevClass)),(r=r?e.$wrapperEl.find(".".concat(a.slideClass,'[data-swiper-slide-index="').concat(s,'"]')):t.eq(s)).addClass(a.slideActiveClass),a.loop&&(r.hasClass(a.slideDuplicateClass)?i.children(".".concat(a.slideClass,":not(.").concat(a.slideDuplicateClass,')[data-swiper-slide-index="').concat(n,'"]')):i.children(".".concat(a.slideClass,".").concat(a.slideDuplicateClass,'[data-swiper-slide-index="').concat(n,'"]'))).addClass(a.slideDuplicateActiveClass),r.nextAll(".".concat(a.slideClass)).eq(0).addClass(a.slideNextClass)),n=(a.loop&&0===s.length&&(s=t.eq(0)).addClass(a.slideNextClass),r.prevAll(".".concat(a.slideClass)).eq(0).addClass(a.slidePrevClass));a.loop&&0===n.length&&(n=t.eq(-1)).addClass(a.slidePrevClass),a.loop&&((s.hasClass(a.slideDuplicateClass)?i.children(".".concat(a.slideClass,":not(.").concat(a.slideDuplicateClass,')[data-swiper-slide-index="').concat(s.attr("data-swiper-slide-index"),'"]')):i.children(".".concat(a.slideClass,".").concat(a.slideDuplicateClass,'[data-swiper-slide-index="').concat(s.attr("data-swiper-slide-index"),'"]'))).addClass(a.slideDuplicateNextClass),(n.hasClass(a.slideDuplicateClass)?i.children(".".concat(a.slideClass,":not(.").concat(a.slideDuplicateClass,')[data-swiper-slide-index="').concat(n.attr("data-swiper-slide-index"),'"]')):i.children(".".concat(a.slideClass,".").concat(a.slideDuplicateClass,'[data-swiper-slide-index="').concat(n.attr("data-swiper-slide-index"),'"]'))).addClass(a.slideDuplicatePrevClass)),e.emitSlidesClasses()},updateActiveIndex:function(e){var t=this,a=t.rtlTranslate?t.translate:-t.translate,i=t.slidesGrid,s=t.snapGrid,n=t.params,r=t.activeIndex,o=t.realIndex,l=t.snapIndex,d=e;if(void 0===d){for(var c=0;c=i[c]&&a=i[c]&&a=i[c]&&(d=c);n.normalizeSlideIndex&&(d<0||void 0===d)&&(d=0)}(e=0<=s.indexOf(a)?s.indexOf(a):(e=Math.min(n.slidesPerGroupSkip,d))+Math.floor((d-e)/n.slidesPerGroup))>=s.length&&(e=s.length-1),d===r?e!==l&&(t.snapIndex=e,t.emit("snapIndexChange")):(n=parseInt(t.slides.eq(d).attr("data-swiper-slide-index")||d,10),Object.assign(t,{snapIndex:e,realIndex:n,previousIndex:r,activeIndex:d}),t.emit("activeIndexChange"),t.emit("snapIndexChange"),o!==n&&t.emit("realIndexChange"),(t.initialized||t.params.runCallbacksOnInit)&&t.emit("slideChange"))},updateClickedSlide:function(e){var t,a=this,i=a.params,s=L(e).closest(".".concat(i.slideClass))[0],n=!1;if(s)for(var r=0;r=e.length&&(s=e.length-1),(c||n.initialSlide||0)===(d||0)&&a&&r.emit("beforeSlideChangeStart"),-e[s]);if(r.updateProgress(m),n.normalizeSlideIndex)for(var v=0;vr.translate&&m>r.maxTranslate()&&(c||0)!==o)return!1}if(h=c=n.snapGrid[o]?(e=n.snapGrid[o],(n.snapGrid[o+1]-e)*st.slides.length-t.loopedSlides+s/2?(t.loopFix(),n=i.children(".".concat(a.slideClass,'[data-swiper-slide-index="').concat(e,'"]:not(.').concat(a.slideDuplicateClass,")")).eq(0).index(),C(function(){t.slideTo(n)})):t.slideTo(n):n>t.slides.length-s?(t.loopFix(),n=i.children(".".concat(a.slideClass,'[data-swiper-slide-index="').concat(e,'"]:not(.').concat(a.slideDuplicateClass,")")).eq(0).index(),C(function(){t.slideTo(n)})):t.slideTo(n)):t.slideTo(n)}},loop:{loopCreate:function(){var i=this,e=T(),t=i.params,a=i.$wrapperEl,s=0n.length&&(i.loopedSlides=n.length);var d=[],c=[];n.each(function(e,t){var a=L(e);t=n.length-i.loopedSlides&&d.push(e),a.attr("data-swiper-slide-index",t)});for(var p=0;p=a.length-i&&(l=-a.length+t+i,e.slideTo(l+=i,0,!1,!0))&&0!=r&&e.setTranslate((o?-e.translate:e.translate)-r),e.allowSlidePrev=s,e.allowSlideNext=n,e.emit("loopFix")},loopDestroy:function(){var e=this.$wrapperEl,t=this.params,a=this.slides;e.children(".".concat(t.slideClass,".").concat(t.slideDuplicateClass,",.").concat(t.slideClass,".").concat(t.slideBlankClass)).remove(),a.removeAttr("data-swiper-slide-index")}},grabCursor:{setGrabCursor:function(e){var t=this;t.support.touch||!t.params.simulateTouch||t.params.watchOverflow&&t.isLocked||t.params.cssMode||((t="container"===t.params.touchEventsTarget?t.el:t.wrapperEl).style.cursor="move",t.style.cursor=e?"-webkit-grabbing":"-webkit-grab",t.style.cursor=e?"-moz-grabbin":"-moz-grab",t.style.cursor=e?"grabbing":"grab")},unsetGrabCursor:function(){var e=this;e.support.touch||e.params.watchOverflow&&e.isLocked||e.params.cssMode||(e["container"===e.params.touchEventsTarget?"el":"wrapperEl"].style.cursor="")}},events:{attachEvents:function(){var e=this,t=T(),a=e.params,i=e.support;e.onTouchStart=function(e){var t=this,a=T(),i=O(),s=t.touchEventsData,n=t.params,r=t.touches,o=t.enabled;if(o&&(!t.animating||!n.preventInteractionOnTransition)){!t.animating&&n.cssMode&&n.loop&&t.loopFix();var o=e,l=L((o=o.originalEvent?o.originalEvent:o).target);if(("wrapper"!==n.touchEventsTarget||l.closest(t.wrapperEl).length)&&(s.isTouchEvent="touchstart"===o.type,s.isTouchEvent||!("which"in o)||3!==o.which)&&!(!s.isTouchEvent&&"button"in o&&0=i.innerWidth-u)){if("prevent"!==p)return;e.preventDefault()}Object.assign(s,{isTouched:!0,isMoved:!1,allowTouchCallbacks:!0,isScrolling:void 0,startMoving:void 0}),r.startX=c,r.startY=d,s.touchStartTime=w(),t.allowClick=!0,t.updateSize(),t.swipeDirection=void 0,0n.startY&&a.translate>=a.minTranslate())return i.isTouched=!1,void(i.isMoved=!1)}else if(ln.startX&&a.translate>=a.minTranslate())return;if(i.isTouchEvent&&t.activeElement&&e.target===t.activeElement&&L(e.target).is(i.focusableElements))i.isMoved=!0,a.allowClick=!1;else if(i.allowTouchCallbacks&&a.emit("touchMove",e),!(e.targetTouches&&1s.touchAngle:90-c>s.touchAngle)),i.isScrolling&&a.emit("touchMoveOpposite",e),void 0!==i.startMoving||n.currentX===n.startX&&n.currentY===n.startY||(i.startMoving=!0),i.isScrolling)i.isTouched=!1;else if(i.startMoving){a.allowClick=!1,!s.cssMode&&e.cancelable&&e.preventDefault(),s.touchMoveStopPropagation&&!s.nested&&e.stopPropagation(),i.isMoved||(s.loop&&!s.cssMode&&a.loopFix(),i.startTranslate=a.getTranslate(),a.setTransition(0),a.animating&&a.$wrapperEl.trigger("webkitTransitionEnd transitionend"),i.allowMomentumBounce=!1,!s.grabCursor||!0!==a.allowSlideNext&&!0!==a.allowSlidePrev||a.setGrabCursor(!0),a.emit("sliderFirstMove",e)),a.emit("sliderMove",e),i.isMoved=!0;var c=a.isHorizontal()?t:d,t=(n.diff=c,c*=s.touchRatio,a.swipeDirection=0<(c=r?-c:c)?"prev":"next",i.currentTranslate=c+i.startTranslate,!0),d=s.resistanceRatio;if(s.touchReleaseOnEdges&&(d=0),0a.minTranslate()?(t=!1,s.resistance&&(i.currentTranslate=a.minTranslate()-1+Math.pow(-a.minTranslate()+i.startTranslate+c,d))):c<0&&i.currentTranslatei.startTranslate&&(i.currentTranslate=i.startTranslate),a.allowSlidePrev||a.allowSlideNext||(i.currentTranslate=i.startTranslate),0s.threshold||i.allowThresholdMove))return void(i.currentTranslate=i.startTranslate);if(!i.allowThresholdMove)return i.allowThresholdMove=!0,n.startX=n.currentX,n.startY=n.currentY,i.currentTranslate=i.startTranslate,void(n.diff=a.isHorizontal()?n.currentX-n.startX:n.currentY-n.startY)}s.followFinger&&!s.cssMode&&((s.freeMode&&s.freeMode.enabled&&a.freeMode||s.watchSlidesProgress)&&(a.updateActiveIndex(),a.updateSlidesClasses()),a.params.freeMode&&s.freeMode.enabled&&a.freeMode&&a.freeMode.onTouchMove(),a.updateProgress(i.currentTranslate),a.setTranslate(i.currentTranslate))}}}else a.allowClick=!1,i.isTouched&&(Object.assign(n,{startX:l,startY:o,currentX:l,currentY:o}),i.touchStartTime=w())}}else i.startMoving&&i.isScrolling&&a.emit("touchMoveOpposite",e)}.bind(e),e.onTouchEnd=function(e){var t=this,a=t.touchEventsData,i=t.params,s=t.touches,n=t.rtlTranslate,r=t.slidesGrid;if(t.enabled)if(e.originalEvent&&(e=e.originalEvent),a.allowTouchCallbacks&&t.emit("touchEnd",e),a.allowTouchCallbacks=!1,a.isTouched){i.grabCursor&&a.isMoved&&a.isTouched&&(!0===t.allowSlideNext||!0===t.allowSlidePrev)&&t.setGrabCursor(!1);var o,l=w(),d=l-a.touchStartTime;if(t.allowClick&&(h=e.path||e.composedPath&&e.composedPath(),t.updateClickedSlide(h&&h[0]||e.target),t.emit("tap click",e),d<300)&&l-a.lastClickTime<300&&t.emit("doubleTap doubleClick",e),a.lastClickTime=w(),C(function(){t.destroyed||(t.allowClick=!0)}),a.isTouched&&a.isMoved&&t.swipeDirection&&0!==s.diff&&a.currentTranslate!==a.startTranslate){if(a.isTouched=!1,a.isMoved=!1,a.startMoving=!1,o=i.followFinger?n?t.translate:-t.translate:-a.currentTranslate,!i.cssMode)if(t.params.freeMode&&i.freeMode.enabled)t.freeMode.onTouchEnd({currentPos:o});else{for(var c=0,p=t.slidesSizesGrid[0],u=0;u=r[u]&&o=r[u]&&(c=u,p=r[r.length-1]-r[r.length-2])}var h=(o-r[c])/p,l=ci.longSwipesMs?i.longSwipes?("next"===t.swipeDirection&&(h>=i.longSwipesRatio?t.slideTo(c+l):t.slideTo(c)),"prev"===t.swipeDirection&&(h>1-i.longSwipesRatio?t.slideTo(c+l):t.slideTo(c))):t.slideTo(t.activeIndex):i.shortSwipes?t.navigation&&(e.target===t.navigation.nextEl||e.target===t.navigation.prevEl)?e.target===t.navigation.nextEl?t.slideTo(c+l):t.slideTo(c):("next"===t.swipeDirection&&t.slideTo(c+l),"prev"===t.swipeDirection&&t.slideTo(c)):t.slideTo(t.activeIndex)}}else a.isTouched=!1,a.isMoved=!1,a.startMoving=!1}else a.isMoved&&i.grabCursor&&t.setGrabCursor(!1),a.isMoved=!1,a.startMoving=!1}.bind(e),a.cssMode&&(e.onScroll=function(){var e=this,t=e.wrapperEl,a=e.rtlTranslate;e.enabled&&(e.previousTranslate=e.translate,e.isHorizontal()?e.translate=-t.scrollLeft:e.translate=-t.scrollTop,-0===e.translate&&(e.translate=0),e.updateActiveIndex(),e.updateSlidesClasses(),(0==(t=e.maxTranslate()-e.minTranslate())?0:(e.translate-e.minTranslate())/t)!==e.progress&&e.updateProgress(a?-e.translate:e.translate),e.emit("setTranslate",e.translate,!1))}.bind(e)),e.onClick=function(e){var t=this;t.enabled&&!t.allowClick&&(t.params.preventClicks&&e.preventDefault(),t.params.preventClicksPropagation)&&t.animating&&(e.stopPropagation(),e.stopImmediatePropagation())}.bind(e),i.touch&&!v&&(t.addEventListener("touchstart",j),v=!0),g(e,"on")},detachEvents:function(){g(this,"off")}},breakpoints:{setBreakpoint:function(){var e,t,a,i,s=this,n=s.activeIndex,r=s.initialized,o=void 0===(o=s.loopedSlides)?0:o,l=s.params,d=s.$el,c=l.breakpoints;c&&0!==Object.keys(c).length&&(e=s.getBreakpoint(c,s.params.breakpointsBase,s.el))&&s.currentBreakpoint!==e&&(c=(e in c?c[e]:void 0)||s.originalParams,a=b(s,l),i=b(s,c),t=l.enabled,a&&!i?(d.removeClass("".concat(l.containerModifierClass,"grid ").concat(l.containerModifierClass,"grid-column")),s.emitContainerClasses()):!a&&i&&(d.addClass("".concat(l.containerModifierClass,"grid")),(c.grid.fill&&"column"===c.grid.fill||!c.grid.fill&&"column"===l.grid.fill)&&d.addClass("".concat(l.containerModifierClass,"grid-column")),s.emitContainerClasses()),a=c.direction&&c.direction!==l.direction,i=l.loop&&(c.slidesPerView!==l.slidesPerView||a),a&&r&&s.changeDirection(),u(s.params,c),d=s.params.enabled,Object.assign(s,{allowTouchMove:s.params.allowTouchMove,allowSlideNext:s.params.allowSlideNext,allowSlidePrev:s.params.allowSlidePrev}),t&&!d?s.disable():!t&&d&&s.enable(),s.currentBreakpoint=e,s.emit("_beforeBreakpoint",c),i&&r&&(s.loopDestroy(),s.loopCreate(),s.updateSlides(),s.slideTo(n-o+s.loopedSlides,0,!1)),s.emit("breakpoint",c))},getBreakpoint:function(e){var t=1e):t.isLocked=1===t.snapGrid.length,!0===i.allowSlideNext&&(t.allowSlideNext=!t.isLocked),!0===i.allowSlidePrev&&(t.allowSlidePrev=!t.isLocked),a&&a!==t.isLocked&&(t.isEnd=!1),a!==t.isLocked&&t.emit(t.isLocked?"lock":"unlock")}},classes:{addClasses:function(){var a,i,e=this,t=e.classNames,s=e.params,n=e.rtl,r=e.$el,o=e.device,l=e.support,n=(l=["initialized",s.direction,{"pointer-events":!l.touch},{"free-mode":e.params.freeMode&&s.freeMode.enabled},{autoheight:s.autoHeight},{rtl:n},{grid:s.grid&&1')),e.append(t)),t}return Object.keys(E).forEach(function(t){Object.keys(E[t]).forEach(function(e){M.prototype[e]=E[t][e]})}),M.use([function(e){function n(){r&&!r.destroyed&&r.initialized&&(i("beforeResize"),i("resize"))}function t(){r&&!r.destroyed&&r.initialized&&i("orientationchange")}var r=e.swiper,a=e.on,i=e.emit,s=O(),o=null;a("init",function(){r.params.resizeObserver&&void 0!==s.ResizeObserver?r&&!r.destroyed&&r.initialized&&(o=new ResizeObserver(function(e){var t=r.width,a=r.height,i=t,s=a;e.forEach(function(e){var t=e.contentBoxSize,a=e.contentRect,e=e.target;e&&e!==r.el||(i=a?a.width:(t[0]||t).inlineSize,s=a?a.height:(t[0]||t).blockSize)}),i===t&&s===a||n()})).observe(r.el):(s.addEventListener("resize",n),s.addEventListener("orientationchange",t))}),a("destroy",function(){o&&o.unobserve&&r.el&&(o.unobserve(r.el),o=null),s.removeEventListener("resize",n),s.removeEventListener("orientationchange",t)})},function(e){function a(e){var t=1').concat(e,""))).attr("data-swiper-slide-index")||e.attr("data-swiper-slide-index",t),a.cache&&(x.virtual.cache[t]=e),e)}function o(e){var t,a=x.params,i=a.slidesPerView,s=a.slidesPerGroup,a=a.centeredSlides,n=x.params.virtual,r=n.addSlidesBefore,n=n.addSlidesAfter,o=x.virtual,l=o.from,d=o.to,c=o.slides,p=o.slidesGrid,o=o.offset,u=(x.params.cssMode||x.updateActiveIndex(),x.activeIndex||0),f=x.rtlTranslate?"right":x.isHorizontal()?"left":"top",a=a?(t=Math.floor(i/2)+s+n,Math.floor(i/2)+s+r):(t=i+(s-1)+n,s+r),h=Math.max((u||0)-a,0),m=Math.min((u||0)+t,c.length-1),i=(x.slidesGrid[h]||0)-(x.slidesGrid[0]||0);function v(){x.updateSlides(),x.updateProgress(),x.updateSlidesClasses(),x.lazy&&x.params.lazy.enabled&&x.lazy.load()}if(Object.assign(x.virtual,{from:h,to:m,offset:i,slidesGrid:x.slidesGrid}),l!==h||d!==m||e)if(x.params.virtual.renderExternal)x.params.virtual.renderExternal.call(x,{offset:i,from:h,to:m,slides:function(){for(var e=[],t=h;t<=m;t+=1)e.push(c[t]);return e}()}),x.params.virtual.renderExternalUpdate&&v();else{var g=[],w=[];if(e)x.$wrapperEl.find(".".concat(x.params.slideClass)).remove();else for(var b=l;b<=d;b+=1)(bMath.abs(n.pixelY)))return!0;i=-n.pixelX*s}else{if(!(Math.abs(n.pixelY)>Math.abs(n.pixelX)))return!0;i=-n.pixelY}else i=Math.abs(n.pixelX)>Math.abs(n.pixelY)?-n.pixelX*s:-n.pixelY;if(0===i)return!0;a.invert&&(i=-i);var r=h.getTranslate()+i*a.sensitivity;if((r=r>=h.minTranslate()?h.minTranslate():r)<=h.maxTranslate()&&(r=h.maxTranslate()),(!!h.params.loop||!(r===h.minTranslate()||r===h.maxTranslate()))&&h.params.nested&&t.stopPropagation(),h.params.freeMode&&h.params.freeMode.enabled){var o={time:w(),delta:Math.abs(i),direction:Math.sign(i)},l=f&&o.time=h.minTranslate()?h.minTranslate():c)<=h.maxTranslate()&&(c=h.maxTranslate()),h.setTransition(0),h.setTranslate(c),h.updateProgress(),h.updateActiveIndex(),h.updateSlidesClasses(),(!p&&h.isBeginning||!s&&h.isEnd)&&h.updateSlidesClasses(),h.params.freeMode.sticky&&(clearTimeout(u),u=void 0,15<=v.length&&v.shift(),n=v.length?v[v.length-1]:void 0,r=v[0],v.push(o),n&&(o.delta>n.delta||o.direction!==n.direction)?v.splice(0):15<=v.length&&o.time-r.time<500&&1<=r.delta-o.delta&&o.delta<=6&&(d=0p.delta||a.time>p.time+150)&&g(a),function(e){var t=h.params.mousewheel;if(e.direction<0){if(h.isEnd&&!h.params.loop&&t.releaseOnEdges)return 1}else if(h.isBeginning&&!h.params.loop&&t.releaseOnEdges)return 1}(a))return!0}return t.preventDefault?t.preventDefault():t.returnValue=!1,!1}}function l(e){var t=h.$el;(t="container"!==h.params.mousewheel.eventsTarget?L(h.params.mousewheel.eventsTarget):t)[e]("mouseenter",n),t[e]("mouseleave",r),t[e]("wheel",o)}function d(){if(h.params.cssMode)h.wrapperEl.removeEventListener("wheel",o);else{if(h.mousewheel.enabled)return!1;l("on"),h.mousewheel.enabled=!0}return!0}function c(){if(h.params.cssMode)h.wrapperEl.addEventListener(event,o);else{if(!h.mousewheel.enabled)return!1;l("off"),h.mousewheel.enabled=!1}return!0}a("init",function(){!h.params.mousewheel.enabled&&h.params.cssMode&&c(),h.params.mousewheel.enabled&&d()}),a("destroy",function(){h.params.cssMode&&d(),h.mousewheel.enabled&&c()}),Object.assign(h.mousewheel,{enable:d,disable:c})},function(e){var n=e.swiper,t=e.extendParams,a=e.on,r=e.emit;function i(e){var t;return t=e&&(t=L(e),n.params.uniqueNavElements)&&"string"==typeof e&&1t-1-2*m.loopedSlides&&(i-=t-2*m.loopedSlides),n-1a.dynamicMainBullets-1?g=a.dynamicMainBullets-1:g<0&&(g=0)),r=Math.max(i-g,0),l=((o=r+(Math.min(d.length,a.dynamicMainBullets)-1))+r)/2),d.removeClass(["","-next","-next-next","-prev","-prev-prev","-main"].map(function(e){return"".concat(a.bulletActiveClass).concat(e)}).join(" ")),1=d.length){for(var f=a.dynamicMainBullets;0<=f;--f)d.eq(d.length-f).addClass("".concat(a.bulletActiveClass,"-main"));d.eq(d.length-a.dynamicMainBullets-1).addClass("".concat(a.bulletActiveClass,"-prev"))}else b(t,"prev"),b(p,"next");else b(t,"prev"),b(p,"next")}}a.dynamicBullets&&(c=Math.min(d.length,a.dynamicMainBullets+4),t=(h*c-h)/2-l*h,p=e?"right":"left",d.css(m.isHorizontal()?p:"top","".concat(t,"px")))}"fraction"===a.type&&(s.find(k(a.currentClass)).text(a.formatFractionCurrent(i+1)),s.find(k(a.totalClass)).text(a.formatFractionTotal(n))),"progressbar"===a.type&&(c=a.progressbarOpposite?m.isHorizontal()?"vertical":"horizontal":m.isHorizontal()?"horizontal":"vertical",l=(i+1)/n,p=e=1,"horizontal"===c?e=l:p=l,s.find(k(a.progressbarFillClass)).transform("translate3d(0,0,0) scaleX(".concat(e,") scaleY(").concat(p,")")).transition(m.params.speed)),"custom"===a.type&&a.renderCustom?(s.html(a.renderCustom(m,i+1,n)),v("paginationRender",s[0])):v("paginationUpdate",s[0]),m.params.watchOverflow&&m.enabled&&s[m.isLocked?"addClass":"removeClass"](a.lockClass)}}function s(){var e=m.params.pagination;if(!w()){var t=(m.virtual&&m.params.virtual.enabled?m.virtual:m).slides.length,a=m.pagination.$el,i="";if("bullets"===e.type){var s=m.params.loop?Math.ceil((t-2*m.loopedSlides)/m.params.slidesPerGroup):m.snapGrid.length;m.params.freeMode&&m.params.freeMode.enabled&&!m.params.loop&&t");a.html(i),m.pagination.bullets=a.find(k(e.bulletClass))}"fraction"===e.type&&(i=e.renderFraction?e.renderFraction.call(m,e.currentClass,e.totalClass):'')+" / "+''),a.html(i)),"progressbar"===e.type&&(i=e.renderProgressbar?e.renderProgressbar.call(m,e.progressbarFillClass):''),a.html(i)),"custom"!==e.type&&v("paginationRender",m.pagination.$el[0])}}function n(){m.params.pagination=P(m,m.originalParams.pagination,m.params.pagination,{el:"swiper-pagination"});var e,t=m.params.pagination;!t.el||0===(e=L(t.el)).length||(m.params.uniqueNavElements&&"string"==typeof t.el&&1')),e.append(a)),Object.assign(t,{$el:e,el:e[0],$dragEl:a,dragEl:a[0]}),i.draggable&&l.params.scrollbar.el&&y("on"),e)&&e[l.enabled?"removeClass":"addClass"](l.params.scrollbar.lockClass)}function E(){l.params.scrollbar.el&&y("off")}t({scrollbar:{el:null,dragSize:"auto",hide:!1,draggable:!1,snapOnRelease:!0,lockClass:"swiper-scrollbar-lock",dragClass:"swiper-scrollbar-drag"}}),l.scrollbar={el:null,dragEl:null,$el:null,$dragEl:null},a("init",function(){x(),h(),s()}),a("update resize observerUpdate lock unlock",function(){h()}),a("setTranslate",function(){s()}),a("setTransition",function(e,t){t=t,l.params.scrollbar.el&&l.scrollbar.el&&l.scrollbar.$dragEl.transition(t)}),a("enable disable",function(){var e=l.scrollbar.$el;e&&e[l.enabled?"removeClass":"addClass"](l.params.scrollbar.lockClass)}),a("destroy",function(){E()}),Object.assign(l.scrollbar,{updateSize:h,setTranslate:s,init:x,destroy:E})},function(e){function n(e,t){var a=l.rtl,e=L(e),a=a?-1:1,i=e.attr("data-swiper-parallax")||"0",s=e.attr("data-swiper-parallax-x"),n=e.attr("data-swiper-parallax-y"),r=e.attr("data-swiper-parallax-scale"),o=e.attr("data-swiper-parallax-opacity");s||n?(s=s||"0",n=n||"0"):l.isHorizontal()?(s=i,n="0"):(n=i,s="0"),s=0<=s.indexOf("%")?"".concat(parseInt(s,10)*t*a,"%"):"".concat(s*t*a,"px"),n=0<=n.indexOf("%")?"".concat(parseInt(n,10)*t,"%"):"".concat(n*t,"px"),null!=o&&(i=o-(o-1)*(1-Math.abs(t)),e[0].style.opacity=i),null==r?e.transform("translate3d(".concat(s,", ").concat(n,", 0px)")):(a=r-(r-1)*(1-Math.abs(t)),e.transform("translate3d(".concat(s,", ").concat(n,", 0px) scale(").concat(a,")")))}function t(){var e=l.$el,t=l.slides,i=l.progress,s=l.snapGrid;e.children("[data-swiper-parallax], [data-swiper-parallax-x], [data-swiper-parallax-y], [data-swiper-parallax-opacity], [data-swiper-parallax-scale]").each(function(e){n(e,i)}),t.each(function(e,t){var a=e.progress;1p.maxRatio&&(i.scale=p.maxRatio-1+Math.pow(i.scale-p.maxRatio+1,.5)),i.scaleu.touchesStart.x))return void(u.isTouched=!1);if(!l.isHorizontal()&&(Math.floor(u.minY)===Math.floor(u.startY)&&u.touchesCurrent.yu.touchesStart.y))return void(u.isTouched=!1)}e.cancelable&&e.preventDefault(),e.stopPropagation(),u.isMoved=!0,u.currentX=u.touchesCurrent.x-u.touchesStart.x+u.startX,u.currentY=u.touchesCurrent.y-u.touchesStart.y+u.startY,u.currentXu.maxX&&(u.currentX=u.maxX-1+Math.pow(u.currentX-u.maxX+1,.8)),u.currentYu.maxY&&(u.currentY=u.maxY-1+Math.pow(u.currentY-u.maxY+1,.8)),f.prevPositionX||(f.prevPositionX=u.touchesCurrent.x),f.prevPositionY||(f.prevPositionY=u.touchesCurrent.y),f.prevTime||(f.prevTime=Date.now()),f.x=(u.touchesCurrent.x-f.prevPositionX)/(Date.now()-f.prevTime)/2,f.y=(u.touchesCurrent.y-f.prevPositionY)/(Date.now()-f.prevTime)/2,Math.abs(u.touchesCurrent.x-f.prevPositionX)<2&&(f.x=0),Math.abs(u.touchesCurrent.y-f.prevPositionY)<2&&(f.y=0),f.prevPositionX=u.touchesCurrent.x,f.prevPositionY=u.touchesCurrent.y,f.prevTime=Date.now(),p.$imageWrapEl.transform("translate3d(".concat(u.currentX,"px, ").concat(u.currentY,"px,0)"))}}}function y(){var e=l.zoom;p.$slideEl&&l.previousIndex!==l.activeIndex&&(p.$imageEl&&p.$imageEl.transform("translate3d(0,0,0) scale(1)"),p.$imageWrapEl&&p.$imageWrapEl.transform("translate3d(0,0,0)"),e.scale=1,c=1,p.$slideEl=void 0,p.$imageEl=void 0,p.$imageWrapEl=void 0)}function x(e){var t,a,i,s,n,r=l.zoom,o=l.params.zoom;p.$slideEl||(e&&e.target&&(p.$slideEl=L(e.target).closest(".".concat(l.params.slideClass))),p.$slideEl||(l.params.virtual&&l.params.virtual.enabled&&l.virtual?p.$slideEl=l.$wrapperEl.children(".".concat(l.params.slideActiveClass)):p.$slideEl=l.slides.eq(l.activeIndex)),p.$imageEl=p.$slideEl.find(".".concat(o.containerClass)).eq(0).find("picture, img, svg, canvas, .swiper-zoom-target").eq(0),p.$imageWrapEl=p.$imageEl.parent(".".concat(o.containerClass))),p.$imageEl&&0!==p.$imageEl.length&&p.$imageWrapEl&&0!==p.$imageWrapEl.length&&(l.params.cssMode&&(l.wrapperEl.style.overflow="hidden",l.wrapperEl.style.touchAction="none"),p.$slideEl.addClass("".concat(o.zoomedSlideClass)),t=void 0===u.touchesStart.x&&e?(n=("touchend"===e.type?e.changedTouches[0]:e).pageX,("touchend"===e.type?e.changedTouches[0]:e).pageY):(n=u.touchesStart.x,u.touchesStart.y),r.scale=p.$imageWrapEl.attr("data-swiper-zoom")||o.maxRatio,c=p.$imageWrapEl.attr("data-swiper-zoom")||o.maxRatio,e?(o=p.$slideEl[0].offsetWidth,e=p.$slideEl[0].offsetHeight,n=p.$slideEl.offset().left+d.scrollX+o/2-n,t=p.$slideEl.offset().top+d.scrollY+e/2-t,s=p.$imageEl[0].offsetWidth,i=p.$imageEl[0].offsetHeight,s=s*r.scale,i=i*r.scale,o=Math.min(o/2-s/2,0),s=Math.min(e/2-i/2,0),(e=-o)<(i=(i=n*r.scale)>1]<=t?i=s:a=s;return a};return this.x=e,this.y=t,this.lastIndex=e.length-1,this.interpolate=function(e){return e?(r=o(this.x,e),n=r-1,(e-this.x[n])*(this.y[r]-this.y[n])/(this.x[r]-this.x[n])+this.y[n]):0},this}function a(){l.controller.control&&l.controller.spline&&(l.controller.spline=void 0,delete l.controller.spline)}t({controller:{control:void 0,inverse:!1,by:"slide"}}),l.controller={control:void 0},e("beforeInit",function(){l.controller.control=l.params.controller.control}),e("update",function(){a()}),e("resize",function(){a()}),e("observerUpdate",function(){a()}),e("setTranslate",function(e,t,a){l.controller.control&&l.controller.setTranslate(t,a)}),e("setTransition",function(e,t,a){l.controller.control&&l.controller.setTransition(t,a)}),Object.assign(l.controller,{setTranslate:function(e,t){var i,s,a=l.controller.control,n=l.constructor;function r(e){var t,a=l.rtlTranslate?-l.translate:l.translate;"slide"===l.params.controller.by&&(t=e,l.controller.spline||(l.controller.spline=l.params.loop?new d(l.slidesGrid,t.slidesGrid):new d(l.snapGrid,t.snapGrid)),s=-l.controller.spline.interpolate(-a)),s&&"container"!==l.params.controller.by||(i=(e.maxTranslate()-e.minTranslate())/(l.maxTranslate()-l.minTranslate()),s=(a-l.minTranslate())*i+e.minTranslate()),l.params.controller.inverse&&(s=e.maxTranslate()-s),e.updateProgress(s),e.setTranslate(s,l),e.updateActiveIndex(),e.updateSlidesClasses()}if(Array.isArray(a))for(var o=0;o'))}),e("afterInit",function(){o.params.a11y.enabled&&(g(),f())}),e("toEdge",function(){o.params.a11y.enabled&&f()}),e("fromEdge",function(){o.params.a11y.enabled&&f()}),e("paginationUpdate",function(){var t;o.params.a11y.enabled&&(t=o.params.a11y,h())&&o.pagination.bullets.each(function(e){e=L(e);o.params.pagination.clickable&&(i(e),o.params.pagination.renderBullet||(d(e,"button"),p(e,t.paginationBulletMessage.replace(/\{\{index\}\}/,e.index()+1)))),e.is(".".concat(o.params.pagination.bulletActiveClass))?e.attr("aria-current","true"):e.removeAttr("aria-current")})}),e("destroy",function(){var e,t;o.params.a11y.enabled&&(l&&0u.previousIndex?"next":"prev"):(i=u.realIndex)>u.previousIndex?"next":"prev",o&&(i+="next"===s?r:-1*r),t.visibleSlidesIndexes)&&t.visibleSlidesIndexes.indexOf(i)<0&&(t.params.centeredSlides?i=a-h.maxTranslate())h.slides.lengthh.minTranslate())t.freeMode.momentumBounce?(p-h.minTranslate()>c&&(p=h.minTranslate()+c),o=h.minTranslate(),n.allowMomentumBounce=e=!0):p=h.minTranslate(),t.loop&&t.centeredSlides&&(l=!0);else if(t.freeMode.sticky){for(var u,f=0;f-p){u=f;break}p=-(p=Math.abs(s[u]-p)=t.longSwipesMs)&&(h.updateProgress(),h.updateActiveIndex(),h.updateSlidesClasses())}}}})},function(e){var c,p,u,f=e.swiper;(0,e.extendParams)({grid:{rows:1,fill:"column"}}),f.grid={initSlides:function(e){var t=f.params.slidesPerView,a=f.params.grid,i=a.rows,a=a.fill;p=c/i,u=Math.floor(e/i),c=Math.floor(e/i)===e/i?e:Math.ceil(e/i)*i,"auto"!==t&&"row"===a&&(c=Math.max(c,t*i))},updateSlide:function(e,t,a,i){var s,n,r=f.params,o=r.slidesPerGroup,r=r.spaceBetween,l=f.params.grid,d=l.rows,l=l.fill;"row"===l&&1'),t.append(E)),E.css({height:"".concat(i,"px")})):0===(E=e.find(".swiper-cube-shadow")).length&&(E=L('
'),e.append(E)));for(var u,f=0;f')),h.append(v)),0===b.length&&(b=L('
')),h.append(b)),v.length&&(v[0].style.opacity=Math.max(-w,0)),b.length)&&(b[0].style.opacity=Math.max(w,0))}t.css({"-webkit-transform-origin":"50% 50% -".concat(r/2,"px"),"transform-origin":"50% 50% -".concat(r/2,"px")}),l.shadow&&(d?E.transform("translate3d(0px, ".concat(i/2+l.shadowOffset,"px, ").concat(-i/2,"px) rotateX(90deg) rotateZ(0deg) scale(").concat(l.shadowScale,")")):(e=Math.abs(p)-90*Math.floor(Math.abs(p)/90),i=1.5-(Math.sin(2*e*Math.PI/360)/2+Math.cos(2*e*Math.PI/360)/2),e=l.shadowScale,i=l.shadowScale/i,u=l.shadowOffset,E.transform("scale3d(".concat(e,", 1, ").concat(i,") translate3d(0px, ").concat(s/2+u,"px, ").concat(-s/2/i,"px) rotateX(-90deg)"))));var E=o.isSafari||o.isWebView?-r/2:0;t.transform("translate3d(0px,0,".concat(E,"px) rotateX(").concat(T.isHorizontal()?0:p,"deg) rotateY(").concat(T.isHorizontal()?-p:0,"deg)"))},setTransition:function(e){var t=T.$el;T.slides.transition(e).find(".swiper-slide-shadow-top, .swiper-slide-shadow-right, .swiper-slide-shadow-bottom, .swiper-slide-shadow-left").transition(e),T.params.cubeEffect.shadow&&!T.isHorizontal()&&t.find(".swiper-cube-shadow").transition(e)},perspective:function(){return!0},overwriteParams:function(){return{slidesPerView:1,slidesPerGroup:1,watchSlidesProgress:!0,resistanceRatio:0,spaceBetween:0,centeredSlides:!1,virtualTranslate:!0}}})},function(e){var u=e.swiper,t=e.extendParams,e=e.on;t({flipEffect:{slideShadows:!0,limitRotation:!0,transformEl:null}}),$({effect:"flip",swiper:u,on:e,setTranslate:function(){for(var e=u.slides,t=u.rtlTranslate,a=u.params.flipEffect,i=0;i + + + + Botozz + + + + + + + + + +
+ BOTOZZ + +
+
+
+
+

Адаптация и благополучие ваших сотрудников

+ + + + + + + + +

Оставьте заявку на создание корпоративного чат-бота.

+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+ + Фотография руки с телефоном. + +
+
+
+
+ + + + + + + + diff --git a/package.json b/package.json index 6867abaf4..27bee33e7 100644 --- a/package.json +++ b/package.json @@ -1,5 +1,5 @@ { - "name": "Liga-A-accelerator-template", + "name": "Botozz", "version": "2.0.0", "type": "module", "description": "Стартовый шаблон сборки Лиги А", @@ -15,7 +15,9 @@ "build": "gulp build", "dev": "gulp dev", "start": "gulp start", - "webp": "gulp webp" + "webp": "gulp webp", + "predeploy": "npm run build", + "deploy": "gh-pages -d build" }, "editorconfig-cli": [ "*.json", @@ -27,8 +29,8 @@ "source/sass/**/*.{sass,scss}" ], "devDependencies": { - "@babel/preset-env": "7.18.6", "@babel/core": "7.21.4", + "@babel/preset-env": "7.18.6", "@htmlacademy/editorconfig-cli": "1.x", "autoprefixer": "10.4.7", "babelify": "10.0.0", @@ -36,18 +38,19 @@ "browserify": "17.0.0", "del": "6.1.1", "eslint": "7.32.0", + "gh-pages": "^6.1.1", "gulp": "4.0.2", + "gulp-concat": "2.6.1", "gulp-csso": "4.0.1", "gulp-group-css-media-queries": "1.2.2", "gulp-imagemin": "7.1.0", "gulp-postcss": "9.0.1", - "gulp-concat": "2.6.1", "gulp-rename": "2.0.0", "gulp-sass": "5.1.0", "gulp-sourcemaps": "3.0.0", "gulp-svgstore": "9.0.0", - "gulp-webp": "4.0.1", "gulp-uglify": "3.0.2", + "gulp-webp": "4.0.1", "imagemin-mozjpeg": "10.0.0", "imagemin-pngquant": "9.0.2", "imagemin-svgo": "10.0.1", diff --git a/source/fonts/montserrat-bold.woff b/source/fonts/montserrat-bold.woff new file mode 100644 index 000000000..2883cbf14 Binary files /dev/null and b/source/fonts/montserrat-bold.woff differ diff --git a/source/fonts/montserrat-bold.woff2 b/source/fonts/montserrat-bold.woff2 new file mode 100644 index 000000000..53ce9dbef Binary files /dev/null and b/source/fonts/montserrat-bold.woff2 differ diff --git a/source/fonts/montserrat-medium.woff b/source/fonts/montserrat-medium.woff new file mode 100644 index 000000000..9e15b389e Binary files /dev/null and b/source/fonts/montserrat-medium.woff differ diff --git a/source/fonts/montserrat-medium.woff2 b/source/fonts/montserrat-medium.woff2 new file mode 100644 index 000000000..b0efef2b2 Binary files /dev/null and b/source/fonts/montserrat-medium.woff2 differ diff --git a/source/fonts/montserrat-regular.woff b/source/fonts/montserrat-regular.woff new file mode 100644 index 000000000..2e90375ee Binary files /dev/null and b/source/fonts/montserrat-regular.woff differ diff --git a/source/fonts/montserrat-regular.woff2 b/source/fonts/montserrat-regular.woff2 new file mode 100644 index 000000000..71b9f4173 Binary files /dev/null and b/source/fonts/montserrat-regular.woff2 differ diff --git a/source/img/phone.png b/source/img/phone.png new file mode 100644 index 000000000..6927d216a Binary files /dev/null and b/source/img/phone.png differ diff --git a/source/img/phone@2x.png b/source/img/phone@2x.png new file mode 100644 index 000000000..8e516739f Binary files /dev/null and b/source/img/phone@2x.png differ diff --git a/source/img/svg/cross.svg b/source/img/svg/cross.svg new file mode 100644 index 000000000..f42c838c6 --- /dev/null +++ b/source/img/svg/cross.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/svg/telegram.svg b/source/img/svg/telegram.svg new file mode 100644 index 000000000..13e40cd4b --- /dev/null +++ b/source/img/svg/telegram.svg @@ -0,0 +1,3 @@ + + + diff --git a/source/img/svg/tick.svg b/source/img/svg/tick.svg new file mode 100644 index 000000000..7165dc6bf --- /dev/null +++ b/source/img/svg/tick.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + diff --git a/source/img/tick.svg b/source/img/tick.svg new file mode 100644 index 000000000..cbfd334ad --- /dev/null +++ b/source/img/tick.svg @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + diff --git a/source/index.html b/source/index.html index b45f3d2e4..670cf8c34 100644 --- a/source/index.html +++ b/source/index.html @@ -1,64 +1,145 @@ - + - - - - - ProjectName + + Botozz + + + + + + - -
-
-
-
-
-
-
-

Тестовая страница.

-

На данной странице показан пример модальных окон.

-

Перед началом разработки не забудьте удалить всё содержимое ‹main›‹⁄main›.

-

modal--feedback link

-

modal--success link

+ +
+ BOTOZZ + +
+
+
+
+

Адаптация и благополучие ваших сотрудников

+ + + + + + + + +

Оставьте заявку на создание корпоративного чат-бота.

+
+
+
+
+
+ +
+
+ +
+
+
+ +
+
+
+ +
+
+ +
+
+ + +
+
+
+
+
+ + Фотография руки с телефоном. +
-
-
-
-
-
-
- - - + +
- + +
+ + + + + +