.cms_wsi_main { display: flex; flex-direction: column; gap: 47px; width: 100%; }
.cms_wsi_lst { display: flex; justify-content: space-between; gap: 30px; width: 100%; }
.cms_wsi_svg { width: 50%; margin: -100px 0 0 0; }
.cms_wsi_svg g > .st16 { cursor: pointer; transition: var(--transition); }
.cms_wsi_svg g.active > .st16,
.cms_wsi_svg g:hover > .st16 { fill: var(--tertiary); }
.cms_wsi_apartments { display: flex; flex-direction: column; gap: 17px; width: 33.3333%; }
.cms_wsi_box { cursor: pointer; position: relative; flex: 1; width: 100%; padding: 30px 93px 30px 30px; }
.cms_wsi_box:before,
.cms_wsi_box:after { content: ""; position: absolute; z-index: -1; inset: 0; transition: var(--transition); }
.cms_wsi_box:before { background: linear-gradient(90deg, var(--secondary-bright-2) 0%, rgba(220,233,211,0.2) 100%); }
.cms_wsi_box:after { background: var(--tertiary); opacity: 0; visibility: hidden; }
.cms_wsi_box.active:before,
.cms_wsi_box:hover:before { opacity: 0; visibility: hidden; }
.cms_wsi_box.active:after,
.cms_wsi_box:hover:after { opacity: 1; visibility: visible; }
.cms_wsi_box h3 { padding-top: 0; padding-bottom: 0; margin: 0 0 -4px 0; }
.cms_wsi_box h3,
.cms_wsi_box p { transition: var(--transition); }
.cms_wsi_box.active h3,
.cms_wsi_box:hover h3,
.cms_wsi_box.active p,
.cms_wsi_box:hover p { color: var(--white); }
.cms_wsi_arrow { position: absolute; z-index: 1; top: 50%; right: 25px; transform: translateY(-50%); width: 21px; height: 40px; opacity: 0; visibility: hidden; transition: var(--transition); }
.cms_wsi_box.active .cms_wsi_arrow,
.cms_wsi_box:hover .cms_wsi_arrow { opacity: 1; visibility: visible; }
.cms_wsi_arrow > svg { display: flex; width: 21px; height: 40px; }
.cms_wsi_arrow > svg > path { stroke: var(--white); }
.cms_wsi_apartments .button-link-2 { display: block; margin: 23px 0 0 0; }
@media screen and (max-width: 1200px) {
    .cms_wsi_svg { margin: -180px 0 0 0; }
    .cms_wsi_apartments { width: 50%; }
}
@media screen and (max-width: 959px) {
    .cms_wsi_main { gap: 40px; }
    .cms_wsi_lst { flex-direction: column; }
    .cms_wsi_svg { width: 100%; margin: 0; }
    .cms_wsi_apartments { gap: 15px; width: 100%; }
    .cms_wsi_arrow { opacity: 1; visibility: visible; }
    .cms_wsi_arrow > svg > path { stroke: var(--tertiary); transition: var(--transition); }
    .cms_wsi_box.active .cms_wsi_arrow > svg > path,
    .cms_wsi_box:hover .cms_wsi_arrow > svg > path { stroke: var(--white); }
    .cms_wsi_apartments .button-link-2 { display: none; }
}