.constructor-banner {
    max-height: 360px;
}

.constructor-banner img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.constructor-banner_35 {
    max-height: 360px;
}

.constructor-banner_35 img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.constructor-banner::before {
    content: "";
    width: 100%;
    height: 10px;
    display: block;
    position: absolute;
    left: 0;
    top: -11px;
    z-index: 2;
    box-shadow: 0px 10px 10px rgba(0, 0, 0, 0.07);
}

.constructor-banner__button {
    position: absolute;
    width: 200px;
    height: 32px;
    background: #E31E24;
    border-radius: 4px;
    border: none;
    outline: none;
    font-size: 14px;
    color: #FFFFFF;
    bottom: 48px;
    left: 423px;
}

.constructor-container {
    width: 1128px;
    margin: 0 auto;
    position: relative;
}

.constructor-breadcrumbs {
    margin: 16px 0 24px;
    font-size: 14px;
    line-height: 17px;
    color: #A1A7A7;
}

.constructor-breadcrumbs a:link,
.constructor-breadcrumbs a:visited {
    color: #929292;
}

.constructor-breadcrumbs a:hover {
    text-decoration: underline;
}

.constructor-breadcrumbs>span:last-child {
    color: #E30611;
}

h1.constructor-h1 {
    font-family: 'NeoSansPro-Medium';
    font-size: 32px;
    line-height: 38px;
    text-transform: none;
    text-align: left;
    color: #1D2023;
    margin: 0;
    margin-bottom: 16px;
}

h2.constructor-title {
    font-size: 24px;
    line-height: 29px;
    color: #1D2023;
    font-family: 'NeoSansPro-Medium';
    text-transform: none;
    margin: 0;
    text-align: left;
}

#app {
    width: 1128px;
    margin: 16px auto 32px;
    color: #1D2023;
    font-size: 16px;
    height: 824px;
}

.constructor {
    margin-top: 9px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

.constructor-information {
    position: absolute;
    top: -40px;
    right: 0;
    border: 1px solid #F3F3F4;
    border-radius: 4px;
    width: 128px;
    height: 32px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
    font-size: 14px;
    line-height: 16px;
    cursor: pointer;
    transition: all .2s;
}

.constructor-information:hover {
    border: 1px solid #F49BA0;
}

.constructor-information img {
    margin-left: 5px;
}

.constructor-section {
    border: 1px solid #E0E0E0;
    border-radius: 8px;
    padding: 16px;
    margin-bottom: 16px;
}

.constructor-window {
    width: 464px;
    height: 680px;
}

.section-title {
    display: flex;
    margin-bottom: 16px;
}

.section-title__number {
    width: 24px;
    height: 24px;
    background: #FEED00;
    border-radius: 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    line-height: 24px;
    font-family: 'NeoSansPro-Medium';
    margin-right: 8px;
}

.section-title__name {
    font-family: 'NeoSansPro-Medium';
    line-height: 24px;
}

.constructor-window__types {
    display: flex;
    max-width: 416px;
    padding-bottom: 16px;
    border-bottom: 1px solid #D2D2D2;
    margin-bottom: 16px;
}

.constructor-window__type {
    margin-right: 8px;
    border: 2px solid transparent;
    cursor: pointer;
    transition: all .2s;
    border-radius: 4px;
    line-height: 0;
}

.constructor-window__type:hover {
    border: 2px solid #F49BA0;
}

.constructor-window__type.active {
    border: 2px solid #E30611;
    box-shadow: 0px 5px 5px rgba(227, 30, 36, 0.12);
}

.constructor-window__type img {
    max-width: 44px;
}

.constructor-window__opening-mode-text {
    font-family: 'NeoSansPro-Medium';
    font-size: 12px;
    line-height: 14px;
    color: #A8A8A8;
}

.constructor-window__opening-mode {
    display: flex;
    margin-top: 8px;
    margin-bottom: 30px;
}

.constructor-window__opening-mode-item video {
    max-width: 44px;
    max-height: 44px;
    border-radius: 4px;
}

.constructor-window__opening-mode-item img {
    max-width: 28px;
    max-height: 28px;
    border-radius: 4px;
    display: none;
}

.constructor-window__opening-mode-item {
    margin: 0 2px;
    border: 2px solid transparent;
    cursor: pointer;
    line-height: 0;
    border-radius: 4px;
    transition: all .2s;
    width: 48px;
}

.constructor-window__opening-mode-item:hover {
    border: 2px solid #F49BA0;
}

.constructor-window__opening-mode-item.active {
    border: 2px solid #E30611;
    box-shadow: 0px 5px 5px rgb(227 30 36 / 12%);
}

.constructor-window__window {
    width: 100%;
    height: 384px;
    position: relative;
}

.constructor-window__window.hidden {
    display: none;
}

.constructor-window__window-inner {
    position: absolute;
    top: 24px;
    left: 0;
    width: 100%;
}

.constructor-window__window-img {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.constructor-window__window-svg {
    display: block;
    line-height: 0;
}

.constructor-window__window-height {
    position: absolute;
    top: 0;
    left: -35px;
    height: 100%;
    width: 1px;
    background: #CFCFCF;
}

.constructor-window__window-height::before {
    content: '';
    position: absolute;
    top: 0;
    left: -6px;
    width: 13px;
    height: 1px;
    background: #515257;
}

.constructor-window__window-height::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: -6px;
    width: 13px;
    height: 1px;
    background: #515257;
}

.constructor-window__window-height input {
    background: #FFFFFF;
    border: 2px solid #E30611;
    border-radius: 4px;
    outline: none;
    width: 51px;
    height: 25px;
    font-size: 14px;
    color: #515257;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(-26px, -13px);
    cursor: text;
}

.constructor-window__window-height input.error {
    border: 2px solid #E30611;
    background: #ffe4e4 !important;
}

.constructor-window__window-height-right {
    left: initial;
    right: -23px;
}

.constructor-window__window-height-window {
    height: 227px;
}

.constructor-window__window-width {
    position: absolute;
    top: 100%;
    left: 0;
    margin-top: 22px;
    width: 100%;
    height: 1px;
    background: #CFCFCF;
}

.constructor-window__window-width::before {
    content: '';
    position: absolute;
    top: 0;
    left: -6px;
    width: 13px;
    height: 1px;
    background: #515257;
    transform: rotate(90deg);
    z-index: 2;
}

.constructor-window__window-width::after {
    content: '';
    position: absolute;
    top: 0;
    right: -6px;
    width: 13px;
    height: 1px;
    background: #515257;
    transform: rotate(90deg);
    z-index: 2;
}

.constructor-window__window-width input {
    background: #FFFFFF;
    border: 2px solid #E30611;
    border-radius: 4px;
    outline: none;
    width: 51px;
    height: 25px;
    font-size: 14px;
    color: #515257;
    text-align: center;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    transition: all .2s;
    cursor: text;
}

.constructor-window__window-width input.error {
    border: 2px solid #E30611;
    background: #ffe4e4 !important;
}

.constructor-window__window-width-1-1 {
    width: 215px;
}

.constructor-window__window-width-1-3 {
    width: 137px;
    left: 214px;
}

.constructor-window__window-width-2-1 {
    width: 137px;
}

.constructor-window__window-width-2-3 {
    width: 215px;
    left: 136px;
}

.constructor-window__window-width-3-1 {
    width: 236px;
}

.constructor-window__window-width-3-3 {
    width: 137px;
    left: 235px;
}

.constructor-window__window-width-4-1 {
    width: 137px;
}

.constructor-window__window-width-4-3 {
    width: 236px;
    left: 136px;
}

.constructor-window__window-width-5-1 {
    width: 124px;
}

.constructor-window__window-width-5-2 {
    width: 137px;
    left: 123px;
}

.constructor-window__window-width-5-3 {
    width: 124px;
    left: 259px;
}

.constructor-window__window-width-1-3::before,
.constructor-window__window-width-2-3::before,
.constructor-window__window-width-3-3::before,
.constructor-window__window-width-4-3::before,
.constructor-window__window-width-5-2::before,
.constructor-window__window-width-5-2::after {
    display: none;
}

.constructor-window__window-text {
    position: absolute;
    left: 0;
    top: -18px;
    width: 100%;
    font-size: 14px;
    line-height: 17px;
    text-align: center;
    color: #9F9F9F;
}

.constructor-window__window-bottom-text {
    position: absolute;
    left: 50%;
    bottom: 0;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
    color: #848484;
    width: 400px;
    transform: translateX(-50%);
}

.constructor-window__window-bottom-text a {
    color: #E30611;
    text-decoration: underline;
}

.constructor-window__window-balcony {
    top: 5px;
}

.constructor-window__window-3sash .constructor-window__window-height {
    left: -28px;
}

.constructor-window__window-balcony .constructor-window__window-height {
    left: -27px;
}

.constructor-window__window-balcony .constructor-window__window-height-right {
    left: initial;
    right: -29px;
}

.constructor-window__window-balcony .constructor-window__window-width {
    margin-top: 20px;
}

.constructor-window__window-balcony~.constructor-window__window-bottom-text {
    bottom: -45px;
}

#lamination * {
    fill: var(--laminationColor);
    transition: all .2s;
}

#handle *,
#hinge * {
    fill: var(--handleColor);
    transition: all .2s;
}

.constructor-order {
    padding: 16px 24px;
    width: 464px;
    height: 128px;
    position: relative;
}

.constructor-order .section-title {
    display: none;
}

.constructor-order__block {
    display: flex;
    justify-content: space-between;
}

.constructor-order__block-inner {
    display: flex;
}

.constructor-order__title {
    line-height: 32px;
    margin: 0;
}

.constructor-quantity {
    margin-left: 10px;
    display: flex;
    position: relative;
}

.constructor-quantity-button {
    border: none;
    outline: none;
    height: 24px;
    width: 24px;
    padding: 0;
    margin: 0;
    background: none;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 12px;
    top: 4px;
}

.constructor-quantity-button:nth-child(2) {
    left: initial;
    right: 12px;
}

.constructor-quantity-button:hover svg rect {
    fill: #858585;
    transition: all .2s;
}

.constructor-quantity-input {
    width: 96px;
    height: 32px;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    font-size: 14px;
    color: #515257;
    text-align: center;
    outline: none;
    padding: 0;
    transition: all .2s;
    background: #FAFAFA;
}

.constructor-quantity-input:disabled {
    -webkit-text-fill-color: #515257;
    opacity: 1;
}

.constructor-quantity-input:not(:disabled):hover {
    border: 1px solid #F49BA0;
}

.constructor-quantity-button:hover~input {
    border: 1px solid #E30611;
}

.constructor-quantity-input:focus {
    border: 1px solid #E30611 !important;
}

.constructor-order__block-price {
    margin: 0;
    font-size: 18px;
    line-height: 32px;
    display: flex;
    font-family: 'NeoSansPro-Medium';
}

.constructor-order__block-price span {
    font-size: 16px;
    margin-left: 5px;
}

.constructor-order__sale {
    font-size: 15px;
    line-height: 29px;
    color: #E31E24;
    font-family: 'NeoSansPro-Medium';
    display: flex;
    justify-content: space-between;
}

.constructor-order__sale div:last-child {
    font-size: 18px;
}

.constructor-order__sale div:last-child span {
    font-size: 16px;
}

.constructor-order__buttons {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 24px;
    bottom: 16px;
    width: calc(100% - 48px);
}

.constructor-order__button {
    width: 200px;
    height: 32px;
    border-radius: 4px;
    border: none;
    outline: none;
    font-size: 14px;
    color: #fff;
    padding: 0;
    background: #D2D2D2;
    cursor: text;
    transition: all .2s;
}

.constructor-order__button.active {
    color: #1D2023;
    background: #FEED00;
    cursor: pointer;
}

.constructor-order__button.active:hover {
    background: #FDF25D;
}

.constructor-configuration {
    width: 648px;
    height: 248px;
    padding-right: 24px;
}

.constructor-configuration__container {
    display: flex;
    justify-content: space-between;
}

.constructor-configuration__item {
    width: 208px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    margin-bottom: 15px;
    padding: 0 16px;
    cursor: pointer;
    transition: all .2s;
}

.constructor-configuration__item.active {
    border: 1px solid #E30611 !important;
}

.constructor-configuration__item:hover {
    border: 1px solid #F49BA0;
}

.constructor-configuration__item-name {
    font-size: 14px;
    line-height: 20px;
}

.constructor-configuration__stars {
    display: flex;
    justify-content: space-between;
    width: 94px;
    margin: 0;
}

.constructor-configuration__block {
    width: 384px;
    height: 173px;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    padding: 16px;
    color: #515257;
    line-height: 16px;
    position: relative;
}

.constructor-configuration__title {
    font-family: 'NeoSansPro-Medium';
    margin-bottom: 7px;
}

.constructor-configuration__description {
    font-size: 12px;
}

.constructor-configuration__description span {
    display: block;
    margin-bottom: 7px;
    max-width: 300px;
}

.constructor-configuration__description b {
    display: block;
}

.constructor-configuration__sale {
    position: absolute;
    top: 16px;
    right: 81px;
}

.constructor-configuration__block.sale .constructor-configuration__sale {
    display: none;
}

.constructor-configuration__own {
    width: 384px;
    height: 173px;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    padding: 16px;
}

.constructor-configuration__own-row {
    display: flex;
    margin-bottom: 16px;
}

.constructor-configuration__own-name {
    width: 112px;
    font-size: 14px;
    line-height: 32px;
    color: #9F9F9F;
}

.constructor-select__value {
    width: 200px;
    height: 32px;
    background: #FAFAFA;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    display: flex;
    align-items: center;
    font-size: 14px;
    line-height: 16px;
    padding: 0 16px;
    position: relative;
    cursor: pointer;
    transition: all .2s;
    white-space: nowrap;
}

.constructor-select__value:hover {
    border: 1px solid #F49BA0;
}

.constructor-select__value.active {
    border: 1px solid #E30611 !important;
}

.constructor-select__value::before {
    content: url(/local/windowsconstructor/img/calculator/arrow-select.svg);
    position: absolute;
    top: 0;
    right: 9px;
    line-height: 0;
    height: 30px;
    width: 30px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.constructor-select__value span {
    overflow: hidden;
}

.constructor-select__inner {
    display: none;
    position: relative;
}

.constructor-select__value.active+.constructor-select__inner {
    display: block;
}

.constructor-select__list {
    position: absolute;
    top: 8px;
    width: 200px;
    border: 1px solid #FAFAFA;
    filter: drop-shadow(0px 4px 20px rgba(0, 0, 0, 0.25));
    border-radius: 8px;
    z-index: 2;
    background: #FAFAFA;
    overflow: hidden;
    max-height: 340px;
    overflow-y: unset;
}

.constructor-select__item {
    cursor: pointer;
    height: 48px;
    display: flex;
    align-items: center;
    padding: 0 16px;
    font-size: 15px;
    line-height: 15px;
    transition: all .2s;
    position: relative;
}

.constructor-select__item:hover {
    background: #e0e3eb42;
}

.constructor-select__item.active {
    background: #EAECF0;
}

.constructor-select.handle .constructor-select__item {
    height: 96px;
    font-size: 16px;
    line-height: 19px;
}

.constructor-finish {
    width: 648px;
    height: 248px;
    padding-right: 32px;
}

.constructor-finish__container {
    display: flex;
    justify-content: space-between;
}

.constructor-finish__container-mobile {
    display: none;
}

.constructor-finish__column {
    width: 144px;
}

.constructor-cell {
    height: 32px;
    width: 100%;
    background: linear-gradient(0deg, #FAFAFA, #FAFAFA), #D9D9D9;
    border: 1px solid #F3F3F4;
    border-radius: 8px;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    padding-right: 0;
    font-size: 14px;
    line-height: 18px;
}

.constructor-cell:first-child {
    color: #9F9F9F;
}

.constructor-finish .constructor-select__value {
    width: 144px;
    margin-bottom: 8px;
}

.constructor-finish .constructor-select__list {
    width: 224px;
    top: 0;
}

.constructor-options .constructor-select__list {
    width: 224px;
}

.constructor-select__list::-webkit-scrollbar {
    width: 7px;
}

.constructor-select__list::-webkit-scrollbar-thumb {
    background-color: #DADADA;
    border-radius: 20px;
    border-left: 3px solid #fff;
    border-right: 2px solid #fff;
}

.constructor-select__value-img,
.constructor-parameter__img {
    width: 24px;
    height: 24px;
    border-radius: 12px;
    margin-right: 8px;
    flex-shrink: 0;
    box-shadow: inset 1px 1px 4px rgb(0 0 0 / 20%);
}

.constructor-select.handle .constructor-select__value-img,
.constructor-finish__row.handle .constructor-parameter__img {
    display: none;
}

.constructor-select__item-img {
    width: 24px;
    height: 24px;
    border-radius: 12px;
    margin-right: 12px;
    flex-shrink: 0;
    box-shadow: inset 1px 1px 4px rgb(0 0 0 / 20%);
}

.constructor-select.handle .constructor-select__item-img {
    width: 64px;
    height: 80px;
    margin-right: 16px;
    box-shadow: none;
}

.constructor-checkbox {
    display: flex;
    align-items: center;
}

.constructor-checkbox input {
    display: none;
}

.constructor-checkbox label {
    cursor: pointer;
    font-weight: normal;
    position: relative;
    padding-left: 24px;
    display: flex;
    align-items: center;
}

.constructor-checkbox input:disabled+label {
    cursor: default;
}

.constructor-checkbox input+label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border: 1px solid #9F9F9F;
    border-radius: 4px;
    cursor: pointer;
    transition: all .2s;
}

.constructor-checkbox input:disabled:checked+label::before {
    display: none;
}

.constructor-checkbox input:disabled:not(:checked)+label::before {
    border: 1px solid #D2D2D2;
    cursor: default;
}

.constructor-checkbox:hover input:not(:disabled)+label::before {
    background: #F1C5C7;
    border: 1px solid #E30611;
}

.constructor-checkbox input:checked+label::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 4px;
    background: #E30611 url(/local/windowsconstructor/img/calculator/checkmark-white.svg) center center no-repeat;
    cursor: pointer;
}

.constructor-checkbox input:checked:disabled+label::after {
    top: 5px;
    left: 4px;
    width: 10px;
    height: 9px;
    background: url(/local/windowsconstructor/img/calculator/checkmark.svg) center center no-repeat;
    cursor: default;
}

.constructor-question {
    margin-left: 5px;
    cursor: pointer;
}

.constructor-question img {
    display: block;
}

.constructor-options {
    padding-right: 24px;
    width: 648px;
    height: 152px;
}

.constructor-options__container {
    display: flex;
    justify-content: space-between;
}

.constructor-options__container:last-child {
    justify-content: flex-start;
}

.constructor-options__container-mobile {
    display: none;
}

.constructor-options .constructor-cell {
    width: 184px;
    margin-bottom: 16px;
}

.constructor-options .constructor-select__value {
    width: 144px;
}

.constructor-options__lamination {
    display: flex;
    align-items: center;
    font-size: 12px;
    line-height: 14px;
    height: 32px;
}

.constructor-options__lamination-type {
    color: #9F9F9F;
    margin-right: 8px;
}

.constructor-options .constructor-quantity {
    margin-left: 16px;
}

.constructor-services {
    width: 648px;
    height: 128px;
}

.constructor-services__container {
    display: flex;
}

.constructor-services .constructor-cell {
    width: fit-content;
    height: 40px;
    margin-right: 16px;
    padding-left: 20px;
    padding-right: 16px;
}

.constructor-radio {
    display: flex;
    align-items: center;
}

.constructor-services input {
    display: none;
}

.constructor-services label {
    font-size: 14px;
    line-height: 20px;
    font-weight: normal;
    color: #1D2023;
    padding-left: 28px;
    position: relative;
    display: flex;
    align-items: center;
}

.constructor-radio input+label::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #9F9F9F;
    border-radius: 10px;
    cursor: pointer;
    transition: all .2s;
}

.constructor-radio input:checked+label::before {
    border: 1px solid #E30611;
}

.constructor-radio:hover input:not(:checked)+label::before {
    background: #F1C5C7;
    border: 1px solid #E30611;
}

.constructor-radio input:checked+label::after {
    content: '';
    position: absolute;
    top: 4px;
    left: 4px;
    width: 12px;
    height: 12px;
    border-radius: 6px;
    background: #E30611;
    cursor: pointer;
}

.constructor-popup-fade-enter-active,
.constructor-popup-fade-leave-active {
    transition: opacity .3s;
}

.constructor-popup-fade-enter,
.constructor-popup-fade-leave-to {
    opacity: 0;
}

.constructor-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.82);
    background-blend-mode: multiply;
    z-index: 1000;
}

.constructor-preloader {
    border-radius: 20px;
    background: #F2F3F7;
    width: 220px;
    height: 16px;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 1001;
    transform: translate(-50%,-50%);
    overflow: hidden;
}
.constructor-preloader-progress {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    background-image: url("../img/preloader-progress.svg");
    width: 100%;
    transform: translateX(-100%);
    border-radius: 20px;
    animation: animation-preloader-progress 20s forwards, bg-offset-preloader 10s linear infinite forwards;
}
@keyframes animation-preloader-progress {
    0% {
       transform: translateX(-100%);
    }
    100% {
        transform: translateX(-5%);
    }
}
@keyframes bg-offset-preloader {
    0% {
        background-position: 0;
    }
    100% {
        background-position: 220px;
    }
}
.constructor-preloader-title {
    color: #FFF;
    font-size: 24px;
    font-weight: 500;
    line-height: normal;
    text-align: center;
    position: fixed;
    left: 50%;
    top: 50%;
    z-index: 1001;
    transform: translate(-50%, -50%);
    margin-top: -30px;
    width: 100%;
    display: flex;
    flex-direction: column;
    height: 30px;
}
.constructor-preloader-title span {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 50%;
    width: 100%;
    display: flex;
    justify-content: center;
    transform: translateX(-50%);
}
.constructor-preloader-title span:nth-child(1) {
    animation: text-fade 3s 0s linear forwards;
}
.constructor-preloader-title span:nth-child(2) {
    animation: text-fade 3s 3s linear forwards;
}
.constructor-preloader-title span:nth-child(3) {
    animation: text-fade 3s 6s linear forwards;
}
.constructor-preloader-title span:nth-child(4) {
    animation: text-fade 3s 9s linear forwards;
}
.constructor-preloader-title span:nth-child(5) {
    animation: text-fade 3s 12s linear forwards;
}
.constructor-preloader-title span:nth-child(6) {
    animation: text-fade 3s 15s linear forwards;
}
.constructor-preloader-title span:nth-child(7) {
    animation: text-fade 3s 18s linear forwards;
}
.constructor-preloader-title span:nth-child(8) {
    animation: text-fade 3s 21s linear forwards;
}
.constructor-preloader-title span:nth-child(9) {
    animation: text-fade-end 3s 24s linear forwards;
}
@keyframes text-fade {
    0% {
       visibility: visible;
    }
    100% {
        visibility: hidden;
    }
}
@keyframes text-fade-end {
    0% {
        visibility: visible;
    }
    100% {
        visibility: visible;
    }
}
.constructor-preloader-text {
    position: fixed;
    top: 50%;
    left: 50%;
    margin-top: 16px;
    z-index: 1001;
    font-size: 16px;
    line-height: 19px;
    text-align: center;
    transform: translateX(-50%);
    width: 100%;
    font-family: 'Neo Sans Pro';
    color: #C7C7C7;
}

.constructor-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    width: 408px;
    border-radius: 8px;
    padding: 24px;
    background: #FFFFFF;
    box-shadow: 0px 4px 20px rgb(0 0 0 / 25%);
    transform: translate(-50%, -50%);
    z-index: 1001;
}

.constructor-popup .constructor-popup__close {
    line-height: 0;
    position: absolute;
    top: 12px;
    right: 16px;
    cursor: pointer;
}

.constructor-popup .constructor-popup__title {
    font-size: 18px;
    line-height: 20px;
    text-align: center;
    font-family: 'NeoSansPro-Medium';
    margin-bottom: 40px;
}

.constructor-popup .constructor-select__title {
    font-size: 14px;
    line-height: 17px;
    color: #9F9F9F;
    font-family: 'NeoSansPro-Medium';
    margin-bottom: 5px;
}

.constructor-popup .constructor-select {
    margin-bottom: 16px;
}

.constructor-popup .constructor-select:last-child {
    margin-bottom: 0;
}

.constructor-popup .constructor-select__value {
    width: 100%;
    border: 1px solid #E5E5E5;
    border-radius: 3px;
    padding: 0 8px;
}

.constructor-popup .constructor-select__list {
    top: 8px;
    width: 100%;
    background: #fff;
}

.constructor-select:not(.handle) .constructor-select__item.color {
    position: relative;
    justify-content: center;
}

.constructor-select:not(.handle) .constructor-select__item.color .constructor-select__item-img {
    width: 192px;
    height: 32px;
    border-radius: 16px;
    margin: 0;
}

.constructor-select:not(.handle) .constructor-select__item.color span:last-child {
    position: absolute;
    color: #fff;
    width: 192px;
    height: 32px;
    line-height: 15px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.constructor-select:not(.handle) .constructor-select__item.color.black span:last-child {
    color: #1D2023;
}

.constructor-popup .constructor-select__value-img {
    width: 20px;
    height: 20px;
    border-radius: 10px;
    margin-right: 8px;
}

@keyframes preloader-rotate {

    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }

}

.constructor-popup__error p {
    text-align: center;
    margin-bottom: 16px;
}

.constructor-popup__error button {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 40px;
    background: #FEED00;
    border-radius: 4px;
    color: #1D2023;
}

.constructor-popup__error label {
    text-align: left;
    display: block;
    margin-bottom: 17px !important;
    color: #002138;
    font-family: 'NeoSansPro-Bold';
    font-weight: 500;
    font-size: 13px;
    line-height: 18px;
}

.constructor-popup__error input {
    display: block;
    width: 100%;
    line-height: 32px;
    padding: 0 15px;
    margin-top: 4px !important;
    background: #FFFFFF;
    border: 1px solid #E0E2E7;
    box-sizing: border-box;
    border-radius: 5px;
    height: 32px;
    font-family: 'NeoSansPro-Light';
    color: #002138;
    font-size: 13px;
    margin-bottom: 16px;
}

.constructor-popup__error .sent_clb {
    display: none;
}

.constructor-popup__error.success > p,
.constructor-popup__error.success > form {
    display: none;
}

.constructor-popup__error.success .sent_clb {
    display: block;
}

/*** Наши работы ***/

.our-works {
    margin-top: 54px;
}

.b-main__section.b-product__section[id="work"] {
    height: 397px;
    overflow: hidden;
    margin-left: 42px;
}

.b-main__section.b-product__section[id="work"]>div>.bx-wrapper {
    margin: 6px auto 0;
}

.our-works h2 {
    font-family: 'NeoSansPro-Medium';
    font-size: 24px;
    line-height: 32px;
    text-transform: none;
    margin-bottom: 20px;
    text-align: center;
}

.b-main__section.b-product__section[id="work"] .bx-controls.bx-has-controls-direction.bx-has-pager {
    margin-left: -42px;
}

/*** Отзывы ***/

.b-reviews__section {
    width: 100%;
    margin-top: 64px;
    margin-bottom: 90px;
}

.b-reviews__title {
    font-family: 'NeoSansPro-Medium';
    font-size: 24px;
    line-height: 32px;
    color: #151616;
    text-align: center;
}

.reviews_list {
    margin-top: 30px;
    min-height: 327px;
    overflow: hidden;
    visibility: hidden;
}

.b-reviews__section .horizontal-slider {
    overflow: unset;
    padding: 0 50px;
}

.reviews .btn-cottage-reviews {
    font-family: 'NeoSansPro-Medium';
    margin: 0 auto !important;
    padding: 0;
}

.b-review-content__name {
    font-family: 'NeoSansPro-Medium';
}

.constructor-skeleton {
    display: none;
}

.constructor-skeleton section {
    background: #ECEDEF;
}

[v-cloak] .constructor {
    display: none;
}

[v-cloak] .constructor-skeleton {
    display: flex;
}

.constructor-advantages {
    display: flex;
    justify-content: center;
    margin: 48px auto 40px;
}

.constructor-advantages__item {
    width: 192px;
    text-align: center;
    margin: 0 45px;
}

.constructor-advantages__img {
    line-height: 0;
}

.constructor-advantages__text {
    font-size: 16px;
    line-height: 19px;
    color: #1D2023;
}

.constructor-consultation {
    background: url('/local/windowsconstructor/img/page/consultation/consultation.png') top center no-repeat;
    height: 176px;
    border: 1px solid #F3F3F4;
    border-radius: 20px;
    margin-bottom: 64px;
    padding-left: 48px;
    padding-top: 32px;
    color: #2C2D2E;
}

.constructor-consultation__title {
    font-family: 'NeoSansPro-Medium';
    font-size: 20px;
    line-height: 140%;
    margin-bottom: 8px;
}

.constructor-consultation__text {
    font-size: 16px;
    line-height: 140%;
}

.constructor-consultation__button {
    width: 200px;
    height: 32px;
    background: #E31E24;
    border-radius: 4px;
    border: none;
    font-size: 14px;
    line-height: 20px;
    color: #FFFFFF;
    margin-top: 16px;
}

.constructor-info {
    background: #FAFAFA;
    padding-top: 24px;
    margin-bottom: 56px;
    color: #292E33;
}

.constructor-info__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 16px;
}

.constructor-info__item {
    width: 536px;
    height: 408px;
    border-radius: 20px;
    border: 1px solid #F3F3F4;
    padding: 32px;
    margin-bottom: 56px;
    position: relative;
}

.constructor-info__item:nth-child(1) {
    background: #EAECEE url('/local/windowsconstructor/img/page/info/info-1.png') center right no-repeat;
}

.constructor-info__item:nth-child(2) {
    background: #E2E8F0 url('/local/windowsconstructor/img/page/info/info-2.png') center right no-repeat;
}

.constructor-info__item:nth-child(3) {
    background: #F1EBD6 url('/local/windowsconstructor/img/page/info/info-3.png') center right no-repeat;
}

.constructor-info__item:nth-child(4) {
    background: #fff url('/local/windowsconstructor/img/page/info/info-4.png') center right no-repeat;
}

.constructor-info__item-title {
    max-width: 272px;
    font-family: 'NeoSansPro-Medium';
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 8px;
}

.constructor-info__item-text {
    max-width: 280px;
    font-size: 14px;
    line-height: 140%;
}

.constructor-info__item-list {
    font-size: 14px;
    line-height: 23px;
    font-family: 'NeoSansPro-Medium';
    position: absolute;
    left: 50px;
    bottom: 40px;
    list-style-type: disc;
    list-style-position: outside;
}

.constructor-info__item-list-item {
    max-width: 320px;
}

.block_product {
    margin-top: 6px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.constructor-design__container {
    margin-top: 16px;
    margin-bottom: 64px;
    display: flex;
    justify-content: space-between;
}

.constructor-design__inner {
    background: #FFFFFF;
    border: 1px solid #E0E0E0;
    border-radius: 20px;
    width: 528px;
    height: 544px;
    padding: 8px 24px;
    position: relative;
}

.constructor-design__inner:last-child {
    width: 584px;
    background: #FAFAFA;
    padding-top: 41px;
}

[v-cloak] .constructor-design__inner {
    display: none;
}

.constructor-design__inner-skeleton {
    display: none;
    background: #ECEDEF;
}

.constructor-design__inner-skeleton:nth-child(2) {
    width: 584px;
    background: #ECEDEF;
}

[v-cloak] .constructor-design__inner-skeleton {
    display: block;
}

.constructor-design__row {
    padding: 16px 0;
    border-bottom: 1px solid #E0E0E0;
    position: relative;
}

.constructor-design__row:nth-child(6) {
    border-bottom: none;
}

.constructor-design__row.active::before {
    transform: rotate(180deg);
}

.constructor-design__row-visible {
    display: flex;
    justify-content: space-between;
    cursor: pointer;
}

.constructor-design__row-visible::before {
    content: url('/local/windowsconstructor/img/design/arrow.svg');
    position: absolute;
    top: 25px;
    right: 0;
    line-height: 0;
    cursor: pointer;
}

.constructor-design__title {
    font-size: 18px;
    line-height: 22px;
    color: #1D2023;
    font-family: 'NeoSansPro-Medium';
}

.constructor-design__color {
    display: flex;
    align-items: center;
    margin-right: 32px;
}

.constructor-design__color-name {
    font-size: 14px;
    line-height: 17px;
    color: #B7B7B7;
    margin-right: 8px;
}

.constructor-design__color-icon {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-position: center center;
    background-repeat: no-repeat;
}

.constructor-design__color-icon.border {
    border: 1px solid #D2D2D2;
}

.constructor-design__color-icon.cover {
    background-size: cover;
}

.constructor-design__row-hidden {
    margin-top: 8px;
    font-size: 14px;
    line-height: 17px;
    color: #1D2023;
}

.constructor-design__row-hidden-text b {
    font-family: 'NeoSansPro-Medium';
    font-weight: normal;
}

.constructor-design__row-hidden-colors {
    display: flex;
    margin-top: 8px;
    overflow-x: auto;
}

.constructor-design__row-hidden-colors.with-scrollbar {
    margin-bottom: 12px;
    padding-bottom: 20px;
}

.constructor-design__row-hidden-colors::-webkit-scrollbar {
    height: 4px;
}

.constructor-design__row-hidden-colors::-webkit-scrollbar-track {
    background-color: #e0e0e080;
}

.constructor-design__row-hidden-colors::-webkit-scrollbar-thumb {
    background-color: #E30611;
    border-radius: 2px;
}

.constructor-design__row-hidden-color {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    margin-right: 23px;
    position: relative;
    cursor: pointer;
    flex-shrink: 0;
    background-position: center center;
    background-repeat: no-repeat;
}

.constructor-design__row-hidden-color.border {
    border: 1px solid #D2D2D2;
}

.constructor-design__row-hidden-color.cover {
    background-size: cover;
}

.constructor-design__row-hidden-color.active {
    border: 2px solid #E30611;
}

.constructor-design__inner-mobile {
    display: none;
}

.constructor-design__window {
    width: 348px;
    height: 361px;
    margin: 0 auto;
    background: url(/local/windowsconstructor/img/design/window.png) center center no-repeat;
    position: relative;
    background-size: cover;
}

.constructor-design__window-inner {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-size: cover;
}

.constructor-design__window-inner-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    opacity: 0;
    animation: change-window ease-in 1s;
}

@keyframes change-window {

    0% {
        opacity: 1;
    }

    100% {
        opacity: 0;
    }

}

.constructor-design__window-text {
    font-size: 14px;
    line-height: 17px;
    color: #1d202380;
    max-width: 488px;
    text-align: center;
    margin: 22px auto 0;
}

.constructor-design__window-button {
    background: #FEED00;
    border-radius: 4px;
    border: none;
    outline: none;
    width: 168px;
    height: 32px;
    font-size: 14px;
    line-height: 20px;
    color: #1D2023;
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);
}

.constructor-help {
    position: fixed;
    top: 0;
    right: 0;
    width: 303px;
    height: 100vh;
    z-index: 201;
    background: #FFFFFF;
    box-shadow: -3px 4px 20px rgb(0 0 0 / 15%);
    padding: 56px 24px;
    color: #1D2023;
    overflow-y: auto;
}

.constructor-help[v-cloak] {
    display: none;
}

.constructor-help::-webkit-scrollbar {
    width: 7px;
}

.constructor-help::-webkit-scrollbar-thumb {
    background-color: #DADADA;
    border-left: 2px solid #fff;
    border-right: 2px solid #fff;
}

.constructor-help__top {
    position: fixed;
    top: 0;
    right: 0;
    width: 303px;
    height: 56px;
    background: #fff;
    z-index: 2;
}

.constructor-help__step-2 {
    margin-bottom: 24px;
}

.constructor-help__back {
    position: absolute;
    top: 16px;
    left: 24px;
    cursor: pointer;
    line-height: 0;
    width: 24px;
    height: 24px;
}

.constructor-help__close {
    position: absolute;
    top: 16px;
    right: 16px;
    cursor: pointer;
    line-height: 0;
    width: 24px;
    height: 24px;
}

.constructor-help__button {
    width: 200px;
    height: 32px;
    background: #FEED00;
    border-radius: 4px;
    border: none;
    outline: none;
    font-size: 14px;
    margin-bottom: 16px;
}

.constructor-help__title-inner {
    font-family: 'NeoSansPro-Medium';
    font-size: 20px;
    line-height: 110%;
    margin-bottom: 8px;
}

.constructor-help__list {
    margin-bottom: 8px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-right: -8px;
}

.constructor-help__item {
    width: 120px;
    height: 48px;
    background: #F3F3F4;
    border-radius: 4px;
    font-family: 'NeoSansPro-Medium';
    font-size: 13px;
    display: flex;
    align-items: center;
    padding-left: 16px;
    margin-bottom: 16px;
    cursor: pointer;
    border: 1px solid #E2E8F0;
}

.constructor-help__questions {
    margin-top: -8px;
}

.constructor-help__question {
    font-size: 16px;
    line-height: 110%;
    padding: 16px 0;
    border-bottom: 1px solid #ECECEC;
    cursor: pointer;
    position: relative;
}

.constructor-help__question:last-child {
    border-bottom: none;
}

.constructor-help__question::before {
    content: url(/local/windowsconstructor/img/help/arrow-2.svg);
    position: absolute;
    top: 13px;
    right: 0;
    line-height: 0;
}

.constructor-help__question.active::before {
    transform: rotate(180deg);
}

.constructor-help__question-title {
    padding-right: 24px;
    font-family: 'NeoSansPro-Medium';
    font-size: 15px;
}

.constructor-help__question-text {
    margin-top: 8px;
    font-size: 13px;
    line-height: 120%;
}

.constructor-help__question-text a {
    color: #2962FF;
}

.constructor-help__question-text a:hover {
    text-decoration: underline;
}

.constructor-help__breadcrumbs {
    font-family: 'NeoSansPro-Medium';
    font-size: 13px;
    line-height: 110%;
    color: #9F9F9F;
    margin-bottom: 16px;
    padding-bottom: 8px;
    border-bottom: 1px solid #ECECEC;
}

.constructor-help__breadcrumbs a {
    color: #9F9F9F;
}

.constructor-help__breadcrumbs a:hover {
    text-decoration: underline;
}

.constructor-help__breadcrumbs img {
    margin: 0 10px;
}

.constructor-help__title {
    font-family: 'NeoSansPro-Medium';
    font-size: 20px;
    line-height: 110%;
    margin-bottom: 8px;
}

.constructor-help__text {
    font-size: 14px;
    line-height: 120%;
    margin-top: 16px;
    margin-bottom: 16px;
}

.constructor-help__links {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

a.constructor-help__link {
    font-size: 14px;
    line-height: 20px;
    color: #9F9F9F;
    text-decoration: underline;
    margin-right: 16px;
    margin-bottom: 8px;
}

a.constructor-help__link:hover {
    text-decoration: none;
}

.constructor-help__detail {
    border-bottom: 1px solid #ECECEC;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.constructor-help__detail:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.constructor-help__detail-title-wrapper {
    display: flex;
    margin-bottom: 8px;
    height: 18px;
    align-items: center;
}

.constructor-help__detail-title {
    font-family: 'NeoSansPro-Medium';
    font-size: 16px;
    line-height: 110%;
}

.constructor-help__detail-stars {
    width: 94px;
    display: flex;
    justify-content: space-between;
    margin-left: 8px;
}

.constructor-help__detail-star {
    width: 14px;
    height: 14px;
    background: url(/local/windowsconstructor/img/help/star-grey.svg) center center no-repeat;
}

.constructor-help__detail-star.yellow {
    background: url(/local/windowsconstructor/img/help/star-yellow.svg) center center no-repeat;
}

.constructor-help__detail-text {
    font-size: 14px;
    line-height: 120%;
}

.constructor-configuration__sale {
    width: 56px;
    height: 56px;
    background: #E31E24;
    color: #fff;
    font-size: 21px;
    font-weight: 500;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 1199px) {
    .constructor-banner__button {
        bottom: 32px;
        left: 328px;
    }

    h1.constructor-h1 {
        font-size: 28px;
        line-height: 34px;
    }

    #app {
        padding-bottom: 176px;
        width: 100%;
        height: initial;
    }

    h2.constructor-title {
        max-width: 704px;
        margin: 0 auto;
        font-size: 22px;
        line-height: 26px;
    }

    .constructor {
        display: block;
        position: relative;
        width: 704px;
        margin: 9px auto 0;
    }

    .constructor-skeleton {
        display: none;
    }

    [v-cloak] .constructor-skeleton {
        display: block;
    }

    .constructor-section {
        width: 100%;
    }

    .constructor-window__types {
        max-width: 100%;
    }

    .constructor-window__window-3sash .constructor-window__window-height,
    .constructor-window__window-balcony .constructor-window__window-height {
        left: -35px;
    }

    .constructor-window__window-balcony .constructor-window__window-height-right {
        left: initial;
        right: -37px;
    }

    .constructor-configuration {
        padding-right: 16px;
    }

    .constructor-configuration__block,
    .constructor-configuration__own {
        width: 445px;
    }

    .constructor-finish {
        padding-right: 22px;
    }

    .constructor-finish__column,
    .constructor-finish .constructor-select__value {
        width: 160px;
    }

    .constructor-options__container {
        max-width: 608px;
    }

    .constructor-order {
        position: absolute;
        bottom: -208px;
        left: 0;
        height: 176px;
        padding: 16px;
    }

    .constructor-order .section-title {
        display: flex;
        margin-bottom: 8px;
    }

    .constructor-order__button {
        width: 328px;
    }

    .constructor-container {
        width: 704px;
    }

    .our-works h2 {
        text-align: center;
    }

    .b-main__section.b-product__section[id="work"] {
        height: 417px;
        margin-left: 0;
    }

    .b-main__section.b-product__section[id="work"] .bx-controls.bx-has-controls-direction.bx-has-pager {
        margin-left: 0;
    }

    .constructor-advantages {
        justify-content: space-between;
        margin: 32px auto;
    }

    .constructor-advantages__item {
        width: 160px;
        margin: 0;
    }

    .constructor-advantages__img img {
        max-height: 48px;
    }

    .constructor-advantages__text {
        font-size: 14px;
        line-height: 17px;
    }

    .constructor-consultation {
        background: #FDEE00 url(/local/windowsconstructor/img/page/consultation/consultation-2.png) top right no-repeat;
        height: 152px;
        margin-top: 24px;
        margin-bottom: 32px;
        padding-left: 32px;
        padding-top: 24px;
    }

    .constructor-consultation__title {
        font-size: 18px;
    }

    .constructor-consultation__text {
        font-size: 14px;
    }

    .constructor-info {
        padding-top: 32px;
        padding-bottom: 16px;
    }

    .constructor-info__list {
        margin-top: 24px;
    }

    .constructor-info__item {
        width: 344px;
        height: 344px;
        padding: 24px;
        margin-bottom: 16px;
    }

    .constructor-info__item:nth-child(1) {
        background: #EAECEE url('/local/windowsconstructor/img/page/info/info-mobile-1.png') center right no-repeat;
    }

    .constructor-info__item:nth-child(2) {
        background: #E2E8F0 url('/local/windowsconstructor/img/page/info/info-mobile-2.png') center right no-repeat;
    }

    .constructor-info__item:nth-child(3) {
        background: #F1EBD6 url('/local/windowsconstructor/img/page/info/info-mobile-3.png') center right no-repeat;
    }

    .constructor-info__item:nth-child(4) {
        background: #fff url('/local/windowsconstructor/img/page/info/info-mobile-4.png') center right no-repeat;
    }

    .constructor-info__item-title {
        font-size: 16px;
        line-height: 19px;
        max-width: 224px;
    }

    .constructor-info__item-text {
        font-size: 12px;
        max-width: 192px;
    }

    .constructor-info__item-list {
        left: 40px;
        bottom: 16px;
        font-size: 12px;
        line-height: 14px;
        max-width: 240px;
    }

    .constructor-info__item-list-item {
        margin-top: 8px;
    }

    .windows .constructor-container {
        width: 100%;
        padding-right: 15px;
        padding-left: 15px;
    }

    .windows h2.constructor-title {
        text-align: center;
    }

    .windows .constructor-container .col-md-4 {
        max-width: calc(33.33333333% - 20px) !important;
    }

    .reviews_list {
        margin-top: 0;
    }

    .b-section__title {
        margin-bottom: 16px;
    }

    .constructor-order__buttons {
        left: 16px;
        width: calc(100% - 32px);
    }

    .constructor-order__sale {
        margin-top: 8px;
    }

    .constructor-design__container {
        margin-top: -26px;
        margin-bottom: 0;
    }

    .constructor-design__inner {
        height: 488px;
        border: none;
        padding: 0;
    }

    .constructor-design__inner-skeleton {
        height: 456px;
        margin-bottom: 32px;
    }

    .constructor-design__inner-skeleton:first-child,
    .constructor-design__inner:nth-child(3) {
        width: 328px;
        margin-top: 42px;
    }

    .constructor-design__inner-skeleton:nth-child(2),
    .constructor-design__inner:last-child {
        width: 352px;
        padding: 24px;
    }

    .constructor-design__inner-skeleton:nth-child(2) {
        margin-top: 42px;
    }

    .constructor-design__row {
        display: none;
    }

    .constructor-design__inner-mobile {
        display: block;
    }

    .constructor-design__inner-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-bottom: 8px;
    }

    .constructor-design__inner-button {
        width: 160px;
        height: 32px;
        border: 1px solid #F3F3F4;
        border-radius: 8px;
        background: none;
        outline: none;
        font-size: 14px;
        color: #000000;
        margin-bottom: 8px;
    }

    .constructor-design__inner-button.active {
        border: 1px solid #E30611;
    }

    .constructor-design__parameter-title {
        font-family: 'NeoSansPro-Medium';
        font-size: 16px;
        line-height: 20px;
        color: #000000;
    }

    .constructor-design__parameter-colors {
        display: flex;
        flex-wrap: wrap;
        margin-top: 12px;
    }

    .constructor-design__parameter .constructor-design__row-hidden-color {
        margin-right: 8px;
        margin-bottom: 16px;
        width: 40px;
        height: 40px;
    }

    .constructor-design__parameter .constructor-design__row-hidden-color.cover {
        background-size: cover !important;
    }

    .constructor-design__window {
        width: 304px;
        height: 316px;
    }

    .constructor-design__window-text {
        font-size: 12px;
        line-height: 140%;
        margin: 20px auto 0;
    }

}

@media (max-width: 1000px) {

    .b-main__section.b-product__section[id="work"] {
        height: 397px;
    }

}

@media (max-width: 991px) {

    .b-main__section.b-product__section[id="work"]>div>.bx-wrapper {
        margin: 16px auto 0;
    }

    .pd_content {
        padding-top: 0 !important;
    }
}

@media (max-width: 767px) {

    #app {
        margin-top: 8px;
    }

    .constructor-banner__button {
        bottom: 16px;
        left: 144px;
        width: 144px;
        height: 24px;
        font-size: 10px;
    }

    h1.constructor-h1 {
        font-size: 24px;
        line-height: 29px;
    }

    #app {
        padding-bottom: 256px;
    }

    h2.constructor-title {
        max-width: 200px;
        margin: 0;
        font-size: 20px !important;
        line-height: 24px !important;
    }

    .constructor {
        width: 344px;
        margin-top: 0;
    }

    .constructor-section {
        border: 1px solid #F3F3F4;
        border-radius: 8px;
    }

    .constructor-window {
        height: 536px;
    }

    .section-title__number {
        width: 16px;
        height: 16px;
        border-radius: 8px;
        line-height: 16px;
        font-size: 11px;
    }

    .section-title__name {
        line-height: 16px;
        font-size: 14px;
    }

    .constructor-window__type img {
        max-width: 28px;
    }

    .constructor-window__types {
        margin-bottom: 7px;
    }

    .constructor-window__opening-mode-item {
        margin: 0 3px;
        width: 32px;
    }

    .constructor-window__opening-mode-item video {
        max-width: 28px;
        max-height: 28px;
        display: none;
    }

    .constructor-window__opening-mode-item img {
        display: block;
    }

    .constructor-window__window {
        height: 346px;
    }

    .constructor-window__window-text {
        top: -10px;
        font-size: 12px;
        line-height: 14px;
    }

    .constructor-window__window-balcony .constructor-window__window-svg svg {
        max-height: 200px;
        margin-top: 18px;
    }

    .constructor-window__window-3sash .constructor-window__window-svg svg {
        max-height: 140px;
    }

    .constructor-window__window-3sash .constructor-window__window-width {
        left: 21px;
        width: 213px;
    }

    .constructor-window__window-balcony .constructor-window__window-width {
        margin-top: 20px;
        left: 25px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-1-1 {
        width: 127px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-1-3 {
        width: 80px;
        left: 152px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-2-1 {
        width: 81px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-2-3 {
        width: 126px;
        left: 106px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-3-1 {
        width: 140px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-3-3 {
        width: 80px;
        left: 165px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-4-1 {
        width: 82px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-4-3 {
        width: 138px;
        left: 107px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-5-1 {
        width: 80px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-5-2 {
        width: 100px;
        left: 80px;
    }

    .constructor-window__window-balcony .constructor-window__window-width-5-3 {
        width: 80px;
        left: 180px;
    }

    .constructor-window__window-3sash .constructor-window__window-height {
        left: -10px;
    }

    .constructor-window__window-balcony .constructor-window__window-height {
        left: -5px;
        top: 18px;
        height: 200px;
    }

    .constructor-window__window-balcony .constructor-window__window-height-right {
        left: initial;
        right: -7px;
    }

    .constructor-window__window-balcony .constructor-window__window-height-window {
        height: 134px;
    }

    .constructor-window__window-bottom-text {
        bottom: 16px;
        width: 320px;
    }

    .constructor-window__window-balcony~.constructor-window__window-bottom-text {
        bottom: 16px;
    }

    .constructor-configuration {
        height: initial;
    }

    .constructor-configuration__container {
        display: block;
    }

    .constructor-configuration__item {
        width: 312px;
        height: 40px;
        margin-bottom: 16px;
    }

    .constructor-configuration__block,
    .constructor-configuration__own {
        width: 312px;
        background: #FAFAFA !important;
        height: initial;
    }

    /* .constructor-configuration__block.sale {
        background: #FEED00 !important;
        position: relative;
    } */

    /* .constructor-configuration__block.sale::before {
        content: url(/local/windowsconstructor/img/calculator/sale.png);
        position: absolute;
        top: 8px;
        right: 4px;
    } */

    .constructor-configuration__title {
        margin-bottom: 14px;
    }

    .constructor-configuration__description b {
        display: initial;
    }

    .constructor-configuration__description span:last-child {
        margin-bottom: 0;
    }

    .constructor-configuration__sale {
        right: 16px;
        width: 50px;
        height: 50px;
    }

    .constructor-configuration__block.sale .constructor-configuration__sale {
        display: block;
    }

    .constructor-configuration__own {
        height: 160px;
    }

    .constructor-select__value {
        background: #fff;
        width: 176px;
    }

    .constructor-select__list {
        top: 5px;
        width: 176px;
        max-height: 316px;
    }

    .constructor-finish {
        height: initial;
        padding-bottom: 8px;
    }

    .constructor-finish__container {
        display: none;
    }

    .constructor-finish__container-mobile {
        display: block;
    }

    .constructor-finish__row {
        height: 64px;
        border-bottom: 1px solid #F3F3F2;
        padding-top: 8px;
    }

    .constructor-finish__row:last-child {
        border-bottom: none;
    }

    .constructor-finish__row-name {
        margin-bottom: 8px;
    }

    .constructor-finish__row-name p {
        font-size: 14px;
        line-height: 17px;
        color: #9F9F9F;
        display: flex;
        align-items: center;
    }

    .constructor-finish__row-container {
        display: flex;
        justify-content: space-between;
    }

    .constructor-parameter {
        width: 235px;
        height: 24px;
        font-size: 14px;
        display: flex;
        align-items: center;
        overflow: hidden;
        position: relative;
    }

    .constructor-parameter span:last-child {
        white-space: nowrap;
    }

    .constructor-parameter::before {
        content: url(/local/windowsconstructor/img/calculator/shadow.png);
        position: absolute;
        top: 0;
        right: 0;
        line-height: 0;
    }

    .constructor-change-button {
        font-size: 14px;
        line-height: 24px;
        color: #E30611;
        cursor: pointer;
    }

    .constructor-options {
        height: initial;
    }

    .constructor-options__container {
        display: block;
    }

    .constructor-options__lamination {
        display: none;
    }

    .constructor-options__container-mobile {
        display: block;
    }

    .constructor-options .constructor-cell {
        background: none;
        border: none;
        padding: 0;
        margin: 0;
    }

    .constructor-options__row {
        display: flex;
        justify-content: space-between;
        padding-top: 8px;
        padding-bottom: 8px;
        border-bottom: 1px solid #F3F3F2;
    }

    .constructor-options__row-container {
        display: flex;
        height: 24px;
        align-items: center;
    }

    .constructor-options__row-name {
        font-size: 14px;
        line-height: 16px;
        color: #9F9F9F;
        width: 72px;
    }

    .constructor-options .constructor-parameter {
        width: 160px;
    }

    .constructor-options__container:last-child {
        display: flex;
        justify-content: space-between;
        margin-top: 24px;
        margin-bottom: 8px;
    }

    .constructor-services {
        height: initial;
    }

    .constructor-services__container {
        display: block;
    }

    .constructor-services .constructor-cell {
        background: none;
        border: none;
        margin-bottom: 0;
        padding-left: 0;
    }

    .constructor-order {
        padding: 16px;
        height: 256px;
        bottom: -288px;
    }

    .constructor-order .section-title {
        margin-bottom: 16px;
    }

    .constructor-order__block-inner {
        display: block;
    }

    .constructor-order__title {
        line-height: 24px;
    }

    .constructor-order .constructor-quantity {
        margin-left: 0;
        margin-top: 4px;
        width: 96px;
    }

    .constructor-order__block-price {
        margin-top: 28px;
    }

    .constructor-order__buttons {
        margin-top: 12px;
        display: block;
    }

    .constructor-order__button {
        margin-bottom: 8px;
        width: 100%;
        height: 40px;
    }

    .constructor-order__button:last-child {
        margin-bottom: 0;
    }

    .constructor-order__sale {
        line-height: 16px;
        font-size: 14px;
        margin-top: 5px;
    }

    .constructor-order__sale div:first-child {
        max-width: 200px;
    }

    .constructor-order__sale div:last-child {
        line-height: 16px;
    }

    .constructor-container {
        width: 344px;
    }

    .constructor-popup {
        top: 24px;
        transform: translate(-50%, 0);
        width: 328px;
        border-radius: 20px;
        padding: 24px 32px;
    }

    .b-reviews__section {
        width: 100vw;
    }

    .constructor-select__item::before {
        content: url(/local/windowsconstructor/img/calculator/shadow-2.png);
        position: absolute;
        top: 0;
        right: -20px;
        line-height: 0;
    }

    .constructor-select__item.active::before {
        content: url(/local/windowsconstructor/img/calculator/shadow-4.png);
        position: absolute;
        top: 0;
        right: -20px;
        line-height: 0;
    }

    .constructor-select__item:hover::before {
        display: none;
    }

    .constructor-popup .constructor-select__item.active::before {
        display: none;
    }

    .constructor-advantages {
        flex-wrap: wrap;
        margin: 32px auto 24px;
    }

    .constructor-advantages__item {
        text-align: left;
        margin-bottom: 16px;
    }

    .constructor-advantages__img {
        margin-bottom: 8px;
    }

    .constructor-advantages__img img {
        max-height: 32px;
    }

    .constructor-consultation {
        background: #FDEE00 url(/local/windowsconstructor/img/page/consultation/consultation-3.png) top center no-repeat;
        height: 210px;
        padding-left: 24px;
    }

    .constructor-consultation__title {
        font-size: 16px;
        margin-bottom: 0;
    }

    .constructor-consultation__text {
        font-size: 12px;
        max-width: 136px;
    }

    .constructor-consultation__button {
        margin-top: 8px;
    }

    .constructor-info__item {
        padding: 16px;
    }

    .constructor-info__item-title {
        font-size: 14px;
        line-height: 17px;
        max-width: 192px;
    }

    .constructor-info__item-list {
        left: 32px;
        bottom: 16px;
    }

    .constructor-help,
    .constructor-help__top {
        width: 100%;
    }

    .constructor-help::-webkit-scrollbar {
        width: 0;
    }

    .constructor-help::-webkit-scrollbar-thumb {
        border-left: none;
        border-right: none;
    }

    .constructor-help__list {
        justify-content: flex-start;
    }

    .constructor-help__item {
        margin-right: 16px;
    }

    .constructor-design h2.constructor-title {
        max-width: 100%;
        margin-bottom: 12px;
    }

    .constructor-design__container {
        margin: 0;
        margin-bottom: 32px;
        display: block;
    }

    .constructor-design__inner-skeleton:first-child,
    .constructor-design__inner-skeleton:nth-child(2),
    .constructor-design__inner:nth-child(3),
    .constructor-design__inner:last-child {
        width: 100%;
        margin: 0;
        height: initial;
    }

    .constructor-design__inner-skeleton:first-child {
        height: 216px;
    }

    .constructor-design__inner-skeleton:nth-child(2) {
        height: 339px;
    }

    .constructor-design__inner-buttons {
        margin-bottom: 16px;
    }

    .constructor-design__inner-button {
        width: 168px;
    }

    .constructor-design__parameter .constructor-design__row-hidden-color {
        margin-bottom: 8px;
    }

    .constructor-design__inner-skeleton:nth-child(2),
    .constructor-design__inner:last-child {
        margin-top: 8px;
        padding: 16px;
    }

    .constructor-design__window {
        width: 231px;
        height: 240px;
    }

    .constructor-design__window-text {
        margin: 16px auto 0;
    }

    .constructor-design__window-button {
        position: relative;
        bottom: 0;
        margin-top: 8px;
    }
    .constructor-preloader-title {
        font-size: 20px;
    }
}

@media (max-width: 500px) {

    .b-main__section.b-product__section[id="work"]>div>.bx-wrapper {
        margin-top: 16px !important;
    }

    .constructor-info {
        margin-bottom: 32px;
    }

    .our-works {
        margin-top: 32px;
    }

}

@media (max-width: 379px) {

    .reviews_list {
        min-height: 342px;
    }

    .b-review__content {
        padding-left: 10px;
        padding-right: 10px;
    }
}

@media (max-width: 359px) {

    .constructor-container {
        width: 288px;
    }

    h1.constructor-h1 {
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 10px;
    }

    h2.constructor-title {
        max-width: 160px;
        font-size: 18px !important;
        line-height: 22px !important;
    }

    .constructor {
        width: 288px;
    }

    .constructor-window__opening-mode-item {
        margin: 0;
    }

    .constructor-window__window-height {
        left: -27px;
    }

    .constructor-window__window-3sash .constructor-window__window-height {
        left: -6px;
    }

    .constructor-window__window-balcony .constructor-window__window-height {
        left: -3px;
    }

    .constructor-window__window-balcony .constructor-window__window-height-right {
        left: initial;
        right: -4px;
    }

    .constructor-configuration__item {
        width: 256px;
    }

    .constructor-configuration__block,
    .constructor-configuration__own {
        width: 256px;
    }

    .constructor-select__value {
        width: 140px;
    }

    .constructor-finish {
        padding-right: 16px;
    }

    .constructor-parameter {
        width: 185px;
    }

    .constructor-options {
        padding-right: 16px;
    }

    .constructor-options__row-name {
        font-size: 12px;
        line-height: 14px;
        width: 56px;
    }

    .constructor-options .constructor-parameter {
        width: 130px;
    }

    .b-reviews__section {
        display: none;
    }

    .constructor-popup {
        width: 90%;
    }

    .constructor-popup .constructor-select__item.color::before {
        display: none;
    }

    .our-works {
        margin-bottom: 80px;
    }

    .constructor-advantages__item {
        width: 122px;
    }

    .constructor-info__item {
        width: 288px;
        height: 328px;
    }

    .constructor-info__item:nth-child(1) {
        background: #EAECEE;
    }

    .constructor-info__item:nth-child(2) {
        background: #E2E8F0;
    }

    .constructor-info__item:nth-child(3) {
        background: #F1EBD6;
    }

    .constructor-info__item:nth-child(4) {
        background: #fff;
    }

    .constructor-banner__button {
        left: 116px;
    }

    .constructor-design__inner-button {
        width: 140px;
        font-size: 13px;
    }

    .constructor-order__title {
        font-size: 15px;
    }

    .constructor-order__sale div:first-child {
        max-width: 155px;
    }

}