

/* Start:/local/components/vue/projects/compare/project-card/style.css?17459244213542*/
.compare-project-card__wrapper{
    position: relative;
    height: 100%;
}
.compare-project-card{
    display: flex;
    flex-flow: column;
    width: 100%;
    height: 100%;
    position: relative;

    border-radius: 1.2rem;
    background-color: var(--color-background-default);
    overflow: hidden;

    text-decoration: none;
    color: var(--color-text-default);
}
.compare-project-card:hover,
.compare-project-card:active,
.compare-project-card:focus{
    color: var(--color-text-default);
}
@media (hover:hover) {
    .compare-project-card:hover{
        color: var(--color-text-default);
        box-shadow: 0 16px 40px 0 rgba(0, 0, 0, 0.10);
    }
}
.compare-project-card__image-wrapper{
    position: relative;
    width: 100%;

    background-size: 150% auto;
    background-position: center center;
    background-repeat: no-repeat;
}
.compare-project-card__image-wrapper::before{
    content: '';
    display: block;

    width: 100%;
    padding-top: 79%;
}
.compare-project-card__image{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center;
}

.compare-project-card__info{
    padding: 0.8rem 1.2rem 1.2rem;

    display: flex;
    flex-flow: column;
    gap: 0.8rem;
}
@media (min-width: 992px) {
    .compare-project-card__image-wrapper::before{
        padding-top: 80%;
    }
    .compare-project-card__image-wrapper{
        background-size: 120% auto;
    }
    .compare-project-card__info{
        height: 8rem;
        padding: 1.6rem;

        flex-flow: row nowrap;
        align-items: center;
        gap: 1rem;
    }
}
.compare-project-card__name{
    flex-shrink: 1;
    flex-grow: 1;

    font-size: 2rem;
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 0;
}
.compare-project-card__price{
    white-space: nowrap;
    flex-shrink: 0;
    flex-grow: 0;

    color: var(--color-brand-primary);
    font-weight: 700;
}
.compare-project-card__price-value{
    font-size: 2.5rem;
}
.compare-project-card__price.--ip{
    /*font-size: 1rem;*/
    font-weight: 500;
}
@media (min-width: 992px) {
    .compare-project-card__price{
        white-space: normal;
    }
}
.compare-project-card__remove{
    width: 4rem;
    height: 4rem;

    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 1.6rem;
    right: 1.8rem;

    background: var(--black-a50);
    backdrop-filter: blur(4px);

    border: none;
    border-radius: 2.4rem;
}
.compare-project-card__remove svg{
    width: 2.4rem;
    height: 2.4rem;
    fill: white;
}
@media (hover: hover) {
    .compare-project-card__remove:hover{
        background: var(--black-a200);
    }
}

.compare-project-card__switches{
    /*margin-top: 0;*/
    padding: 0 1.2rem 1.2rem;
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
    margin-top: auto;
}
.compare-project-card__switch{
    width: 4rem;
    height: 4rem;

    border: none;
    border-radius: 2rem;

    padding: 0;


    display: flex;
    justify-content: center;
    align-items: center;

    background-color: var(--black-a50);
}

.compare-project-card__switch svg{
    width: 2.4rem;
    height: 2.4rem;
    fill: white;
    position: relative;
    left: 2px;
}

.compare-project-card__switch:first-child svg{
    transform: scaleX(-1);
    left: -2px;
}
@media (min-width: 992px) {
    .compare-project-card__switches{
        display: none;
    }
} 
/* End */


/* Start:/local/components/vue/form/checkboxes/checkbox-3-component/style.css?1745924421895*/
.checkbox-3{
    --box-bg: rgba(0,0,0,0.05);
    --box-bg-checked: var(--accent-500);

    position: relative;
    padding-left: 3.2rem;
    padding-top: 0.3rem;
    min-height: 2.4rem;

    cursor: pointer;
}
.checkbox-3 input{
    display: none;
}
.checkbox-3__box{
    display: block;
    width: 2rem;
    height: 2rem;

    position: absolute;
    top: 0.2rem;
    left: 0.2rem;

    border-radius: 0.4rem;
    background: var(--box-bg);

    transition: background-color 0.15s;
}
.checkbox-3__box-check{
    width: 2.4rem;
    height: 2.4rem;
    opacity: 0;
    fill: white;

    position: absolute;
    top: -0.2rem;
    left: -0.2rem;

    transition: opacity 0.15s;
}
.checkbox-3 input:checked + .checkbox-3__box{
    background: var(--box-bg-checked);
}
.checkbox-3 input:checked + .checkbox-3__box .checkbox-3__box-check{
    opacity: 1;
}

.checkbox-3.--disabled{
    opacity: 0.5;
}
/* End */


/* Start:/local/components/vue/projects/compare/compare-modal-project/style.css?17459244212003*/
.compare-modal__project{
    background: white;

    border-radius: 1.2rem;
    overflow: hidden;

    display: grid;
    grid-template-areas:
    "a b c"
    "a d c";

    padding-right: 1.2rem;
}
@media (min-width: 992px) {
    .compare-modal__project {
        display: flex;
        flex-flow: row nowrap;
        align-items: center;
    }
}
.compare-modal__project.--disabled{
    opacity: 0.5;
}
.compare-modal__image-wrapper{
    grid-area: a;

    align-self: stretch;
}
.compare-modal__image{
    height: 100%;
    width: 10rem;

    object-fit: cover;
}
@media (min-width: 992px) {
    .compare-modal__image {
        height: 7.8rem;
        width: 11.8rem;
    }
}
.compare-modal__project-data{
    display: flex;
    flex-flow: row wrap;

    align-items: center;
    fill: var(--neutral-500);
    color: var(--neutral-500);

    margin-left: 1.2rem;
    padding-top: 1.2rem;
    padding-bottom: 1.2rem;

    grid-area: b;
}
.compare-modal__project-name{
    width: 100%;
    flex-shrink: 0;
    font-size: 1.6rem;
    margin-bottom: 0.8rem;
    color: var(--neutral-950);
    font-weight: 400;
}
.compare-modal__project-data .icon{
    width: 2.4rem;
    height: 2.4rem;

    margin-left: 1.2rem;
    margin-right: 0.2rem;
}
.compare-modal__project-name + .icon{
    margin-left: 0;
}
.compare-modal__project-price{
    font-weight: 500;
    grid-area: d;
    margin-left: 1.2rem;
    padding-bottom: 1.2rem;

    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.compare-modal__project .checkbox-3{
    margin-left: 1.2rem;
    margin-bottom: 0;

    grid-area: c;
    align-self: center;
    padding-left: 2rem;
}
@media (min-width: 992px) {
    .compare-modal__project-data{
        margin-left: 0.7rem;
    }
    .compare-modal__project-price{
        white-space: normal;
        text-align: right;
        margin-left: auto;
        margin-top: 0;
        padding-bottom: 0;
    }
    .compare-modal__project .checkbox-3{
        margin-left: 2.4rem;
    }
}
/* End */


/* Start:/local/components/vue/projects/compare/compare-modal-selected/style.css?17459244212043*/
.compare-modal-selected{
    position: relative;
    background: white;
    border-radius: 1.2rem;
    overflow: hidden;
    padding-bottom: 1.2rem;
    border: 1px solid var(--neutral-25);
}
@media (min-width: 992px) {
    .compare-modal-selected {
        background: var(--neutral-10);
        border: none;
    }
}
.compare-modal-selected__image-wrapper{
    display: block;
    position: relative;
    width: 100%;

    margin-bottom: 0.8rem;
}
.compare-modal-selected__image-wrapper::before{
    content: '';
    display: block;
    width: 100%;
    padding-top: 75%;
}
.compare-modal-selected__image{
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.compare-modal-selected__name,
.compare-modal-selected__price{
    padding: 0 1.2rem;
}
.compare-modal-selected__name{
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.compare-modal-selected__price{
    margin-top: 0;
    font-size: 1.4rem;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: normal;
}
.compare-modal-selected__price-value{
    font-size: 1.6rem;
    margin-top: 0.4rem;
}
@media (min-width: 992px) {
    .compare-modal-selected__price{
        overflow: auto;
        white-space: normal;
        color: var(--color-brand-primary);
    }
    .compare-modal-selected__price-value{
        font-size: 1.6rem;
    }
}
.compare-modal-selected__remove{
    width: 3.2rem;
    height: 3.2rem;

    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;

    position: absolute;
    top: 0.46rem;
    right: 0.5rem;

    background: var(--black-a50, rgba(0, 0, 0, 0.15));
    backdrop-filter: blur(4px);

    border: none;
    border-radius: 2.4rem;
}
.compare-modal-selected__remove svg{
    width: 1.92rem;
    height: 1.92rem;
    fill: white;
}

@media (hover: hover) {
    .compare-modal-selected__remove:hover{
        background: var(--black-a200);
    }
}
/* End */


/* Start:/local/components/vue/misc/modal-component/style.css?17791020571496*/
.vue-modal-fade-enter,
.vue-modal-fade-leave-to{
    opacity: 0;
}
.vue-modal-fade-enter-active,
.vue-modal-fade-leave-active{
    transition: opacity 0.2s;
}
.vue-modal-fade-enter-to,
.vue-modal-fade-leave{
    opacity: 1;
}

body.vue-modal-shown{
    overflow: hidden;
}
body.vue-modal-shown .mob_contact{
    display: none!important;
}
.vue-modal__bg{
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;

    width: 100%;
    height: 100%;

    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: center;

    background: rgba(0, 0, 0, 0.50);
    backdrop-filter: blur(4px);

    transition: opacity 0.15s;

    z-index: 999999999999;
}
.vue-modal__content{
    position: relative;
}
.vue-modal__close{
    position: absolute;

    right: 16px;
    top: 16px;

    width: 24px;
    height: 24px;
    border-radius: 999px;

    border: none;
    fill: white;
    padding: 0;

    display: flex;
    justify-content: center;
    align-items: center;

    cursor: pointer;

    background-color: #F5F5F5;
}
.vue-modal__close svg{
    width: 16px;
    height: 16px;

    color: #333;
    fill: #333;
}
.vue-modal__close:focus,
.vue-modal__close:active{
    outline: none;
}

.vue-modal__panel{
    min-width: calc(100% - 30rem);
    max-height: calc(100vh - 10rem);
    overflow-y: auto;

    background: var(--color-background-default);
    border-radius: 1.2rem;
}
@media (min-width: 576px) {
    .vue-modal__panel {
        min-width: 38rem;
    }
}
/* End */


/* Start:/local/components/vue/form/search-box/style.css?17562182381478*/
.vue-search-box{
    --height: 50px;
    --width: 216px;
    --input-bg: #f7f7f7;
    --input-bg-hover: #e3e3e3;
    --border-radius: 10px;
    --button-width: var(--height);
    position: relative;
    width: var(--width);
}
.vue-search-box__input{
    height: var(--height);
    width: 100%;
    background-color: var(--input-bg);

    padding-left: 20px;
    padding-right: var(--button-width);

    font-size: 14px;
    /*max-height: 4.4rem;*/
    border: none;
    border-radius: var(--border-radius);

    transition: background 0.2s;
}
@media (max-width: 767px) {
    .vue-search-box__input{
        max-height: 4.4rem;
    }
}
.vue-search-box__input:hover{
    background: var(--input-bg-hover);
}
.vue-search-box__input:focus{
    outline: none;
}
.vue-search-box__button{
    position: absolute;
    top: -0.1rem;
    right: 0;
    padding: 0;

    height: var(--height);
    width: var(--button-width);

    background: none;
    border: none;
}
.vue-search-box__icon{
    height: 24px;
    width: 24px;

    fill: rgba(51, 51, 51, 0.3);

    transition: fill 0.2s;
}
.vue-search-box__close{
    width: 3rem;
    height: 3rem;
    border: 0.2rem solid white;
    background: #dcdcdc;
    color: #aaa;
    font-size: 1.6rem;
    line-height: 2rem;
    border-radius: 50%;
    position: absolute;
    right: -1rem;
    top: -1rem;
}
.vue-search-box__button:focus{
    outline: none;
}
.vue-search-box__button:hover .vue-search-box__icon:last-child{
    fill: #b0b0b0;
}
/* End */


/* Start:/local/css/elements/v2024/btn.ghost.css?1765539875343*/
.btn.btn-ghost{
    --button-color: var(--color-brand-primary);
    --button-background: transparent;
    /*--button-hover-background: var(--accent-a10);*/
    --button-hover-background: #f5f5f5;
}
.btn.btn-ghost.active{
    --button-color: white;
    --button-background: var(--color-brand-primary);
    --button-hover-background: #458366;
}

/* End */


/* Start:/projects/compare/style.css?17459244229389*/
.i{
    display: inline-block;
    width: 1em;
    height: 1em;
}
#main{
    background-color: var(--neutral-10);
}
#main .content{
    padding-top: 0;
}
#main .breadcrumbs{
    --color-background: var(--neutral-10);
    background-color: var(--neutral-10);
    transition: background-color 0.15s;
}
body.--compare-detached  #main .breadcrumbs{
    background-color: white;
}


.project-compare{
    /*background-color: var(--neutral-10);*/

    --grid-gap: 2.4rem;
    --col-padding: calc(var(--grid-gap) / 2);
    --row-margin: calc(var(--col-padding) * -1);

    opacity: 0;
    transition: opacity 0.2s;

    min-height: 60rem;
}
.project-compare.ready{
    opacity: 1;
}
.project-compare__detachable{
    padding-top: 0.6rem;
    background: var(--color-background);
    transition: background-color 0.15s, border-color 0.15s;
    border-bottom: 1px solid transparent;
    z-index: 10;
}
.project-compare__detachable.--detached{
    position: fixed;
    width: 100%;

    top: var(--header-height);
    left: 0;

    background: white;
    border-bottom-color: var(--neutral-25);


}
.project-compare__detachable.--detached .compare-project-card{
    outline: 1px solid var(--neutral-25);
}
.compare-project-card__image-wrapper::before{
    transition: padding-top 0.15s;
}
.project-compare__detachable.--detached .compare-project-card__image-wrapper::before{
    padding-top: 60%;
}
@media (max-width: 767px) {
    .project-compare__detachable.--detached{
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }
}
@media (min-width: 992px) {
    .project-compare__detachable.--detached .compare-project-card__image-wrapper::before{
        padding-top: 50%;
    }
}

.project-compare__dummy{
    padding-top: 12rem;
    padding-bottom: 27rem;
    text-align: center;
}
.project-compare__dummy h3{
    margin-bottom: 4rem;
}
.project-compare .container .row{
    margin-left: var(--row-margin);
    margin-right: var(--row-margin);
}
.project-compare .container .row > [class*=col] {
    padding-left: var(--col-padding);
    padding-right: var(--col-padding);
}
.project-compare__header-row{
    display: flex;
    flex-flow: column;
    padding-top: 2rem;
}
.project-compare__hone{
    margin-bottom: 0;
}

.project-compare__limit{
    color: var(--neutral-500);
    order: 2;

    margin-top: 1.6rem;
    line-height: 3rem;
}
.project-compare__set-tools{
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    justify-content: flex-end;

    margin-top: 1.6rem;

    gap: 2.4rem;
}

.project-compare__header-row .btn{
    white-space: nowrap;

    justify-content: center;
}
.project-compare__dummy svg,
.project-compare__set-tools svg,
.compare-modal__clear svg{
    width: 1.6rem;
    height: 1.6rem;

    margin-right: 0.8rem;
}
@media (max-width: 991px) {
    .project-compare__header-row{
        padding-top: 1.2rem;
    }
    .project-compare__header-row .btn {
        padding: 0.8rem 0;

        flex-grow: 1;
        flex-basis: 40%;
        max-width: calc(50% - 1.2rem);

        height: 4rem;
    }
}
@media (min-width: 992px) {
    .project-compare__hone {
        margin-right: auto;
    }
    .project-compare__header-row{
        flex-flow: row nowrap;
        align-items: center;
    }
    .project-compare__limit{
        margin-top: 0;
        order: unset;
        margin-right: 1.2rem;
    }
    .project-compare__set-tools{
        margin-top: 0;
        gap: 1.2rem;
    }
    .project-compare__dummy svg,
    .compare-modal__clear svg,
    .project-compare__set-tools svg{
        width: 2.4rem;
        height: 2.4rem;
    }
}

.project-compare__project-cards{
    margin-bottom: 2.4rem;
    margin-top: 1.6rem;
}
.stats-card{
    background: white;
    border-radius: 1.2rem;
}
.stats-card + .stats-card{
    margin-top: 1.6rem;
}
.stats-card-header{
    display: flex;
    flex-flow: row;
    align-items: center;
    justify-content: space-between;

    text-decoration: none;
    color: var(--color-text-default);
    padding: 2.4rem 2.4rem;
}
.stats-card-header:hover{
    color: var(--color-text-default);
}
.stats-card-header h3{
    margin-bottom: 0;
}
.stats-card-header svg{
    fill: var(--color-text-default);
    width: 1.6rem;
    height: 1.6rem;

    transition: transform 0.2s;
    transform: scaleY(-1);
}
.stats-card-header.collapsed svg{
    transform: scaleY(1);
}
.stats-card-body{
    padding-bottom: 2.4rem;
}
.stats-card-body .line{
    display: flex;
    flex-flow: row nowrap;
    width: 100%;

    gap: var(--grid-gap);
    justify-content: stretch;
    align-content: stretch;

    padding-top: 0.9rem;
    padding-bottom: 0.8rem;

    position: relative;

    margin-top: -0.1rem;
}
.stats-card-body .line::after{
    content: '';

    display: block;
    width: calc(100% - 2.4rem * 2);
    height: 0.1rem;

    background-color: var(--neutral-25);

    position: absolute;
    bottom: 0;
    left: 2.4rem;
}
@media(hover:hover) {
    .stats-card-body .line:hover {
        background-color: var(--accent-10);
    }
    .stats-card-body .line:hover::after {
        background-color: var(--accent-10);
    }
}
.stats-card-body .line:last-child::after {
    content: none;
}
.stats-card-body .item{
    flex-grow: 1;
    width: 10rem;

    display: flex;
    flex-flow: column;
    justify-content: flex-end;
}
.stats-card-body .item:first-child{
    padding-left: 2.4rem;
}
.stats-card-body .item:last-child{
    padding-right: 2.4rem;
}
.stats-card-body .line-title,
.stats-card-body .item-value{
    font-size: 1.6rem;
    line-height: 3rem;
    margin: 0;
}
.stats-card-body .item-value{
    color: var(--black-a600);
}

.compare-modal .vue-modal__panel{
    display: flex;
    flex-flow: column;
}
.compare-modal__header{

    background: white;
    padding: 1.2rem 1.5rem 0;

    border-bottom: 1px solid var(--neutral-25);

    flex-shrink: 0;
    flex-grow: 0;
}
.compare-modal__close{
    width: 4rem;
    height: auto;

    border: none;
    background: transparent;

    display: flex;
    flex-flow: row;
    justify-content: center;
    align-items: center;
    align-self: stretch;

    padding: 0;

    margin-right: 0.5rem;
    flex-shrink: 0;
    flex-grow: 0;
}
.compare-modal__close:focus{
    outline: none;
}
.compare-modal__close svg{
    width: 1.6rem;
    height: 1.6rem;

    fill: var(--neutral-925);

    transform: rotate(90deg);
}
.compare-modal__title{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.compare-modal__title h3 {
    font-size: 2rem;
    font-weight: 400;
    margin-bottom: 0;
}
.compare-modal__hint{
    font-size: 1.4rem;
    line-height: normal;
    display: block;
    color: #aeaeae;
    margin-top: 0.4rem;
}
.compare-modal__clear{
    width: fit-content;
    justify-self: end;
    white-space: nowrap;
    margin-left: 1.2rem;
}
@media (max-width: 767px) {
    .compare-modal__close{
        margin-left: -1rem;
    }
    .compare-modal .vue-modal__bg{
        max-height: calc(100% - var(--header-height));
        top: var(--header-height);
    }
    .compare-modal .vue-modal__content{
        height: inherit;
    }
    .compare-modal .vue-modal__panel {
        border-radius: 0;
        height: unset;
        max-height: 100%;
        width: 100vw;

        bottom: 0;
    }
}
@media (min-width: 768px) {
    .compare-modal__close{
        display: none;
    }
}
@media (max-width: 991px) {
    .compare-modal__clear{
        padding-left: 0;
        padding-right: 0;
    }
    .compare-modal__clear .i{
        display: none;
    }
}
@media (min-width: 992px) {
    .compare-modal__hint{
        font-size: 1.6rem;
    }
}

.compare-modal .vue-search-box{
    --height: 4rem;
    --input-bg: white;
    --input-bg-hover: #f2f2f2;

    margin-top: 1.6rem;
    width: 100%;
}
.compare-modal .vue-search-box__input{
    border: 1px solid var(--black-a100);
}
.compare-modal .vue-modal__panel{
    overflow-y: hidden;
}
.compare-modal__selected-codes{
    display: flex;
    flex-flow: row nowrap;
    gap: 0.8rem;

    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;

    margin-top: 0.8rem;

    width: calc(100% + 3rem);
    overflow-x: auto;
    padding-bottom: 1.2rem;
}
.compare-modal-selected{
    width: 13.8rem;
    flex-shrink: 0;
    flex-grow: 0;

}

@media (min-width: 992px) {
    .compare-modal__selected-codes{
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        width: 100%;

        padding-bottom: 0;
    }
    .compare-modal-selected{
        width: calc((100% - 0.8rem * 3)/4);
    }
}

.compare-modal__body{
    background: #F8F8F8;
    padding: 1.2rem 1.5rem 7.5rem;

    overflow-y: auto;

    /*max-height: calc(100vh - 10rem - 16rem);*/

    flex-shrink: 1;
    flex-grow: 1;

    position: relative;
}
.compare-modal__project + .compare-modal__project{
    margin-top: 0.8rem;
}
@media (min-width: 992px) {
    .compare-modal__header{
        width: 75rem;
        padding: 2.4rem 2.2rem;
    }
    .compare-modal__body {
        width: 75rem;
        padding: 1.6rem 2.4rem 9.5rem;
    }
}

.compare-modal__fake-apply{
    position: absolute;
    bottom: 1.2rem;
    left: 1.5rem;

    width: calc(100% - 3rem);
}

@media (min-width: 768px) {
    .compare-modal__fake-apply{
        width: 25rem;
        bottom: 2.4rem;
        left: calc(50% - 12.5rem);
    }
}
/* End */
/* /local/components/vue/projects/compare/project-card/style.css?17459244213542 */
/* /local/components/vue/form/checkboxes/checkbox-3-component/style.css?1745924421895 */
/* /local/components/vue/projects/compare/compare-modal-project/style.css?17459244212003 */
/* /local/components/vue/projects/compare/compare-modal-selected/style.css?17459244212043 */
/* /local/components/vue/misc/modal-component/style.css?17791020571496 */
/* /local/components/vue/form/search-box/style.css?17562182381478 */
/* /local/css/elements/v2024/btn.ghost.css?1765539875343 */
/* /projects/compare/style.css?17459244229389 */
