/***
    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *,
g,
path,
symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}


/*перебиваем стили тильды, которые ломают верстку */
.t-select {
  all: unset;
  display: block;
  font-family: 'TildaSans', Arial, sans-serif;
  font-size: 16px;
  color: #000000;
  background: transparent;
  box-sizing: border-box;
  border: 1px solid #c9c9c9;
  border-radius: 5px;
  padding: 0 45px 0 20px;
  height: 60px;
  line-height: 60px; /* Вот это выровняет текст по центру */
  appearance: none;
  width: 100%;
  cursor: pointer;
}

@media screen and (max-width: 640px) {
    .t702 .t-submit, .t702 .t-input, .t702 .t-select {
        height: 60px;
        font-size: 16px;
    }
}

#order > div > form > div.calc__side > a > span {color: #fff;}
#allrecords a {color: #000;}
#allrecords a.button {color: #fff;}
.t-records ul {padding: 0; margin :0;}
#allrecords ul {padding: 0; margin :0;}
#rec1005258531 {display:none;}
#tns2-ow > div.tns-nav {display:none;}
#order > div > form > div.form__main > div.calc__options > div > label:nth-child(1) > div.calc__radio-message > a.calc__link.calc__link--long {color: #fff;}
#order > div > form > div.form__main > div.calc__data-section.is-visible > div:nth-child(1) {color: #fff;}
.t706__carticon-img {
    stroke: #000;
     height:auto !important; 
    padding: 18px 20px 22px;
     width:auto !important; 
}
#rec1004091911 > div > div > div > div > div.popup.is-open > div > div > ul {padding-left: 20px;}
#rec1044692996 > div > div.t706__sidebar.t706__sidebar_showed > div > div.t706__sidebar-products > div:nth-child(2) > div.t706__product-plusminus.t-descr.t-descr_sm,
#rec1044692996 > div > div.t706__cartpage.t706__cartpage_showed > div.t706__cartpage-content.t-container > div.t706__cartpage-info.t-col.t-col_6 > div > div.t706__cartpage-products > div:nth-child(2) > div.t706__product-plusminus.t-descr.t-descr_sm {opacity: 0 !important; pointer-events: none !important;}

/* Reapply the pointer cursor for anchor tags */
a,
button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol,
ul,
menu,
summary {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-inline-size: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the  text input doesn't working */
input,
textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
  all: revert;
  box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
- fix for the content editable attribute will work properly.
- webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
  display: none;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
  width: 100%;
  position: relative;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  font-family: Inter, sans-serif;
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  color: #000000;
  background-color: #ffffff;
  scrollbar-width: thin;
  scrollbar-color: #fff transparent;
}
body::-webkit-scrollbar {
  width: 5px;
  height: 5px;
  border-radius: 8px;
}
body::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 8px;
  margin: 0px 0;
}
body::-webkit-scrollbar-thumb {
  background-color: #fff;
  border-radius: 8px;
}
body.is-overflow {
  overflow: hidden;
}
body.is-fake-scroll::after {
  position: fixed;
  content: "";
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  z-index: 8;
}

.wrapper {
  display: flex;
  flex-flow: column nowrap;
  min-height: 100%;
  overflow: hidden;
}

.main {
  padding-top: 102px;
  position: relative;
  flex-grow: 1;
}

.container {
  width: 100%;
  padding: 0 70px;
  margin: 0 auto;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul,
ol,
li,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
}

*:focus {
  outline: none !important;
}

a {
  text-decoration: none;
  transition: color 0.3s;
}

p {
  margin: 1em 0;
}
p:first-child {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

button {
  background-color: transparent;
  padding: 0;
  border: none;
  user-select: none;
  cursor: pointer;
}

.icon {
  flex-shrink: 0;
  fill: currentColor;
}

.hidden {
  pointer-events: none;
  width: 0;
  height: 0;
  visibility: hidden;
}

a,
input,
label,
button {
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent;
}

a,
input,
label,
span,
button::selection {
  background: transparent;
}

a,
input,
label,
button::-moz-selection {
  background: transparent;
}



@media only screen and (max-width: 1440px) {
  .container {
    padding: 0 20px;
  }
  .main {
    padding-top: 98px;
    position: relative;
    flex-grow: 1;
  }
}
@media only screen and (max-width: 1199px) {
  body {
    font-size: 16px;
    font-weight: 400;
    line-height: 22px;
  }
}
@media only screen and (max-width: 1023px) {
  .main {
    padding-top: 70px;
  }
}
.about {
  padding-top: 40px;
  margin-bottom: 40px;
}
.about__header {
  position: relative;
  display: flex;
  width: 60%;
  margin-left: auto;
  flex-direction: column;
  padding-bottom: 108px;
}
.about__header::before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 0;
  width: 1px;
  height: 68px;
  background-color: #000000;
}
.about__caption {
  margin-bottom: 28px;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.about__text {
  line-height: 26px;
}
.about__text:not(:last-child) {
  margin-bottom: 10px;
}
.about__video {
  width: 100%;
  padding: 90px 145px 115px 145px;
  background-color: #1b1b1b;
}
.about__video img {
  width: 100%;
}
.about__video-content {
  position: relative;
}
.about__video-button {
  position: absolute;
  z-index: 5;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100px;
  height: 100px;
  background-color: #034884;
  border-radius: 50%;
  transition: background-color 0.3s, opacity 0.3s, box-shadow 0.3s;
  cursor: pointer;
}
.about__video-button::before, .about__video-button::after {
  position: absolute;
  content: "";
  top: 50%;
  transform: translateY(-50%);
}
.about__video-button::before {
  left: 44px;
  transition: all 0.2s linear;
  width: 0;
  height: 24px;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  border-left: 23px solid #ffffff;
}
.about__video-button::after {
  right: 35px;
  transition: all 0.3s;
  width: 0;
  height: 0;
  border-top: 17px solid transparent;
  border-bottom: 17px solid transparent;
  border-left: 23px solid #ffffff;
}

.about__video.is-playing .about__video-button::before {
  border-top-width: 0;
  border-bottom-width: 0;
  height: 32px;
  left: calc(50% + 4px);
  border-left: 6px solid #ffffff;
}
.about__video.is-playing .about__video-button::after {
  border-top-width: 0;
  border-bottom-width: 0;
  height: 32px;
  right: calc(50% + 4px);
  border-left: 6px solid #ffffff;
}

@media (hover: hover) {
  .about__video-button:hover {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  }
}
@media only screen and (max-width: 1440px) {
  .about__video {
    padding: 60px;
  }
}
@media only screen and (max-width: 1023px) {
  .about {
    padding-top: 98px;
  }
  .about__video {
    padding: 40px 20px;
  }
  .about__video-button {
    width: 66px;
    height: 66px;
  }
  .about__video-button::before {
    left: 26px;
    transition: all 0.2s linear;
    width: 0;
    height: 24px;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 23px solid #ffffff;
  }
  .about__video-button::after {
    right: 16px;
    transition: all 0.3s;
    width: 0;
    height: 0;
    border-top: 17px solid transparent;
    border-bottom: 17px solid transparent;
    border-left: 23px solid #ffffff;
  }
}
@media only screen and (max-width: 767px) {
  .about__caption {
    margin-bottom: 28px;
    font-size: 25px;
  }
  .about__header {
    width: 100%;
    padding-bottom: 84px;
  }
  .about__header::before {
    display: none;
  }
}
.articles {
  padding: 0 0 128px 0;
}
.articles__caption {
  width: 30%;
  margin-bottom: 62px;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.articles__wrapper {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: scroll;
  gap: 50px;
  margin-right: -20px;
}
.articles__item {
  position: relative;
  padding-top: 20px;
}
.articles__item:last-child {
  margin-right: 20px;
}
.articles__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #034884;
}
.articles__item-caption {
  padding-right: 20px;
  transition: opacity 0.3s;
  margin-bottom: 8px;
  font-family: Tenor Sans, sans-serif;
  font-size: 28px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s;
}
.articles__data {
  font-size: 14px;
  line-height: 20px;
  color: #999999;
}

@media (hover: hover) {
  .articles__item:hover .articles__item-caption {
    background-position: 33.66% center;
  }
}
@media only screen and (max-width: 1440px) {
  .articles__caption {
    margin-bottom: 42px;
    width: 100%;
    font-size: 35px;
  }
}
@media only screen and (max-width: 1023px) {
  .articles__wrapper {
    gap: 24px;
  }
  .articles__item {
    min-width: 300px;
  }
  .articles__item-caption {
    width: 100%;
  }
}
.banner {
  padding: 60px 0 70px 0;
  background-color: rgba(169, 169, 169, 0.1019607843);
}
.banner__caption {
  width: 55%;
  flex-shrink: 0;
  transition: opacity 0.3s;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.banner__content {
  display: flex;
  gap: 133px;
  font-size: 24px;
  line-height: 34px;
}
.banner__text {
  width: 272px;
}

@media only screen and (max-width: 1023px) {
  .banner {
    display: none;
  }
}
.button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 8px 24px;
  border-radius: 50px;
  color: #ffffff;
  background-color: #ff0000;
  font-size: 14px;
  font-weight: 500;
  transition: color 0.3s, background-color 0.3s, opacity 0.3s, border-color 0.3s;
  cursor: pointer;
}
.button span {
  z-index: 1;
}
.button--mobile {
  display: none;
  width: max-content;
}
.button--desktop {
  display: inline-flex;
}

@media (hover: hover) {
  .button:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1023px) {
  .button--mobile {
    display: inline-flex;
  }
  .button--desktop {
    display: none;
  }
}

#order > div > form > div > div.calc__main > div.calc__options > div > label:nth-child(1) > div.calc__radio-message > a,
#order > div > form > div > div.calc__side > a {color: #fff;}
.calc {
  padding: 90px 0 44px 0;
  background: linear-gradient(118.19deg, #034884 9.25%, #006ac6 33.19%, #01101e 109.67%);
}
.calc__column {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.calc__for-service {
  display: none;
  margin-bottom: 26px;
  font-size: 20px;
  font-weight: 600;
}
.calc__data-section {
  height: 0;
  margin-bottom: 0;
  pointer-events: none;
  transition: height 0.3s, margin 0.3s;
  overflow: hidden;
  display: flex;
  gap: 38px;
  flex-direction: column;
}
.calc__data-section.is-visible {
  height: auto;
  margin-bottom: 38px;
  margin-top: -60px;
  pointer-events: auto;
}
.calc__link {
  display: flex;
  align-items: center;
  gap: 20px;
  color: #ffffff;
}
.calc__link--info {
  align-items: flex-start;
  position: absolute;
  top: 6px;
}
.calc__link--info span {
  font-size: 16px;
}
.calc__link i {
  flex-shrink: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #ff0000;
  font-weight: 700;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
}
.calc__link span {
  transition: opacity 0.3s;
}
.calc__return-message {
  display: inline-block;
  margin-top: 25px;
  font-size: 10px;
  line-height: 16px;
  opacity: 0.56;
  color: #ffffff;
}
.calc__caption {
  color: #ffffff;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  position: absolute;
  top: 0;
}
.calc__item {
  display: flex;
  width: 100%;
  flex-direction: column;
}
.calc__block-caption {
  font-weight: 700;
  font-size: 20px;
  line-height: 24px;
  color: #ffffff;
  margin-bottom: 24px;
}
.calc__notice {
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: 14px;
  width: 100%;
  align-items: flex-end;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
}
.calc__notice span:first-child {
  opacity: 0.56;
  color: #ffffff;
}
.calc__notice span:last-child {
  opacity: 0;
  color: #000000;
  transition: opacity 0.3s;
}
.calc__notice.is-active span:last-child {
  opacity: 0.4;
}
.calc__form-wrapper {
  display: flex;
  gap: 132px;
}
.calc__options {
  position: relative;
  display: flex;
  flex-direction: column;
  padding-bottom: 60px;
  margin-bottom: 28px;
  margin-top: -48px;
}
.calc__options-group {
  display: flex;
  gap: 20px;
  width: 100%;
}
.calc__radio-card {
  width: 50%;
  min-width: 325px;
  display: flex;
  align-items: flex-start;
  background-color: #00396a;
  border-radius: 10px;
  color: #6cbaff;
  cursor: pointer;
  transition: background-color 0.3s;
}
.calc__radio-message {
  position: absolute;
  bottom: 12px;
  left: 0;
  font-size: 14px;
  line-height: 20px;
  color: #ffffff;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.calc__radio-message--self {
  position: relative;
  top: auto;
  bottom: auto;
  opacity: 1;
  text-align: left;
}
.calc__radio-icon {
  padding: 2px 0 0 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #ff0000;
}
.calc__radio-input:checked ~ .calc__radio-message {
  opacity: 1;
  pointer-events: auto;
}
.calc__radio-input {
  display: none;
}
.calc__radio-indicator {
  width: 30px;
  height: 30px;
  background-color: #6cbaff;
  border-radius: 50%;
  margin: 4px 16px 0 0;
  position: relative;
  flex-shrink: 0;
  transition: background-color 0.3s;
}
.calc__radio-input:checked + .calc__radio-content .calc__radio-indicator {
  background-color: #0159a7;
}
.calc__radio-input:checked + .calc__radio-content .calc__radio-indicator::after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  left: calc(50% - 6px);
  width: 12px;
  height: 12px;
  background-color: #ffffff;
  transition: background-color 0.3s;
  border-radius: 50%;
}
.calc__radio-content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  width: 100%;
  height: 100%;
  padding: 24px 24px 54px 24px;
  transition: background-color 0.3s;
  border-radius: 10px;
}
.calc__radio-input:checked + .calc__radio-content {
  color: #000000;
  background-color: #ffffff;
}
.calc__radio-title {
  font-size: 20px;
  font-weight: 700;
  transition: color 0.3s;
}
.calc__radio-description {
  font-size: 14px;
  line-height: 20px;
  transition: color 0.3s;
}
.calc__area {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
}
.calc__add-button, .calc__remove-button {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  border-radius: 10px;
  background-color: #00396a;
  transition: opacity 0.3s;
}
.calc__add-button {
  background-color: #007ce8;
  margin-left: auto;
}
.calc__add-button svg {
  transform: rotate(45deg);
}
.calc__add-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #ffffff;
}
.calc__add-block span {
  font-size: 14px;
  line-height: 20px;
  opacity: 0;
  transition: opacity 0.3s;
}
.calc__add-block.is-active span {
  opacity: 1;
}
.calc__ui-result {
  position: absolute;
  pointer-events: none;
  right: 30px;
  top: 50%;
  margin-top: 9px;
  transform: translateY(-50%);
  font-size: 14px;
  line-height: 20px;
  opacity: 0;
  transition: opacity 0.3s;
}
.calc__ui-placeholder {
  pointer-events: none;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 20px;
  font-size: 14px;
  line-height: 20px;
  opacity: 0.3;
  transition: opacity 0.3s, transform 0.3s;
}
.calc__label {
  font-size: 14px;
  color: #ffffff;
}
.calc__input {
  padding: 22px 30px 22px 20px;
  transition: padding 0.3s;
  font-weight: 700;
  font-size: 20px;
  background-color: #ffffff;
  border-radius: 8px;
  width: 100%;
  transition: box-shadow 0.3s;
}
.calc__input:focus, .calc__input.isValid {
  padding: 30px 30px 14px 20px;
}
.calc__input:focus {
  box-shadow: inset 0px 0px 1px 1px #ff0000;
}
.calc__input:focus.isValid {
  box-shadow: none;
}
.calc select:valid {
  padding: 30px 30px 14px 20px;
}
.calc__input:focus + .calc__ui-placeholder, .calc__input.isValid + .calc__ui-placeholder, .calc select:valid + .calc__ui-placeholder {
  transform: translateY(-28px);
  opacity: 1;
}
.calc__input.isValid + .calc__ui-placeholder + .calc__ui-result, .calc select:valid + .calc__ui-placeholder + .calc__ui-result {
  opacity: 0.4;
}
.calc__main {
  position: relative;
  padding-top: 180px;
}
.calc__side {
  max-width: 446px;
  display: flex;
  flex-direction: column;
  position: relative;
  padding-top: 180px;
}
.calc__result {
  display: flex;
  flex-direction: column;
  padding: 30px;
  height: max-content;
  background-color: #ffffff;
}
.calc__result .button {
  margin-left: auto;
  margin-top: 20px;
  pointer-events: none;
  background-color: #d9d9d9;
}
.calc__result.is-active .button {
  pointer-events: auto;
  background-color: #ff0000;
}
.calc__result-img {
  position: relative;
  width: 100%;
  height: 340px;
  margin-bottom: 26px;
  overflow: hidden;
  border-radius: 10px;
}
.calc__result-img img {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
}
.calc__result-info {
  display: flex;
  align-items: center;
  padding-bottom: 30px;
  margin-bottom: 24px;
  border-bottom: 1px solid #d9d9d9;
}
.calc__result-input {
  display: flex;
  flex-direction: column;
  margin-left: 16px;
}
.calc__result-input span {
  display: inline-block;
}
.calc__result-input span:first-child {
  font-weight: 700;
  font-size: 20px;
}
.calc__result-input span:last-child {
  opacity: 0.4;
  font-size: 14px;
  line-height: 20px;
}
.calc__result-price {
  margin-left: auto;
  font-weight: 700;
  font-size: 20px;
}
.calc__result-value {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 18px;
  line-height: 22px;
  background-color: #00396a;
  padding: 4px;
  border-radius: 10px;
  min-width: 60px;
  min-height: 60px;
  aspect-ratio: 1/1;
}
.calc__result-sum {
  text-align: right;
}
.calc__result-sum span {
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.calc__rolls-count {
  color: #007aff;
}
.calc.isService .calc__result-info,
.calc.isService .calc__result-sum,
.calc.isService .calc__ui-result,
.calc.isService .calc__notice span:last-child,
.calc.isService .calc__add-block span, .calc.isService i[data-elements=calc-result] {
  display: none;
}
.calc.isService .calc__for-service {
  display: flex;
}
.calc.isService .button[type=submit] {
  margin: 0;
}

@media (hover: hover) {
  .calc__link:hover span {
    opacity: 0.8;
  }
  .calc__add-button:hover, .calc__remove-button:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1440px) {
  .calc__form-wrapper {
    gap: 40px;
  }
  .calc__result {
    padding: 20px;
  }
}
@media only screen and (max-width: 1199px) {
  .calc__radio-card {
    min-width: auto;
  }
}
@media only screen and (max-width: 1023px) {
  .calc {
    padding: 54px 0 45px 0;
  }
  .calc__form-wrapper {
    flex-direction: column;
  }
  .calc__result {
    margin-top: 20px;
    padding: 12px;
  }
  .calc__main {
    padding-top: 0;
  }
  .calc__link--info {
    position: relative;
  }
  .calc__caption {
    position: relative;
    margin-bottom: 38px;
  }
  .calc__options {
    margin-top: 0;
  }
  .calc__side {
    max-width: 100%;
    padding-top: 0;
  }
}
@media only screen and (max-width: 767px) {
  .calc__caption {
    margin-bottom: 34px;
    font-size: 35px;
  }
  .calc__options {
    padding: 0;
    margin-bottom: 48px;
  }
  .calc__options-group {
    flex-direction: column;
  }
  .calc__radio-card {
    width: 100%;
  }
  .calc__radio-message {
    bottom: auto;
    top: 0;
    right: 0;
  }
  .calc__result-img {
    aspect-ratio: 311/274;
    height: auto;
    width: auto;
  }
  .calc__link {
    width: 100%;
    justify-content: flex-end;
    gap: 8px;
  }
  .calc__link--info {
    gap: 20px;
    align-items: flex-start;
  }
  .calc__link--info span {
    font-size: 14px;
  }
  .calc__data-section.is-visible {
    margin-top: -20px;
  }
}

.contacts {
  padding: 100px 0 70px 0;
  background-color: rgba(169, 169, 169, 0.1);
}
.contacts__content {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.contacts__caption {
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.contacts__link {
  z-index: 10;
  font-size: 18px;
  transition: opacity 0.3s;
}
.contacts__tel, .contacts__mail, #contacts > div > div > a, #contacts > div > div > a.contacts__link.contacts__tel {
  font-family: Tenor Sans, sans-serif;
  font-size: 100px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  transition: background-position 0.3s;
}
.contacts__mail, #contacts > div > div > a {
  font-size: 28px;
}
.contacts__tel, #contacts > div > div > a.contacts__link.contacts__tel {
  margin: 40px 0 0 0;
}
.contacts__wrapper {
  display: flex;
  align-items: center;
  gap: 40px;
  margin: 34px 0 48px 0;
}

@media (hover: hover) {
  .contacts__link:hover {
    opacity: 0.8;
  }
  .contacts__tel:hover, .contacts__mail:hover, #contacts > div > div > a:hover, #contacts > div > div > a.contacts__link.contacts__tel:hover {
    opacity: 1;
    background-position: -33.66% center;
  }
}
@media only screen and (max-width: 1023px) {
  .contacts {
    padding: 50px 0 60px 0;
  }
  .contacts__wrapper {
    margin: 30px 0 54px 0;
  }
  .contacts__tel, #contacts > div > div > a.contacts__link.contacts__tel {
    font-size: 35px;
  }
}
@media only screen and (max-width: 767px) {
  .contacts__caption {
    text-align: center;
    font-size: 28px;
  }
  .contacts__mail, .contacts__mail, #contacts > div > div > a {
    text-align: center;
  }
}
@media only screen and (max-width: 374px) {
  .contacts__tel, #contacts > div > div > a.contacts__link.contacts__tel {
    font-size: 30px;
  }
}
.details-link {
  display: flex;
  align-items: center;
  gap: 13px;
  position: absolute;
  left: -8px;
  bottom: -44px;
  pointer-events: none;
}
.details-link__icon {
  width: 15px;
  height: 15px;
  display: flex;
  justify-content: center;
  align-content: center;
}
.details-link__caption {
  font-weight: 500;
  font-size: 14px;
}

@media only screen and (max-width: 1023px) {
  .details-link {
    display: none;
  }
}
.faq {
  padding: 140px 0;
}
.faq__caption {
  margin-bottom: 62px;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.faq__item {
  position: relative;
  border-top: 1px solid #999999;
  padding-top: 52px;
  padding-right: 50px;
  margin-bottom: 36px;
}
.faq__item:last-child {
  margin-bottom: 0;
  border-bottom: 1px solid #999999;
  padding-bottom: 52px;
}
.faq__icon {
  position: absolute;
  display: flex;
  width: 35px;
  height: 18px;
  top: 0;
  right: -46px;
  transition: transform 0.3s;
  cursor: pointer;
}

.faq-card {
  position: relative;
  display: flex;
  gap: 30px;
}
.faq-card__head {
  width: 50%;
}
.faq-card__title {
  position: relative;
  font-family: Tenor Sans, sans-serif;
  font-size: 28px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  cursor: pointer;
  user-select: none;
  transition: color 0.3s;
}
.faq-card__drop {
  width: 50%;
  padding-right: 30px;
  margin-left: auto;
  height: 0;
  overflow: hidden;
  transition: height 0.3s;
}
.faq-card__content {
  font-size: 18px;
  line-height: 26px;
}
.faq-card__text img {
  width: 100%;
  margin-top: 20px;
}
.faq-card.is-active .faq-card__title {
  background: linear-gradient(97.51deg, #000000 0%, #747451 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.faq-card.is-active .faq__icon {
  transform: scale(-1, -1);
}

@media only screen and (max-width: 1023px) {
  .faq {
    padding: 40px 0 90px 0;
  }
  .faq__item {
    padding-top: 26px;
    padding-right: 50px;
    margin-bottom: 40px;
  }
  .faq__item:last-child {
    padding-bottom: 40px;
  }
  .faq__icon {
    width: 30px;
    height: 15px;
    top: 10px;
  }
  .faq-card {
    flex-direction: column;
    gap: 0;
  }
  .faq-card__head {
    width: 100%;
  }
  .faq-card__drop {
    width: 100%;
    padding: 0;
  }
  .faq-card__content {
    padding-top: 24px;
  }
}

#rec1004091911 > div > div > div > div > footer > div > div > div > span {font-size: 14px;}

.footer__wrapper {
  display: flex;
  width: 100%;
  justify-content: space-between;
  padding: 56px 0;
}
.footer__links {
  position: relative;
  display: flex;
  gap: 24px;
}
.footer__links span {
  font-size: 14px;
}
.footer__copy {
  font-size: 14px;
}
.footer__link {
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 8px;
  position: relative;
  padding-left: 10px;
  transition: opacity 0.3s;
}
.footer__link-icon {
  display: flex;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  border: 2px solid #c59b5b;
}

@media (hover: hover) {
  .footer__link:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1199px) {
  .footer__link {
    gap: 6px;
  }
  .footer__links {
    gap: 10px;
  }
}
@media only screen and (max-width: 1023px) {
  .footer__links {
    flex-direction: column;
  }
}
@media only screen and (max-width: 767px) {
  .footer__wrapper {
    flex-direction: column;
    gap: 18px;
    padding: 22px 0 40px 0;
  }
  .footer__link {
    padding-left: 0;
  }
}


.header {
  width: 100vw;
  position: fixed;
  z-index: 99;
  top: 0;
  background-color: #ffffff;
  border-bottom: 1px solid transparent;
  transition: border-color 0.3s;
}
.header__wrapper {
  display: flex;
  align-items: center;
  padding: 18px 0;
  width: 100%;
  transition: padding 0.3s;
}
.header__logo {
  width: 174px;
  height: 66px;
  flex-shrink: 0;
}
.header__burger {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
  margin-left: 14px;
  border-radius: 50%;
  background-color: #e6e6e6;
}
.header__burger i {
  display: block;
  width: 14px;
  height: 2px;
  background-color: #034884;
  transition: transform 0.3s;
}
.header__burger i:not(:last-child) {
  margin-bottom: 4px;
}
.header__burger.is-nav-open i {
  transform: rotate(45deg);
  margin: 0;
}
.header__burger.is-nav-open i:last-child {
  transform: rotate(-45deg) translateX(2px) translateY(-1px);
}

@media only screen and (max-width: 1199px) {
  .header__wrapper {
    padding: 16px 0;
  }
}
@media only screen and (max-width: 1023px) {
  .header {
    border-bottom: 1px solid #e6e6e6;
  }
  .header__logo {
    width: 98px;
    height: 37px;
    margin-right: auto;
  }
  .header__burger {
    display: flex;
  }
}
body.is-nav-open {
  overflow: hidden;
}
body.is-nav-open .header__burger i {
  transform: rotate(45deg);
  margin: 0;
}
body.is-nav-open .header__burger i:last-child {
  transform: rotate(-45deg) translateX(2px) translateY(-1px);
}

body.is-scrolled .header {
  border-color: #e6e6e6;
}
body.is-scrolled .header__wrapper {
  padding: 6px 0;
}

.hero {
  margin-top: 50px;
}
.hero__wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  min-height: 614px;
  border: 8px solid #034884;
  padding: 55px 70px;
  margin-bottom: 40px;
}
.hero__dots {
  position: absolute;
  inset: 0;
  overflow: hidden;
  background-image: url("https://static.tildacdn.com/tild3633-6234-4333-b865-653262623934/dots-bg.svg");
  background-size: 124px 124px;
  color: #9d9d9d;
}
.hero__dots-mask {
  position: absolute;
  inset: 0;
  background-color: #ffffff;
  mix-blend-mode: screen;
}
.hero__cursor {
  position: absolute;
  width: 300px;
  height: 300px;
  border-radius: 50%;
  background-color: #000000;
  mask-image: radial-gradient(circle 150px at center, rgb(0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 70%, rgba(0, 0, 0, 0.4) 80%, rgba(0, 0, 0, 0) 100%);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.hero__bird-canvas {
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 210px;
  width: 598px;
  height: 698px;
  pointer-events: none;
}
.hero__content {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 30px;
  margin-top: auto;
}
.hero__content h1, .hero__content span {
  user-select: none;
}
.hero__content--mobile {
  margin-top: 20px;
  display: none;
}
.hero__caption {
  font-family: Tenor Sans, sans-serif;
  font-size: 57px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero__text {
  font-size: 16px;
  line-height: 20px;
  width: 30%;
}

@media only screen and (max-width: 1365px) {
  .hero__bird-canvas {
    right: 0;
  }
  .hero__bg {
    left: auto;
    right: 0;
    top: 0;
  }
}
@media only screen and (max-width: 1199px) {
  .hero__wrapper {
    padding: 30px;
  }
}
@media only screen and (max-width: 1023px) {
  .hero {
    padding: 70px 0 0 0;
  }
  .hero__content {
    gap: 20px;
  }
  .hero__bg {
    width: 83px;
    height: 83px;
  }
  .hero__wrapper {
    min-height: 257px;
    padding: 20px;
  }
  .hero__caption {
    font-size: 40px;
  }
  .hero__text {
    width: 50%;
  }
  .hero__bird-canvas {
    width: 320px;
    height: 390px;
  }
}
@media only screen and (max-width: 767px) {
  .hero__wrapper {
    margin-bottom: 0;
  }
  .hero__content--desctop {
    display: none;
  }
  .hero__content--mobile {
    display: flex;
  }
  .hero__text {
    width: 100%;
  }
}
.important__caption {
  margin-bottom: 28px;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.important__info {
  display: flex;
  justify-content: space-between;
  margin-bottom: 42px;
  padding-bottom: 45px;
  border-bottom: 1px solid #d9d9d9;
}
.important__info-footer {
  display: flex;
  justify-content: space-between;
  margin-bottom: 52px;
}
.important__info-footer-item {
  width: 42%;
}
.important__info-footer-item:nth-child(2) {
  width: 50%;
}
.important__info-wrapper {
  width: 50%;
  gap: 20px;
  display: flex;
  justify-content: space-between;
}
.important__data {
  width: 42%;
  font-size: 24px;
  line-height: 34px;
}
.important__data a {
  transition: opacity 0.3s;
  color: #034884;
}
.important__data a i svg {
  transform: translate(3px, -4px);
}
.important__info-text {
  display: flex;
  flex-direction: column;
  gap: 44px;
  font-size: 16px;
  width: 217px;
  flex-shrink: 0;
}
.important__info-text-img {
  height: 177px;
}
.important__notice {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 322px;
}
.important__notice span {
  color: rgba(0, 0, 0, 0.5058823529);
  padding-left: 16px;
  position: relative;
  display: inline-block;
  height: max-content;
  font-size: 14px;
  line-height: 22px;
}
.important__notice span::before {
  position: absolute;
  content: "";
  left: 0;
  top: 5px;
  width: 4px;
  height: calc(100% - 10px);
  background-color: #034884;
}
.important__notice-img {
  margin-left: 16px;
  height: 177px;
}
.important__footer {
  margin-top: 26px;
  position: relative;
  display: flex;
  width: 100%;
  justify-content: center;
}
.important__footer .details-link {
  bottom: auto;
  left: 0;
}
.important__sub-text {
  width: 40%;
  font-size: 14px;
}
.important__slider-preview {
  position: relative;
  height: 425px;
  width: 100%;
}
.important__slider-preview img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.important__slider-controls {
  display: flex;
  gap: 46px;
  align-items: center;
  position: absolute;
  right: 0;
}
.important__slider-dots {
  display: flex;
  gap: 6px;
}
.important__slider-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #d9d9d9;
}
.important__slider-dots button.is-active {
  background-color: #034884;
}
.important__slider-arrows {
  display: flex;
  gap: 28px;
}
.important__slider-arrows button {
  width: 16px;
  height: 33px;
}
.important__slider-arrows button svg {
  width: 16px;
  height: 33px;
  transform: rotate(90deg);
}
.important__slider-arrows .next {
  transform: scale(-1, -1);
}

@media (hover: hover) {
  .important__data a:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 1199px) {
  .important__info {
    gap: 26px;
  }
  .important__info-wrapper {
    display: contents;
  }
  .important__info-text {
    justify-content: space-between;
  }
}
@media only screen and (max-width: 1023px) {
  .important__info {
    flex-direction: column;
    gap: 34px;
  }
  .important__info-footer {
    margin-bottom: 42px;
    flex-direction: column;
    gap: 35px;
  }
  .important__info-footer-item {
    width: 100%;
  }
  .important__info-footer-item:nth-child(2) {
    width: 100%;
  }
  .important__data, .important__info-text, .important__notice {
    width: 100%;
  }
  .important__info-text, .important__notice {
    flex-direction: row-reverse;
    max-width: unset;
    gap: 18px;
    font-size: 14px;
    line-height: 22px;
  }
  .important__info-text img, .important__notice img {
    width: 100px;
    height: 100px;
    object-fit: cover;
    object-position: left;
    margin: 0;
  }
  .important__notice span {
    color: #000000;
    padding-left: 0;
    height: auto;
  }
  .important__notice span::before {
    display: none;
  }
  .important__slider-preview {
    height: 218px;
  }
  .important__slider-controls {
    position: relative;
    right: auto;
    justify-content: center;
  }
  .important__footer {
    flex-direction: column-reverse;
    gap: 20px;
    align-content: center;
  }
  .important__footer .details-link {
    display: flex;
    position: relative;
  }
  .important__sub-text {
    width: 100%;
  }
  .important__slider-arrows {
    display: none;
  }
}
.nav {
  margin-left: auto;
  margin-right: 60px;
  transition: transform 0.3s;
}
.nav__list {
  display: flex;
  gap: 30px;
}
.nav__item a {
  white-space: nowrap;
  transition: color 0.3s, opacity 0.3s;
  font-size: 14px;
}

@media only screen and (max-width: 1199px) {
  .nav {
    margin-right: 30px;
  }
  .nav__list {
    gap: 16px;
  }
}
@media only screen and (max-width: 1023px) {
  .nav {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: fixed;
    z-index: 99;
    top: 71px;
    left: 0;
    transform: translateX(-100%);
    background-color: #ffffff;
    width: 100vw;
    height: 100vh;
  }
  .nav__list {
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
    text-align: center;
    margin-top: -70px;
  }
  #rec1004091911 > div > div > div > div > header > div > div > nav > ul {margin-top: -80px;}
  .nav__list a {
    font-family: Tenor Sans, sans-serif;
    font-size: 35px;
    line-height: 100%;
    white-space: wrap;
    background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
}
@media (hover: hover) {
  .nav__item a:hover {
    opacity: 0.8;
  }
}
body.is-nav-open .nav {
  transform: none;
}
body.is-nav-open.is-scrolled .nav {
  top: 51px;
}
body.is-nav-open.is-scrolled .nav__list {
  margin-top: -50px;
}
body.is-nav-open.is-scrolled #rec1004091911 > div > div > div > div > header > div > div > nav > ul {margin-top: -52px;}


.popup {
  display: flex;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  overflow-y: auto;
  background-color: rgba(18, 18, 18, 0.7);
  z-index: 99;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s;
}
.popup-info-list {
  padding-left: 30px;
  margin-bottom: 20px;
}

.popup--information h3 {
  font-size: 28px;
  line-height: 1.2;
  font-weight: 600;
}
.popup--information a {
  font-weight: 600;
}
.popup--information ul {
  padding-left: 20px;
}
.popup--information ul li {
  list-style-type: disc;
  margin-bottom: 16px;
}
.popup__caption {
  font-family: Tenor Sans, sans-serif;
  padding-right: 100px;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.popup__notice {
  display: inline-block;
  margin: 42px 0;
}
.popup__details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  height: 100%;
}
.popup__list {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-left: 30px;
}
.popup__list strong, #rec1004091911 > div > div > div > div > div.popup.is-open > div > div > ol > li:nth-child(2) > strong {
  font-weight: 500;
  color: #ff0000;
}
.popup__list img {
  max-width: 253px;
}
.popup__list--info {
  margin: 60px 0 !important;
}
.popup ol {
  list-style-type: decimal;
}
.popup ul {
  list-style-type: circle;
}
.popup__scroll-block {
  height: 100%;
  padding: 0 36px 70px 68px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
}
.popup__scroll-block::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.popup__box {
  padding-top: 92px;
  background-color: #ffffff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 100%;
  transform: translateX(0);
  transition: transform 0.3s;
  max-width: 650px;
}
.popup__close {
  display: flex;
  width: 32px;
  height: 32px;
  position: absolute;
  top: 28px;
  right: 28px;
  color: #ffffff;
  cursor: pointer;
  z-index: 99;
  transition: color 0.3s;
}
.popup__close .svg-icon {
  margin: auto;
}
.popup.is-open {
  pointer-events: auto;
  visibility: visible;
  opacity: 1;
  transition: opacity 0.3s;
}
.popup.is-open .popup__box {
  transform: translateX(-100%);
  transition: transform 0.3s;
}

@media only screen and (max-width: 1023px) {
  .popup__box {
    display: flex;
    flex-flow: column nowrap;
    top: auto;
    left: 0;
    bottom: 0;
    transform: translate(0, 100%);
    max-width: unset;
    width: 100%;
    height: 80%;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    padding-bottom: 30px;
    padding-top: 50px;
  }
  .popup__box--details {
    height: 50%;
  }
  .popup__notice {
    margin: 22px 0 32px 0;
  }
  .popup__list--info {
    margin: 40px 0 !important;
  }
  .popup__caption {
    margin-bottom: 28px;
    font-size: 25px;
  }
  .popup__scroll-block {
    padding: 0 20px 40px 20px;
  }
  .popup__close {
    background-color: transparent;
    width: 16px;
    height: 16px;
    top: 20px;
    right: 20px;
    color: #1b1b1b;
  }
  .popup__close svg {
    width: 16px;
    height: 16px;
  }
  .popup.is-open .popup__box {
    transform: translate(0, 0);
  }
}

.projects {
  padding: 0 0 153px 0;
}
.projects__header {
  display: flex;
  margin-bottom: 64px;
  width: 100%;
  justify-content: space-between;
}
.projects__caption {
  font-family: Tenor Sans, sans-serif;
  font-size: 108px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.projects__slider-arrows {
  display: flex;
  gap: 28px;
  margin-top: auto;
}
.projects__slider-arrows button {
  width: 16px;
  height: 33px;
}
.projects__slider-arrows button svg {
  width: 16px;
  height: 33px;
  transform: rotate(90deg);
}
.projects__slider-arrows .next {
  transform: scale(-1, -1);
}
.projects__list {
  display: flex;
  gap: 30px;
}
.projects__item {
  width: calc(33% - 15px);
}
.projects__item-img {
  position: relative;
  width: 100%;
  aspect-ratio: 417/248;
  overflow: hidden;
}
.projects__item-img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.projects__item-footer {
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  margin-top: 12px;
}
.projects__name {
  font-weight: 500;
}
.projects__area {
  color: #999999;
}

@media only screen and (max-width: 1023px) {
  .projects__caption {
    font-size: 35px;
  }
  .popup__notice {
      margin: 22px 0 32px 0;
    }
  .projects__header {
    margin-bottom: 48px;
  }
  .projects__slider-arrows {
    display: none;
  }
  .projects__caption {
    font-size: 35px;
  }
  .projects__item {
    min-width: 315px;
  }
  .projects__item:last-child {
    margin-right: 20px;
  }
  .projects__list {
    overflow-x: scroll;
    margin-right: -20px;
    gap: 20px;
  }
}
.recommend {
  padding: 46px 0 94px 0;
  border-top: 1px solid #d9d9d9;
}
.recommend__content {
  display: flex;
}
.recommend__text--large {
  font-size: 24px;
  line-height: 34px;
}
.recommend__main {
  display: flex;
  flex-direction: column;
  gap: 27px;
  width: calc(20% + 300px);
  margin-right: 90px;
}
.recommend__img {
  position: relative;
  width: 435px;
  aspect-ratio: 435/193;
  margin-right: 30px;
}
.recommend__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recommend__notice {
  width: 200px;
  position: relative;
  height: max-content;
  font-size: 14px;
  color: rgba(0, 0, 0, 0.4980392157);
  padding-left: 15px;
}
.recommend__notice::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 5px;
  height: calc(100% - 10px);
  background-color: #034884;
}

@media only screen and (max-width: 1023px) {
  .recommend {
    padding: 30px 0 40px 0;
  }
  .recommend__content {
    flex-direction: column;
  }
  .recommend__main {
    width: 100%;
    gap: 18px;
    margin-bottom: 40px;
  }
  .recommend__img {
    width: 100%;
    aspect-ratio: 435/193;
    margin-right: 0;
    margin-bottom: 18px;
  }
  .recommend__notice {
    width: 70%;
  }
}
.slider {
  position: relative;
  height: 100%;
  opacity: 0;
}
.slider.is-init {
  opacity: 1;
}
.slider__list {
  display: flex;
  align-items: stretch;
  height: 100%;
}
.slider__item {
  flex-shrink: 0;
  height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.slider__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.tns-outer {
  height: 100%;
}

.important__slider .slider__item {
  aspect-ratio: 1302/425;
  width: 100%;
  height: auto;
  overflow: hidden;
}

.tns-inner {
  height: 100%;
  margin: 0 !important;
}

.tns-nav {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  z-index: 10;
}
.tns-nav button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ccc;
  border: none;
  padding: 0;
  cursor: pointer;
}
.tns-nav button.tns-nav-active {
  background: #000;
}

.tns-item {
  padding: 0 !important;
}

@media only screen and (max-width: 1023px) {
  .important__slider .slider__item {
    height: 218px;
  }
}
.solution__caption {
  margin-bottom: 60px;
  font-family: Tenor Sans, sans-serif;
  font-size: 108px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.solution__description {
  display: flex;
  gap: 60px;
  margin-bottom: 74px;
}
.solution__description--before {
  margin: 40px 0 20px 0;
}
.solution__text {
  font-size: 24px;
  line-height: 26px;
  width: 50%;
}
.solution__text--small {
  display: inline-block;
  font-size: 16px;
  margin-left: -20px;
}
.solution__text--caption {
  font-family: Tenor Sans, sans-serif;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  position: absolute;
  top: -40px;
  left: 0;
  z-index: 10;
}
.solution__preview {
  display: flex;
  gap: 20px;
  overflow-x: scroll;
  align-items: stretch;
}
.solution__preview--before {
  margin-top: 40px;
}
.solution__img {
  position: relative;
  width: calc(50% - 10px);
  aspect-ratio: 651/270;
  flex-shrink: 0;
  margin-top: 60px;
}
.solution__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.solution__img--before {
  aspect-ratio: 1;
}

@media only screen and (max-width: 1199px) {
  .solution__description {
    width: 100%;
  }
}
@media only screen and (max-width: 1023px) {
  .solution__caption {
    font-size: 35px;
    margin-bottom: 20px;
  }
  .solution__img {
    position: relative;
    aspect-ratio: 226/200;
    flex-shrink: 0;
  }
}
@media only screen and (max-width: 767px) {
  .solution__description {
    flex-direction: column;
    gap: 34px;
    margin-bottom: 20px;
  }
  .solution__description--before {
    flex-direction: row;
    gap: 0;
  }
  .solution__preview {
    gap: 14px;
    margin-right: -20px;
  }
  .solution__preview--before {
    margin-top: 20px;
  }
  .solution__text {
    font-size: 18px;
    width: 100%;
  }
  .solution__text--small {
    margin-left: 0;
  }
  .solution__img {
    height: 200px;
    width: 227px;
    flex-grow: 1;
  }
  .solution__img--before {
    height: 300px;
  }
  .solution__img:last-child {
    margin-right: 20px;
  }
}
.tabs__controls {
  width: 100%;
  padding: 6px;
  display: flex;
  background-color: #00396a;
  border-radius: 10px;
}
.tabs__button {
  width: 50%;
  border-radius: 8px;
  text-align: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  font-size: 16px;
  line-height: 20px;
  font-weight: 600;
  padding: 22px 12px;
  cursor: pointer;
  color: #6cbaff;
  transition: color 0.3s, background-color 0.3s, border-color 0.3s;
}
.tabs__button.is-active {
  color: #000000;
  background-color: #ffffff;
}
.tabs__box {
  position: relative;
}
.tabs__item {
  position: relative;
  height: 0;
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
}
.tabs__item.is-active {
  height: auto;
  padding: 24px 0 0;
  opacity: 1;
  visibility: visible;
  overflow: visible;
}

.what {
  padding: 105px 0 115px 0;
}
.what__caption {
  flex-shrink: 0;
  transition: opacity 0.3s;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.what__content {
  display: flex;
  gap: 100px;
}
.what__wrapper {
  display: flex;
  gap: 104px;
}
.what__item {
  width: 33.3333333333%;
  display: flex;
  gap: 20px;
  flex-direction: column;
}
.what__img {
  position: relative;
  width: 100%;
  aspect-ratio: 222/132;
}
.what__img img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media only screen and (max-width: 1199px) {
  .what__wrapper {
    display: flex;
    gap: 32px;
  }
}
@media only screen and (max-width: 1023px) {
  .what {
    padding: 60px 0 78px 0;
  }
  .what__content {
    flex-direction: column;
    gap: 35px;
  }
  .what__item {
    min-width: 222px;
  }
  .what__item:last-child {
    margin-right: 20px;
  }
  .what__wrapper {
    display: flex;
    overflow-x: scroll;
    gap: 32px;
    margin-right: -20px;
  }
}
.when {
  padding: 150px 0 60px 0;
}
.when__caption {
  min-width: 250px;
  transition: opacity 0.3s;
  margin-bottom: 38px;
  font-family: Tenor Sans, sans-serif;
  font-size: 28px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #747451 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.when__header {
  width: 20%;
}
.when__content {
  display: flex;
  gap: 100px;
}
.when__main {
  position: relative;
  display: flex;
  gap: 96px;
}
.when__indicator {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-shrink: 0;
  height: 300px;
  width: 206px;
  padding: 0 44px 24px 0;
  border: 10px solid #034884;
  font-family: Tenor Sans, sans-serif;
  font-size: 116px;
  line-height: 116px;
  color: #121212;
}
.when__indicator span {
  display: block;
  transition: opacity 0.3s;
}
.when__indicator span.is-fade-out {
  opacity: 0;
}
.when__indicator span.is-fade-in {
  opacity: 1;
}
.when__item-text {
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 100%;
  background: linear-gradient(97.51deg, #000000 0%, #747451 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

#rec1004091911 > div > div > div > div > main > section.when > div > div > div.when__main > div.when__container > div > div > div:nth-child(3) > div.when__item-text {padding-bottom: 15%;}
#order > div > form > div.form__main > div.calc__options > div > label:nth-child(1) > div.calc__radio-message > a {color: #fff;}

.when__item-number {
  display: none;
  padding: 14px;
  border: 4px solid #034884;
  width: max-content;
  margin-bottom: 18px;
  font-family: Tenor Sans, sans-serif;
  font-size: 42px;
  line-height: 42px;
  color: #121212;
}
.when__container {
  position: relative;
}
.when__container::before {
  z-index: 1;
  position: absolute;
  content: "";
  bottom: -10px;
  left: 0;
  width: 100%;
  height: 209px;
  background: linear-gradient(0deg, #fffcfc 0%, rgba(255, 255, 255, 0) 100%);
}
.when__scrolled-list {
  position: relative;
  overflow-y: scroll;
  height: 50vh;
}
.when__scroller-inner {
  display: flex;
  flex-direction: column;
}
.when__item {
  padding-bottom: 92px;
  margin-bottom: 70px;
}
.when__item:not(:last-child) {
  border-bottom: 1px solid #d9d9d9;
}
.when__item.is-active .when__item-text {
  background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

@media only screen and (max-width: 1365px) {
  .when {
    padding: 64px 0;
  }
  .when__content {
    gap: 40px;
  }
  .when__main {
    gap: 40px;
  }
  .when__item {
    padding-bottom: 62px;
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 1023px) {
  .when__caption {
    margin-bottom: 50px;
    font-size: 35px;
    line-height: 100%;
    background: linear-gradient(97.51deg, #000000 0%, #034884 29.63%, #000000 48.72%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
  }
  .when__header {
    width: 100%;
  }
  .when__container, .when__scroller-inner {
    display: contents;
  }
  .when__container::before, .when__scroller-inner::before {
    display: none;
  }
  .when__scrolled-list {
    position: relative;
    display: flex;
    gap: 32px;
    overflow-x: scroll;
    height: auto;
    margin-right: -20px;
    margin-bottom: 40px;
  }
  .when__item {
    min-width: 80vw;
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .when__item:last-child {
    margin-right: 40px;
  }
  .when__item:not(:last-child) {
    border-bottom: none;
  }
  .when__item-text {
    font-size: 28px;
  }
  .when__content {
    flex-direction: column;
  }
  .when__indicator {
    display: none;
  }
  .when__item-number {
    display: flex;
  }
}