diff --git a/actions/authActions.js b/actions/authActions.js
index e8f6632..d98a4e3 100644
--- a/actions/authActions.js
+++ b/actions/authActions.js
@@ -155,4 +155,20 @@ export const sendLoginFormPhone = (fields) =>
});
*/
});
-}
\ No newline at end of file
+}
+
+export const logout = ({ dispatch }) =>
+{
+ return new Promise((resolve, reject) =>
+ {
+ const cookies = new Cookies();
+ cookies.remove('jwt');
+
+ dispatch({ type: actionTypes.AUTH, data: { logged: false } });
+ dispatch({ type: actionTypes.USER, data: {} });
+ dispatch({ type: actionTypes.COMPANY, data: {} });
+
+ resolve();
+ Router.push('/');
+ });
+}
diff --git a/actions/calendarActions.js b/actions/calendarActions.js
new file mode 100644
index 0000000..0c61d4b
--- /dev/null
+++ b/actions/calendarActions.js
@@ -0,0 +1,87 @@
+import axios from 'axios';
+import { Cookies } from 'react-cookie';
+import Router from 'next/router';
+import moment from 'moment';
+import { nSQL } from "@nano-sql/core";
+import { concatSeries } from "async";
+
+import * as actionTypes from '../constants/actionTypes';
+import * as currentState from '../reducers/initialState';
+
+if(process.browser)
+{
+ FormData.prototype.appendObject = function(obj, namespace)
+ {
+ let keyName;
+ for (var key in obj)
+ {
+ if (obj.hasOwnProperty(key))
+ {
+ keyName = [namespace, '[', key, ']'].join('');
+ this.append(keyName, obj[key]);
+ }
+ }
+ };
+}
+
+export const getCalendar = ({ dispatch, date_from, date_to }) =>
+{
+ console.log("getCalendar");
+ return new Promise((resolve, reject) =>
+ {
+ axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/calendar`, {},
+ {
+ withCredentials: true,
+ })
+ .then((response) =>
+ {
+ const periods = {};
+
+ concatSeries(response.data, (contract, callback) =>
+ {
+ let payments = [];
+ for(let i in contract.payments)
+ {
+ const mdate = moment(contract.payments[i].date, "DD-MM-YYYY");
+ periods[mdate.format('YYYYMM')] = mdate.format('YYYYMM');
+
+ payments.push({ ...contract.payments[i], ...{ contract: { number: contract.number, date: contract.date }, date: mdate.format("YYYY-MM-DD"), js_date: mdate.toDate() } });
+ }
+
+ let query = nSQL(payments)
+ .query("select")
+ .where([ [ "js_date", ">=", date_from ], "AND", [ "js_date", "<=", date_to ] ])
+ .orderBy("number", "asc")
+ .exec().then((rows) =>
+ {
+ callback(null, rows);
+ });
+ }, (error, result) =>
+ {
+ let calendar = [];
+ nSQL(result)
+ .query("select", ["date", "SUM(total_amount) AS total"])
+ .groupBy(["date ASC"])
+ .exec().then(async (grouped_rows) =>
+ {
+ for(let i in grouped_rows)
+ {
+ const payments = await nSQL(result).query("select").where([[ "date", "=", grouped_rows[i].date ]]).exec();
+
+ calendar.push({ ...grouped_rows[i], ...{ payments: payments }});
+ }
+
+ console.log("TOTAL calendar", calendar);
+ dispatch({ type: actionTypes.CALENDAR, data: { payments: calendar, periods: periods } });
+ });
+ });
+
+ resolve();
+ })
+ .catch((error) =>
+ {
+ console.error(error);
+ reject();
+ });
+ });
+}
\ No newline at end of file
diff --git a/actions/contractActions.js b/actions/contractActions.js
new file mode 100644
index 0000000..3fbfa07
--- /dev/null
+++ b/actions/contractActions.js
@@ -0,0 +1,51 @@
+import axios from 'axios';
+import { Cookies } from 'react-cookie';
+import Router from 'next/router';
+import moment from 'moment';
+import { nSQL } from "@nano-sql/core";
+
+import * as actionTypes from '../constants/actionTypes';
+import * as currentState from '../reducers/initialState';
+
+if(process.browser)
+{
+ FormData.prototype.appendObject = function(obj, namespace)
+ {
+ let keyName;
+ for (var key in obj)
+ {
+ if (obj.hasOwnProperty(key))
+ {
+ keyName = [namespace, '[', key, ']'].join('');
+ this.append(keyName, obj[key]);
+ }
+ }
+ };
+}
+
+export const getContract = ({ dispatch, number, }) =>
+{
+ return new Promise((resolve, reject) =>
+ {
+ axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contract`, {
+ number: number
+ },
+ {
+ withCredentials: true,
+ })
+ .then((response) =>
+ {
+ console.log("response.data");
+ console.log(response.data);
+
+ dispatch({ type: actionTypes.CONTRACT, data: response.data });
+
+ resolve();
+ })
+ .catch((error) =>
+ {
+ console.error(error);
+ reject();
+ });
+ });
+}
\ No newline at end of file
diff --git a/actions/contractsActions.js b/actions/contractsActions.js
index dc4088b..c4bda62 100644
--- a/actions/contractsActions.js
+++ b/actions/contractsActions.js
@@ -2,6 +2,7 @@ import axios from 'axios';
import { Cookies } from 'react-cookie';
import Router from 'next/router';
import moment from 'moment';
+import { nSQL } from "@nano-sql/core";
import * as actionTypes from '../constants/actionTypes';
import * as currentState from '../reducers/initialState';
@@ -22,22 +23,62 @@ if(process.browser)
};
}
-export const getContractsList = ({ query, date_from, date_to }) =>
+export const getContractsList = ({ dispatch, order = "date", sort = "desc", page = 1, search, date_from, date_to }) =>
{
+ const page_size = 5;
+
return new Promise((resolve, reject) =>
{
- let cookies = new Cookies();
- let cookies_list = cookies.getAll();
- console.log(cookies_list);
-
+ //let cookies = new Cookies();
+ //let cookies_list = cookies.getAll();
+
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/contracts`, {}, {
- //headers: {
- // "Authorization": `Bearer ${ cookies_list.jwt }`,
- //},
withCredentials: true,
- });
+ })
+ .then((response) =>
+ {
+ const orderBy = {};
+ orderBy[order] = sort;
+ const offset = (page - 1) * page_size;
- resolve();
+ let query = nSQL(response.data).query("select");
+ let query_total = nSQL(response.data).query("select", ["COUNT(*) AS total"]);
+
+ if(search !== undefined && search !== null && search !== "")
+ {
+ query = query.where([["number", "LIKE", `%${ search }%`], "OR", ["car.reg_number", "LIKE", `%${ search }%`], "OR", ["car.vin_number", "LIKE", `%${ search }%`]]);
+ query_total = query_total.where([["number", "LIKE", `%${ search }%`], "OR", ["car.reg_number", "LIKE", `%${ search }%`], "OR", ["car.vin_number", "LIKE", `%${ search }%`]])
+ }
+
+ /*
+ if(date_from !== undefined && date_from !== null && date_from !== "")
+ {
+ query = query.where([["date", ">=", `%${ date_from }%`]]);
+ query_total = query_total.where([["date", ">=", `%${ date_from }%`]])
+ }
+ */
+
+ query = query.orderBy(orderBy).limit(page_size).offset(offset);
+
+ query_total.exec().then((total_rows) =>
+ {
+ const total = total_rows[0].total;
+ console.log("total", total);
+
+ query.exec().then((rows) =>
+ {
+ console.log(rows); // <= [{name: "jeb", age: 27}]
+ dispatch({ type: actionTypes.CONTRACTS, data: { list: rows, page: page, pages: Math.ceil(total / page_size) } });
+ });
+ });
+
+ resolve();
+ })
+ .catch((error) =>
+ {
+ console.error(error);
+ reject();
+ });
/*
axios.post(`${ process.env.NEXT_PUBLIC_API_HOST }/api/account/contracts/`, { }, {
diff --git a/actions/index.js b/actions/index.js
index b7a5693..fde2506 100644
--- a/actions/index.js
+++ b/actions/index.js
@@ -1,2 +1,4 @@
export * from './authActions';
-export * from './contractsActions';
\ No newline at end of file
+export * from './contractsActions';
+export * from './contractActions';
+export * from './calendarActions';
\ No newline at end of file
diff --git a/constants/actionTypes.js b/constants/actionTypes.js
index e82c81e..5ad5c6a 100644
--- a/constants/actionTypes.js
+++ b/constants/actionTypes.js
@@ -2,4 +2,5 @@ export const AUTH = 'AUTH';
export const USER = 'USER';
export const COMPANY = 'COMPANY';
export const CONTRACTS = 'CONTRACTS';
+export const CONTRACT = 'CONTRACT';
export const CALENDAR = 'CALENDAR';
\ No newline at end of file
diff --git a/css/main/style.css b/css/main/style.css
index 6f82860..3a2598c 100644
--- a/css/main/style.css
+++ b/css/main/style.css
@@ -1 +1,2876 @@
-main{overflow:hidden;padding-top:112px}@media all and (max-width:1280px){main{padding-top:86px}}main section.gray{background:var(--inactive)}main .title_wrapper{display:flex;justify-content:space-between;margin-bottom:50px}@media all and (max-width:1280px){main .title_wrapper{margin-bottom:20px}}@media all and (max-width:768px){main .title_wrapper{flex-wrap:wrap}}main .title_wrapper h1,main .title_wrapper h2,main .title_wrapper h3,main .title_wrapper h4,main .title_wrapper h5{margin-bottom:0}@media all and (max-width:768px){main .title_wrapper .section_title:not(:only-child){margin-right:10px}}main .title_wrapper .title_link{font-weight:600;display:inline-block;margin-left:55px;align-self:flex-end;line-height:24px}@media all and (max-width:1280px){main .title_wrapper .title_link{font-size:13px;margin-left:12px;line-height:30px}}@media all and (max-width:768px){main .title_wrapper .title_link{margin-left:0}}main .title_wrapper .left{display:flex}main .title_wrapper .right{display:flex}@media all and (max-width:768px){main .title_wrapper .right{width:100%;text-align:left;margin-top:8px}main .title_wrapper .right p{font-size:10px;line-height:15px;text-align:left}}main #main_slider{height:600px;background:var(--gray-light);padding:0;position:relative}@media all and (max-width:1279px){main #main_slider{height:395px}}main #main_slider .container{position:relative;height:100%;background:repeating-linear-gradient(90deg, rgba(255,255,255,0.1), rgba(255,255,255,0.1) 1px, transparent 2px, transparent 20%)}@media all and (max-width:768px){main #main_slider .container{background:transparent}}main #main_slider .slider_active_title{font-weight:bold;font-size:43px;line-height:63px;letter-spacing:2px;color:#fff;max-width:560px;position:absolute;top:55px;left:0;text-transform:uppercase;font-family:'PF Din Display Pro Bold'}@media all and (max-width:1279px){main #main_slider .slider_active_title{font-size:20px;line-height:35px;max-width:280px;top:25px}}main #main_slider .slider_list{position:absolute;bottom:0;left:0;right:0;display:flex}@media all and (max-width:1279px){main #main_slider .slider_list{height:135px}}@media all and (max-width:768px){main #main_slider .slider_list{display:none}}main #main_slider .slider_list .slider_item{width:20%;max-width:20%;height:300px;padding:15px 25px;display:flex;flex-wrap:wrap;align-items:flex-end;align-content:flex-end;cursor:pointer;position:relative;overflow:hidden}@media all and (max-width:1279px){main #main_slider .slider_list .slider_item{height:135px;padding:15px 20px}}main #main_slider .slider_list .slider_item:after{content:"";display:block;position:absolute;left:0;right:0;top:0;z-index:1;width:100%;height:100%;transform:translateY(100%);transition:175ms transform cubic-bezier(.25, .46, .45, .94)}main #main_slider .slider_list .slider_item .item_name{font-size:24px;line-height:24px;text-transform:uppercase;color:#fff;width:100%;display:flex;height:86px;align-content:center;align-items:center;justify-content:space-between;transition:175ms transform cubic-bezier(.25, .46, .45, .94);transform:translateY(57px);position:relative;z-index:2;margin-right:15px;font-family:'PF Din Display Pro Bold'}@media all and (max-width:1279px){main #main_slider .slider_list .slider_item .item_name{font-size:20px;height:80px}}main #main_slider .slider_list .slider_item .item_name:after{content:"";display:block;width:22px;min-width:22px;height:14px;background:url("/assets/images/icons/slider_arrow.svg") no-repeat center}main #main_slider .slider_list .slider_item a{display:inline-block;line-height:40px;color:#fff;font-weight:600;transition:175ms transform cubic-bezier(.25, .46, .45, .94);transform:translateY(57px);position:relative;z-index:2}@media all and (max-width:1279px){main #main_slider .slider_list .slider_item a{font-size:13px}}main #main_slider .slider_list .slider_item.active{background:currentColor}main #main_slider .slider_list .slider_item.active .item_name,main #main_slider .slider_list .slider_item.active a{transform:translateY(0)}main #main_slider .slider_list .slider_item.active .item_name:after{width:44px;background:url("/assets/images/icons/slider_arrow-hover.svg") no-repeat center;transform:rotate(-90deg) translate(15px, 15px)}@media all and (max-width:1279px){main #main_slider .slider_list .slider_item.active .item_name:after{transform:rotate(-90deg) translate(-15px, 15px)}}main #main_slider .slider_list .slider_item:hover .item_name,main #main_slider .slider_list .slider_item:hover a{transform:translateY(0)}main #main_slider .slider_list .slider_item:hover:after{transform:translateY(0);background:linear-gradient(to bottom, rgba(255,255,255,0) 0%, currentColor 100%)}main #main_slider .slider_list .slider_navto{width:20%;max-width:20%;height:300px}main #main_slider .slider_list .slider_navto a{background:#fff;width:100%;height:100%;clip-path:polygon(100% 0, 0% 100%, 100% 100%);transition:175ms background cubic-bezier(.25, .46, .45, .94);box-sizing:border-box;padding:0 25px;display:flex;align-items:flex-end;justify-content:flex-end}main #main_slider .slider_list .slider_navto a:after{content:"";display:block;width:22px;min-width:22px;height:86px;transition:175ms all cubic-bezier(.25, .46, .45, .94);background:url("/assets/images/icons/slider_arrow-blue.svg") no-repeat center}main #main_slider .slider_list .slider_navto a:hover{background:#04a8a4}main #main_slider .slider_list .slider_navto a:hover:after{width:90px;background:url("/assets/images/icons/arrow-navto.svg") no-repeat center}@media all and (max-width:768px){main #calc{background:#EDEFF5}}main #calc .container{background:url("/assets/images/calc-bg.jpg") no-repeat right center #EDEFF5;padding:70px 25px;position:relative}main #calc .container:after{content:"";display:block;position:absolute;top:0;bottom:0;right:-100%;width:100%;left:auto;background-color:inherit}@media all and (max-width:1279px){main #calc .container{padding:50px 25px}}@media all and (max-width:1280px){main #calc .container{background:#EDEFF5}}@media all and (max-width:768px){main #calc .container{padding:25px 0}}main #calc .calc_body{display:flex;justify-content:space-between}@media all and (max-width:768px){main #calc .calc_body{display:block}}main #calc .calc_body .calc_settings{width:830px}@media all and (max-width:1420px){main #calc .calc_body .calc_settings{width:calc(100% - 410px)}}@media all and (max-width:1280px){main #calc .calc_body .calc_settings{width:calc(50% - 15px)}}@media all and (max-width:768px){main #calc .calc_body .calc_settings{width:100%}}main #calc .calc_body .calc_settings .settings_box{background:rgba(255,255,255,0.6);border-radius:4px;height:57px;margin-bottom:80px;position:relative;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;padding:10px}main #calc .calc_body .calc_settings .settings_box output[hidden]{display:none}main #calc .calc_body .calc_settings .settings_box:last-child{margin-bottom:20px}@media all and (max-width:1280px){main #calc .calc_body .calc_settings .settings_box{margin-bottom:45px;height:48px;padding:8px}}main #calc .calc_body .calc_settings .settings_box p{margin-bottom:15px;font-weight:700}@media all and (max-width:1280px){main #calc .calc_body .calc_settings .settings_box p{font-size:13px}}main #calc .calc_body .calc_settings .settings_box p.min{position:absolute;top:65px;font-weight:400;left:10px;margin:0}@media all and (max-width:960px){main #calc .calc_body .calc_settings .settings_box p.min{display:none}}main #calc .calc_body .calc_settings .settings_box p.max{position:absolute;top:65px;font-weight:400;right:10px;margin:0}@media all and (max-width:960px){main #calc .calc_body .calc_settings .settings_box p.max{top:30px}}main #calc .calc_body .calc_settings .settings_box .line{width:100%;background:rgba(142,148,167,0.4)}@media all and (max-width:960px){main #calc .calc_body .calc_settings .settings_box .line{width:calc(100% - 55px)}}main #calc .calc_body .calc_settings .settings_box .line,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal{position:relative;height:5px;z-index:2}main #calc .calc_body .calc_settings .settings_box .line .active_line,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .active_line,main #calc .calc_body .calc_settings .settings_box .line .rangeslider__fill,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__fill{background:var(--blue);position:absolute;left:0;bottom:0;height:10px}main #calc .calc_body .calc_settings .settings_box .line .dragble,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .dragble,main #calc .calc_body .calc_settings .settings_box .line .rangeslider__handle,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__handle{width:1px;height:16px;cursor:pointer;position:absolute;top:8px;left:0}main #calc .calc_body .calc_settings .settings_box .line .dragble:after,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .dragble:after,main #calc .calc_body .calc_settings .settings_box .line .rangeslider__handle:after,main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__handle:after{content:"";display:block;transform:rotate(45deg) translate(-6px, 6px);width:16px;height:16px;background:var(--blue)}main #calc .calc_body .calc_result{width:350px;align-items:stretch;align-content:stretch;display:flex;flex-wrap:wrap}@media all and (max-width:1420px){main #calc .calc_body .calc_result{width:320px}}@media all and (max-width:1280px){main #calc .calc_body .calc_result{width:calc(50% - 15px)}}@media all and (max-width:768px){main #calc .calc_body .calc_result{width:100%;margin-top:35px}}main #calc .calc_body .calc_result .result_box{width:100%}main #calc .calc_body .calc_result .result_box p{font-weight:700}@media all and (max-width:1280px){main #calc .calc_body .calc_result .result_box p{font-weight:400;font-size:13px;line-height:20px;margin-bottom:20px}}@media all and (max-width:768px){main #calc .calc_body .calc_result .result_box p{margin-bottom:8px}}main #calc .calc_body .calc_result .result_box p.price{font-size:41px;line-height:1}main #calc .calc_body .calc_result .result_box p.price sup{font-weight:300;font-size:12px;line-height:18px;color:#8E94A7;vertical-align:super}@media all and (max-width:1279px){main #calc .calc_body .calc_result .result_box p.price{font-size:32px}}@media all and (max-width:1280px){main #calc .calc_body .calc_result .result_box p.price{font-size:20px;margin-bottom:0;font-weight:700}}@media all and (max-width:768px){main #calc .calc_body .calc_result .result_box{width:50%}}main #calc .calc_body .calc_result .button{width:100%;align-self:center}@media all and (max-width:768px){main #calc .calc_body .calc_result .button{margin-top:30px;margin-bottom:15px}}main #calc .calc_body .calc_result .secondary{align-self:flex-end}main .news_arrows{display:flex;align-content:center}@media all and (max-width:1280px){main .news_arrows{display:none !important}}main .news_arrows button{width:97px;height:28px;background-color:var(--blue);box-sizing:border-box;padding:0 10px;transition:175ms background ease-in-out}main .news_arrows button svg{width:8px;height:12px;margin-left:auto}main .news_arrows button svg path{stroke:#fff;transition:175ms stroke ease-in-out}main .news_arrows button:disabled,main .news_arrows button.slick-disabled{cursor:default;background-color:var(--inactive);background-position:center}main .news_arrows button:disabled svg,main .news_arrows button.slick-disabled svg{margin-left:0}main .news_arrows button:disabled svg path,main .news_arrows button.slick-disabled svg path{stroke:#8E94A7}@media all and (max-width:768px){main #news .news_slider_wrapper{margin:0 -16px}}main .news_list,main .career_list{display:flex;white-space:nowrap;width:100%}main .news_list .slick-list,main .career_list .slick-list{width:100%}main .news_list .slick-list .slick-track,main .career_list .slick-list .slick-track{white-space:nowrap;display:flex;padding-right:100px}main .news_list .slick-list .slick-track:after,main .career_list .slick-list .slick-track:after{content:"";display:block;width:365px;min-width:365px;height:200px}main .news_list .news_item,main .career_list .news_item,main .news_list .career_item,main .career_list .career_item{width:365px;min-width:365px;padding:35px 20px;background:#EDEFF5;position:relative}@media all and (max-width:1280px){main .news_list .news_item,main .career_list .news_item,main .news_list .career_item,main .career_list .career_item{width:214px;min-width:214px;padding:25px 15px}}@media all and (max-width:768px){main .news_list .news_item,main .career_list .news_item,main .news_list .career_item,main .career_list .career_item{margin-right:1px}}main .news_list .news_item p,main .career_list .news_item p,main .news_list .career_item p,main .career_list .career_item p{white-space:normal;margin-bottom:22px;line-height:24px;transition:175ms color ease-in-out}main .news_list .news_item .news_date,main .career_list .news_item .news_date,main .news_list .career_item .news_date,main .career_list .career_item .news_date{margin-bottom:35px}@media all and (max-width:1280px){main .news_list .news_item .news_date,main .career_list .news_item .news_date,main .news_list .career_item .news_date,main .career_list .career_item .news_date{margin-bottom:15px}}main .news_list .news_item img,main .career_list .news_item img,main .news_list .career_item img,main .career_list .career_item img{display:block;margin-bottom:22px;object-fit:cover}@media all and (max-width:1280px){main .news_list .news_item img,main .career_list .news_item img,main .news_list .career_item img,main .career_list .career_item img{height:178px;width:100%;margin-bottom:15px}}main .news_list .news_item .news_title,main .career_list .news_item .news_title,main .news_list .career_item .news_title,main .career_list .career_item .news_title,main .news_list .news_item .career_title,main .career_list .news_item .career_title,main .news_list .career_item .career_title,main .career_list .career_item .career_title{color:#0C0C0C;font-size:24px;line-height:28px;font-weight:700}@media all and (max-width:1280px){main .news_list .news_item .news_title,main .career_list .news_item .news_title,main .news_list .career_item .news_title,main .career_list .career_item .news_title,main .news_list .news_item .career_title,main .career_list .news_item .career_title,main .news_list .career_item .career_title,main .career_list .career_item .career_title{font-size:19px;line-height:26px;margin-bottom:15px}}main .news_list .news_item .news_link,main .career_list .news_item .news_link,main .news_list .career_item .news_link,main .career_list .career_item .news_link,main .news_list .news_item .career_link,main .career_list .news_item .career_link,main .news_list .career_item .career_link,main .career_list .career_item .career_link{margin-bottom:0;color:var(--blue)}@media all and (max-width:1280px){main .news_list .news_item .news_link,main .career_list .news_item .news_link,main .news_list .career_item .news_link,main .career_list .career_item .news_link,main .news_list .news_item .career_link,main .career_list .news_item .career_link,main .news_list .career_item .career_link,main .career_list .career_item .career_link{font-weight:700;font-size:13px}}main .news_list .news_item a,main .career_list .news_item a,main .news_list .career_item a,main .career_list .career_item a{display:block;position:absolute;top:0;left:0;right:0;bottom:0;z-index:3}main .news_list .news_item:after,main .career_list .news_item:after,main .news_list .career_item:after,main .career_list .career_item:after{content:"";display:block;position:absolute;top:-24px;left:0;right:0;bottom:-24px;opacity:0;visibility:hidden;transition:175ms all ease-in-out}main .news_list .news_item:hover,main .career_list .news_item:hover,main .news_list .career_item:hover,main .career_list .career_item:hover{z-index:2}main .news_list .news_item:hover:after,main .career_list .news_item:hover:after,main .news_list .career_item:hover:after,main .career_list .career_item:hover:after{opacity:1;visibility:visible;background:var(--green);z-index:0}main .news_list .news_item:hover p,main .career_list .news_item:hover p,main .news_list .career_item:hover p,main .career_list .career_item:hover p,main .news_list .news_item:hover img,main .career_list .news_item:hover img,main .news_list .career_item:hover img,main .career_list .career_item:hover img{color:#fff;z-index:2;position:relative}main .news_list .news_item:hover .news_date:after,main .career_list .news_item:hover .news_date:after,main .news_list .career_item:hover .news_date:after,main .career_list .career_item:hover .news_date:after{content:"";position:absolute;bottom:-8px;height:2px;left:0;right:0;background:linear-gradient(to right, #ffffff 0%, rgba(255,255,255,0) 100%)}main .news_list.masongry_columns,main .career_list.masongry_columns{display:flex;justify-content:space-between}main .news_list.masongry_columns .column,main .career_list.masongry_columns .column{width:calc(50% - 15px)}main .news_list.masongry_columns .news_item,main .career_list.masongry_columns .news_item,main .news_list.masongry_columns .career_item,main .career_list.masongry_columns .career_item{width:100%;margin-bottom:30px}@media all and (max-width:768px){main .news_list.masongry_columns,main .career_list.masongry_columns{display:block}main .news_list.masongry_columns .column,main .career_list.masongry_columns .column{width:100%}}main .programs_list,main .services_list{display:flex;flex-wrap:wrap}@media all and (max-width:1280px){main .programs_list,main .services_list{justify-content:space-between}}main .programs_list .program_item,main .services_list .program_item,main .programs_list .service_item,main .services_list .service_item{margin-top:40px;margin-bottom:40px;width:calc(25% - 23px);position:relative;background:#EDEFF5;transform-origin:left;transition:all 175ms ease-in-out;height:390px}@media all and (max-width:1420px){main .programs_list .program_item,main .services_list .program_item,main .programs_list .service_item,main .services_list .service_item{overflow:hidden}}@media all and (max-width:1280px){main .programs_list .program_item,main .services_list .program_item,main .programs_list .service_item,main .services_list .service_item{width:calc(50% - 15px);margin-right:0 !important;margin-bottom:30px;margin-top:0;height:258px;overflow:hidden}}@media all and (max-width:768px){main .programs_list .program_item,main .services_list .program_item,main .programs_list .service_item,main .services_list .service_item{width:100%}}main .programs_list .program_item:after,main .services_list .program_item:after,main .programs_list .service_item:after,main .services_list .service_item:after{content:"";display:block;position:absolute;top:0;left:0;right:0;bottom:0;background:#eeeff4;z-index:0;transition:all 125ms ease-in-out}main .programs_list .program_item a,main .services_list .program_item a,main .programs_list .service_item a,main .services_list .service_item a{height:100%;display:block;box-sizing:border-box;padding:36px 18px;position:relative;z-index:2}@media all and (max-width:1280px){main .programs_list .program_item a,main .services_list .program_item a,main .programs_list .service_item a,main .services_list .service_item a{padding:24px 18px}}main .programs_list .program_item a span,main .services_list .program_item a span,main .programs_list .service_item a span,main .services_list .service_item a span{display:inline-block}main .programs_list .program_item:not(:nth-child(4n)),main .services_list .program_item:not(:nth-child(4n)),main .programs_list .service_item:not(:nth-child(4n)),main .services_list .service_item:not(:nth-child(4n)){margin-right:30px}main .programs_list .program_item .program_name,main .services_list .program_item .program_name,main .programs_list .service_item .program_name,main .services_list .service_item .program_name,main .programs_list .program_item .service_name,main .services_list .program_item .service_name,main .programs_list .service_item .service_name,main .services_list .service_item .service_name{font-weight:700;font-size:26px;line-height:36px;color:#000;position:relative;z-index:2;transform:translateY(0);transition:125ms transform ease-in-out;max-width:70%}@media all and (max-width:1280px){main .programs_list .program_item .program_name,main .services_list .program_item .program_name,main .programs_list .service_item .program_name,main .services_list .service_item .program_name,main .programs_list .program_item .service_name,main .services_list .program_item .service_name,main .programs_list .service_item .service_name,main .services_list .service_item .service_name{font-size:19px;line-height:26px}}main .programs_list .program_item .program_link,main .services_list .program_item .program_link,main .programs_list .service_item .program_link,main .services_list .service_item .program_link,main .programs_list .program_item .service_link,main .services_list .program_item .service_link,main .programs_list .service_item .service_link,main .services_list .service_item .service_link{position:absolute;right:0px;bottom:-10px;color:var(--blue);font-weight:600;font-size:15px;line-height:20px;opacity:0;z-index:2;transform:translate(0, 0);transition:125ms all ease-in-out}main .programs_list .program_item img,main .services_list .program_item img,main .programs_list .service_item img,main .services_list .service_item img{position:absolute;right:0;bottom:0;transform:translate(0, 0);transition:125ms all ease-in-out}@media all and (max-width:1420px) and (min-width:1280px){main .programs_list .program_item img,main .services_list .program_item img,main .programs_list .service_item img,main .services_list .service_item img{max-width:100%}}@media all and (max-width:1280px){main .programs_list .program_item img,main .services_list .program_item img,main .programs_list .service_item img,main .services_list .service_item img{max-height:120%}}@media all and (min-width:1280px){main .programs_list .program_item:hover,main .services_list .program_item:hover,main .programs_list .service_item:hover,main .services_list .service_item:hover{overflow:visible}main .programs_list .program_item:hover:after,main .services_list .program_item:hover:after,main .programs_list .service_item:hover:after,main .services_list .service_item:hover:after{top:-35px;right:-20px;bottom:-35px}main .programs_list .program_item:hover img,main .services_list .program_item:hover img,main .programs_list .service_item:hover img,main .services_list .service_item:hover img{transform:translate(20px, -35px)}main .programs_list .program_item:hover .program_name,main .services_list .program_item:hover .program_name,main .programs_list .service_item:hover .program_name,main .services_list .service_item:hover .program_name,main .programs_list .program_item:hover .service_name,main .services_list .program_item:hover .service_name,main .programs_list .service_item:hover .service_name,main .services_list .service_item:hover .service_name{transform:translateY(-30px)}main .programs_list .program_item:hover .program_link,main .services_list .program_item:hover .program_link,main .programs_list .service_item:hover .program_link,main .services_list .service_item:hover .program_link,main .programs_list .program_item:hover .service_link,main .services_list .program_item:hover .service_link,main .programs_list .service_item:hover .service_link,main .services_list .service_item:hover .service_link{opacity:1;transform:translate(-10px, -10px)}}main .services_list{justify-content:center}@media all and (max-width:1280px){main .services_list{justify-content:space-between}}main .services_list .service_item{width:calc(33.333% - 20px)}main .services_list .service_item:after{background:#f1f2f7}main .services_list .service_item .service_name{max-width:50%}main .services_list .service_item:not(:nth-child(3n)){margin-right:30px}main .services_list .service_item:nth-child(3n){margin-right:0}main .services_list .service_item:nth-child(4n){margin-right:30px}@media all and (max-width:1280px){main .services_list .service_item{width:calc(50% - 15px)}main .services_list .service_item img{max-height:100%}}@media all and (max-width:768px){main .services_list .service_item{width:100%}}main .special_list{display:flex;flex-wrap:wrap;justify-content:space-between}main .special_list .special_item{position:relative;width:calc(50% - 18px);min-width:calc(50% - 18px);margin-bottom:80px}main .special_list .special_item a{display:block;color:#0C0C0C;position:relative;z-index:2;box-sizing:border-box;padding:25px calc(50% + 20px) 25px 20px}main .special_list .special_item a .special_name{font-size:26px;line-height:35px;font-weight:700;color:#0C0C0C;margin-bottom:25px;display:block;transition:all 220ms ease-in-out}main .special_list .special_item a .speacial_text{display:block;margin-bottom:10px;font-weight:700;color:#0C0C0C;transform:translate(0, 0);transition:all 220ms ease-in-out}main .special_list .special_item a .special_desc{font-size:15px;line-height:24px;transform:translate(0, 0);transition:all 220ms ease-in-out}main .special_list .special_item a .special_link{display:inline-block;font-weight:600;opacity:0;transform:translate(10px, 10px);transition:all 220ms ease-in-out;color:#fff}main .special_list .special_item:after{content:"";display:block;position:absolute;top:20px;bottom:30px;right:30px;left:30%;transition:all 220ms ease-in-out;background:var(--inactive);z-index:0}main .special_list .special_item img{display:block;position:absolute;top:0;bottom:0;width:50%;height:100%;right:0;object-fit:cover;z-index:1}@media all and (min-width:1280px){main .special_list .special_item:hover a .special_name{color:#fff}main .special_list .special_item:hover a .speacial_text,main .special_list .special_item:hover a .special_desc{transform:translate(0, -10px);color:#fff}main .special_list .special_item:hover a .special_link{opacity:1;color:#fff;transform:translate(0, 0)}main .special_list .special_item:hover:after{background:var(--green);top:0;left:0;bottom:0}}@media all and (max-width:1280px){main .special_list .special_item{width:calc(50% - 15px);min-width:calc(50% - 15px);margin-bottom:30px}main .special_list .special_item a{padding:30px 0 0 0;display:flex;flex-wrap:wrap}main .special_list .special_item a .special_name{font-size:19px;line-height:26px}main .special_list .special_item a .special_desc{font-size:13px;line-height:20px;width:100%}main .special_list .special_item a .speacial_text{width:100%}main .special_list .special_item a .special_link{opacity:1;transform:translate(0, 0);color:var(--blue)}main .special_list .special_item a img{position:relative;width:100%;height:155px;object-fit:cover;object-position:center}main .special_list .special_item:after{width:182px;top:0;left:auto;right:0;height:120px}}@media all and (max-width:768px){main .special_list .special_item{width:100%;min-width:100%;margin-bottom:25px}}main .special_list.swiped{flex-wrap:unset;white-space:nowrap}main .special_list.swiped .special_item{margin-top:30px;margin-bottom:30px;margin-right:30px}main .special_list.swiped .special_item>*{white-space:normal}main .special_list.swiped .special_item a .special_link{color:var(--blue);opacity:1}main .special_list.swiped .special_item:hover a .special_link{color:#fff}main .brand_select{max-width:306px;margin-left:auto;margin-top:35px;margin-bottom:35px}@media all and (max-width:768px){main .brand_select{max-width:100%;margin-top:10px;margin-bottom:25px}}main .special_detail .special_offer{position:relative;padding:25px calc(100% - 390px) 0 25px;margin-bottom:45px}main .special_detail .special_offer h2{font-size:26px;line-height:35px;color:#0C0C0C;font-weight:700;margin-bottom:25px}main .special_detail .special_offer h2 span{color:#A8026B;font-size:58px;line-height:58px}main .special_detail .special_offer h2 mark{color:#A8026B;background:transparent}main .special_detail .special_offer .button{width:100%;margin-top:40px}main .special_detail .special_offer:after{content:"";display:block;position:absolute;z-index:1;left:420px;top:15px;bottom:25px;right:0;background:var(--inactive)}main .special_detail .special_offer img{display:block;height:100%;width:calc(100% - 502px);position:absolute;right:0;bottom:0;z-index:2;object-fit:cover}@media all and (max-width:1420px){main .special_detail .special_offer{padding-left:0}}@media all and (max-width:1280px){main .special_detail .special_offer{padding:0 calc(50% + 15px) 0 0}main .special_detail .special_offer h2{font-size:19px;line-height:26px;width:100%;order:2;margin-bottom:0}main .special_detail .special_offer h2 span{font-size:19px;line-height:26px}main .special_detail .special_offer img{width:calc(50% - 15px)}main .special_detail .special_offer:after{left:calc(50% - 120px);z-index:-1}}@media all and (max-width:768px){main .special_detail .special_offer{padding:0;display:flex;flex-wrap:wrap}main .special_detail .special_offer img{order:1;width:100%;position:relative;height:155px;margin-bottom:10px}main .special_detail .special_offer .list-column{order:3;margin-top:20px;margin-bottom:30px}main .special_detail .special_offer button.button{order:4;margin-top:0}main .special_detail .special_offer:after{width:182px;left:auto;right:0;top:0;bottom:50px;z-index:-1}}main .special_detail .special_offer-text{margin-bottom:80px;padding:0 25px}@media all and (max-width:768px){main .special_detail .special_offer-text{padding:0;margin-bottom:40px}}main .special_detail .aside_container{margin-top:60px}@media all and (max-width:768px){main .special_detail .aside_container{margin-top:30px;padding-top:30px;border-top:1px solid #EDEFF5}}main .leasing_offer h3{padding:0 25px;margin-bottom:15px;font-size:26px;line-height:35px}@media all and (max-width:768px){main .leasing_offer h3{padding:0;font-size:17px;line-height:24px}}main .leasing_offer .leasing_list{display:flex;flex-wrap:wrap}main .leasing_offer .leasing_list .leasing_item{width:calc(33.333% - 20px);margin-bottom:30px}main .leasing_offer .leasing_list .leasing_item:not(:nth-child(3n)){margin-right:30px}main .leasing_offer .leasing_list .leasing_item .item_wrapper{display:block;padding-bottom:35px;background:#fff;transition:background-color 175ms ease-in-out}main .leasing_offer .leasing_list .leasing_item .item_wrapper img{display:block;width:100%;height:220px;object-fit:cover;margin-bottom:30px}main .leasing_offer .leasing_list .leasing_item .item_wrapper span{display:block;color:#000;transition:color 175ms ease-in-out}main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_model{padding:0 30px;margin-bottom:5px;font-weight:700}main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_desc{padding:0 30px}main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover{background:var(--green)}main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover .leasing_model,main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover .leasing_desc{color:#fff}@media all and (max-width:1280px){main .leasing_offer .leasing_list{overflow-x:scroll;flex-wrap:unset;margin-right:-80px}main .leasing_offer .leasing_list .leasing_item{min-width:210px;margin-right:5px !important}main .leasing_offer .leasing_list .leasing_item .item_wrapper{padding-bottom:12px}main .leasing_offer .leasing_list .leasing_item .item_wrapper img{margin-bottom:12px;height:135px}main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_model,main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_desc{padding:0 18px}}@media all and (max-width:768px){main .leasing_offer .leasing_list{margin:0 -16px;padding:0 16px}}main .leasing_offer .leasing_offer-detail{display:flex;justify-content:space-between;margin-top:100px}main .leasing_offer .leasing_offer-detail .image_slider{height:425px;width:calc(100% - 560px)}main .leasing_offer .leasing_offer-detail .image_slider .slide{height:100%}main .leasing_offer .leasing_offer-detail .image_slider .slide img{width:100%;height:100%;object-fit:cover}main .leasing_offer .leasing_offer-detail .offer_desc{width:530px;padding-bottom:40px;position:relative}main .leasing_offer .leasing_offer-detail .offer_desc .offer_name{font-size:26px;line-height:35px;text-transform:uppercase;font-weight:700;margin-bottom:30px}main .leasing_offer .leasing_offer-detail .offer_desc ul{margin-bottom:20px}main .leasing_offer .leasing_offer-detail .offer_desc ul li{line-height:25px}main .leasing_offer .leasing_offer-detail .offer_desc .button{margin-top:40px;width:390px;position:absolute;bottom:0;left:0}@media all and (max-width:1280px){main .leasing_offer .leasing_offer-detail .image_slider{height:300px}main .leasing_offer .leasing_offer-detail .image_slider,main .leasing_offer .leasing_offer-detail .offer_desc{width:calc(50% - 15px)}main .leasing_offer .leasing_offer-detail .image_slider .button,main .leasing_offer .leasing_offer-detail .offer_desc .button{position:relative}}@media all and (max-width:768px){main .leasing_offer .leasing_offer-detail{margin-top:18px;display:block}main .leasing_offer .leasing_offer-detail .image_slider{width:100%;height:168px}main .leasing_offer .leasing_offer-detail .offer_desc{width:100%;padding-bottom:0}main .leasing_offer .leasing_offer-detail .offer_desc .offer_name{font-size:19px;line-height:26px;margin-bottom:13px}main .leasing_offer .leasing_offer-detail .offer_desc .button{width:100%;position:relative}}main .faq_search{margin-bottom:40px}main .faq_search .form_field{width:100%;max-width:635px;margin-left:auto}main .dropdown_blocks_list.zero-margin{margin-left:-30px;border-left:1px solid #EDEFF5;border-right:1px solid #EDEFF5}main .dropdown_blocks_list.zero-margin .dropdown_block{border-bottom:0 !important;position:relative}main .dropdown_blocks_list.zero-margin .dropdown_block:after{content:"";display:block;width:auto;height:1px;background:#EDEFF5;position:absolute;bottom:0;left:32px;right:32px}main .dropdown_blocks_list.zero-margin .dropdown_block .block_header{padding-left:30px;padding-right:30px}main .dropdown_blocks_list.zero-margin .dropdown_block .block_body{margin-left:85px;max-width:755px;overflow:hidden}@media all and (max-width:1279px){main .dropdown_blocks_list.zero-margin{border:0;margin-left:0}main .dropdown_blocks_list.zero-margin .dropdown_block:after{left:0;right:0}main .dropdown_blocks_list.zero-margin .dropdown_block .block_header{padding-left:5px;padding-right:5px}main .dropdown_blocks_list.zero-margin .dropdown_block .block_body{margin-left:0;padding-left:5px}}main .dropdown_blocks_list .dropdown_block:not(:last-child){border-bottom:1px solid #EDEFF5}main .dropdown_blocks_list .dropdown_block.bt{border-bottom:0;border-top:1px solid #EDEFF5}main .dropdown_blocks_list .dropdown_block .block_header{padding:15px 0;height:70px;display:flex;align-items:center;justify-content:space-between}main .dropdown_blocks_list .dropdown_block .block_header p{margin-bottom:0;margin-right:20px;font-weight:700}main .dropdown_blocks_list .dropdown_block .block_header p.with-icon{display:inline-flex;align-items:center}main .dropdown_blocks_list .dropdown_block .block_header p.with-icon img{margin-right:20px}main .dropdown_blocks_list .dropdown_block .block_header button{width:22px;height:22px;min-width:22px;cursor:pointer;background:url("/assets/images/icons/dropdown-blue.svg") no-repeat center}main .dropdown_blocks_list .dropdown_block .block_body{display:none}main .dropdown_blocks_list .dropdown_block .block_body .company{display:flex;margin-bottom:30px}main .dropdown_blocks_list .dropdown_block .block_body .company .title{text-transform:uppercase;font-size:26px;line-height:35px;font-weight:700}main .dropdown_blocks_list .dropdown_block .block_body .company ul{margin-left:80px}main .dropdown_blocks_list .dropdown_block .block_body .company ul li{line-height:1.5;margin-bottom:6px}main .dropdown_blocks_list .dropdown_block.open .block_header button{background:url("/assets/images/icons/close-blue.svg") no-repeat center}main .dropdown_blocks_list .dropdown_block.open .block_body{display:block;margin-top:25px}main .dropdown_blocks_list .dropdown_block.open .block_body p{margin-bottom:35px}@media all and (max-width:768px){main .dropdown_blocks_list .dropdown_block.open .block_body p{margin-bottom:15px}}main .dropdown_blocks_list.filled .dropdown_block.open .block_header{background:var(--inactive);color:var(--blue)}main aside .aside_nav{list-style:none;padding:0;margin:0 0 30px 0}main aside .aside_nav li{margin-bottom:8px}main aside .aside_nav li a{display:flex;align-items:center;min-height:56px;color:#000;font-size:15px;line-height:23px;font-weight:700;box-sizing:border-box;padding:0 15px}main aside .aside_nav li a.active{background:var(--green);color:#fff;font-weight:700}@media all and (max-width:1280px){main aside .aside_nav{display:flex;margin-left:-16px;margin-right:-16px;overflow-x:auto;padding-left:16px;padding-right:16px}main aside .aside_nav li{background:#EDEFF5;margin-bottom:0}main aside .aside_nav li a{white-space:nowrap;font-size:13px;line-height:20px;min-height:40px;font-weight:400}}main aside .button{width:100%}main #order .container{padding-bottom:180px}@media all and (max-width:1280px){main #order .container{padding-bottom:60px}}@media all and (max-width:768px){main #order{background:#EDEFF5}main #order .container{padding:40px 0 0 0}}.model_container{display:flex;flex-wrap:wrap;justify-content:space-between;margin-top:60px}.model_container .col{width:calc(50% - 15px)}.model_container .col img{max-width:100%}.model_container .col .model_desc{margin-top:35px}.model_container .col .model_desc p{margin-bottom:10px}.model_container #calc{background:var(--inactive);padding:35px 30px;position:relative}.model_container #calc:after{content:"";display:block;position:absolute;top:0;right:-100%;bottom:0;width:100%;background:inherit}.model_container #calc .calc_body{flex-wrap:wrap}.model_container #calc .calc_body .calc_settings{width:100%;margin-bottom:35px}.model_container #calc .calc_body .calc_result{width:100%}.model_container #calc .calc_body .calc_result .result_box{width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.model_container #calc .calc_body .calc_result .result_box p{font-weight:400}.model_container #calc .calc_body .calc_result .result_box.bolder{margin-bottom:35px}.model_container #calc .calc_body .calc_result .result_box.bolder p{font-weight:700;font-size:26px;line-height:35px}.model_container #calc .calc_body .calc_result .calc_footer{width:100%;display:flex;justify-content:space-between;align-items:center;margin-top:20px}.model_container #calc .calc_body .calc_result .calc_footer .button{width:calc(50% - 13px);padding:0;font-weight:400}.model_container .aside_container{width:100%;margin-top:0px;border-top:1px solid #EDEFF5}.model_container .aside_container aside{width:305px;padding-top:40px}.model_container .aside_container article{width:calc(100% - 305px);padding-top:40px;border-left:1px solid #EDEFF5}.model_container .aside_container article .dropdown_blocks_list .dropdown_block{padding:0 40px}@media all and (max-width:768px){.model_container{margin-top:20px}.model_container .col{width:100%;margin-bottom:10px}.model_container .col img{margin:0 -16px;width:calc(100% + 32px)}.model_container .col .model_desc{margin-top:12px}.model_container .col #calc{margin:0 -16px;padding:25px 16px}.model_container .col #calc .calc_body .calc_result .result_box.bolder p{font-size:19px;line-height:26px}.model_container .col #calc .calc_body .calc_result .calc_footer{margin-top:0;display:block}.model_container .col #calc .calc_body .calc_result .calc_footer button{width:100%;margin-bottom:0}.model_container .col #calc .calc_body .calc_result .calc_footer button:first-child{margin-top:0}.model_container .aside_container{border-top:0}.model_container .aside_container aside{display:none}.model_container .aside_container article{width:100%;border:0;padding-top:0}.model_container .aside_container article .dropdown_blocks_list .dropdown_block{padding:0}}.catalog_list{display:flex;flex-wrap:wrap}@media all and (max-width:1280px){.catalog_list{justify-content:space-between;width:100%}}.catalog_list .catalog_item{width:calc(33.333% - 20px);margin-bottom:110px}.catalog_list .catalog_item:not(:nth-child(3n)){margin-right:30px}.catalog_list .catalog_item img{width:100%;height:220px;object-fit:cover;margin-bottom:30px}.catalog_list .catalog_item .item_class{font-size:26px;line-height:35px;color:#0C0C0C;font-weight:700;margin-bottom:8px}.catalog_list .catalog_item .item_model{font-size:14px}.catalog_list .catalog_item .item_model b{display:block;font-size:15px}.catalog_list .catalog_item ul li{display:flex;justify-content:space-between;line-height:29px}.catalog_list .catalog_item ul li p{margin:0}.catalog_list .catalog_item ul li.pay{font-weight:700;margin:25px 0}.catalog_list .catalog_item .item_footer{text-align:right;margin-top:30px}@media all and (max-width:1280px){.catalog_list .catalog_item{width:calc(50% - 15px);margin-right:0 !important;margin-bottom:66px}.catalog_list .catalog_item .item_class{font-size:19px;line-height:26px}.catalog_list .catalog_item .item_model{font-size:13px;margin-top:10px}.catalog_list .catalog_item .item_model b{font-size:13px}.catalog_list .catalog_item ul li{line-height:20px;margin-bottom:10px}.catalog_list .catalog_item ul li.pay{margin:15px 0}}@media all and (max-width:768px){.catalog_list .catalog_item{width:100%}.catalog_list .catalog_item img{margin-left:-16px;margin-right:-16px;width:calc(100% + 32px)}.catalog_list .catalog_item ul li{margin-bottom:0px}}.requisites{padding:0 110px}.requisites .requisites_row{display:flex;justify-content:flex-start;margin-bottom:25px}.requisites .requisites_row p{margin:0;max-width:calc(50% - 15px);text-align:left}.requisites .requisites_row p:first-child{font-weight:700;margin-right:30px;width:180px}.requisites .button{margin-top:40px}@media all and (max-width:1420px){.requisites{padding:0}}@media all and (max-width:1280px){.requisites .requisites_row{display:block;margin-bottom:8px}.requisites .requisites_row p{width:100%;margin-bottom:8px}.requisites .button{width:286px}}#choose_region{display:flex;align-items:center}#choose_region p{margin-right:30px;max-width:340px}#choose_region .form_field{width:415px}@media all and (max-width:1280px){#officeViewToggle{justify-content:flex-end}}@media all and (max-width:768px){#officeViewToggle .tab{width:50%;text-align:center}}#map{display:none;width:100%;height:615px;margin:45px 0;background:var(--gray-light)}#map.visible{display:block}@media all and (max-width:1280px){#map{height:320px;margin:20px 0}}.popover{position:absolute;top:0;left:0;z-index:1010;display:block;padding:1px;text-align:left;white-space:normal;background:var(--blue);color:#fff;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);-webkit-background-clip:padding-box;-moz-background-clip:padding;background-clip:padding-box;padding:30px 20px;max-width:500px}.popover .close{position:absolute;top:8px;right:8px;width:24px;height:24px;font-size:0;cursor:pointer;background:url("/assets/images/icons/close-white.svg") no-repeat center}.popover p{margin:5px 0}.popover .arrow{position:absolute;left:0;right:0;bottom:-25px;margin:auto;width:43px;height:54px;background:url("/assets/images/pin-open.svg") no-repeat center}.offices_list{display:flex;justify-content:space-between;border-top:1px solid #EDEFF5;margin-top:30px}.offices_list#offices:not(.visible){display:none}.offices_list .column{width:calc(50% - 15px)}.offices_list .column .dropdown_block.open .block_body p{margin-bottom:8px}.offices_list .column .dropdown_block.open .block_body a{display:inline-block;font-weight:700;margin:20px 0 20px 28px}@media all and (max-width:768px){.offices_list{display:block;padding-top:35px;margin-top:35px}.offices_list .column{width:100%}}.dosc_list .row{margin-bottom:35px;display:flex;align-items:center;justify-content:space-between}.dosc_list .row p{margin-bottom:0}.dosc_list .row .doc_name{font-weight:700;min-height:56px;display:inline-flex;flex-wrap:wrap;align-items:center;margin-right:30px;max-width:50%}.dosc_list .row .doc_name.full{max-width:100%}.dosc_list .row .doc_name.full span{width:100%}.dosc_list .row .doc_name a{text-decoration:underline;font-weight:700}.dosc_list .row .doc_name a:hover{text-decoration:none}.dosc_list .row .doc_name span{display:block;font-weight:400;margin-top:8px}.dosc_list .row .doc_date{margin-right:30px;margin-left:30px;white-space:nowrap}.dosc_list .row .button{width:104px}.dosc_list.medium-icon .row{margin-bottom:15px;width:100%}.dosc_list.medium-icon .doc_name{min-height:40px;background-size:32px;padding-left:48px}.dosc_list.acts_list-checkbox .row{margin-bottom:15px;width:100%}.dosc_list.acts_list-checkbox .row .doc_name{background-size:32px;padding-left:0;background-position:30px 50%;min-height:32px;max-width:none;font-weight:400}.dosc_list.acts_list-checkbox .row .doc_name input[type="checkbox"]+label:before{margin-right:56px}.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf){min-height:0}.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf) input[type="checkbox"]+label:before{margin-right:16px}@media all and (max-width:768px){.dosc_list .row{position:relative;flex-wrap:wrap}.dosc_list .row .doc_name{max-width:100%;width:100%}.dosc_list .row .button:not(.download-icon){margin-left:55px;margin-top:8px;width:96px}.dosc_list .row .button.download-icon{position:absolute;right:0;top:0;bottom:0;margin:auto;width:24px;padding:0}}.contract_table{margin-bottom:80px}.contract_table .table_row{min-height:80px;display:flex;width:100%}.contract_table .table_row .table_cell{padding:16px 8px;border:1px solid #EDEFF5;width:14%}.contract_table .table_row .table_cell:nth-child(3){width:16%}.contract_table .table_row .table_cell:nth-child(5){word-break:break-all}.contract_table .table_row .table_cell p{margin:0}.contract_table .table_row .table_cell p.closed{color:var(--text_not_active)}.contract_table .table_row .table_cell p.opened{color:var(--green)}.contract_table .table_row .table_cell b{display:block}.contract_table .table_header .table_cell{border:0;color:var(--text_not_active);font-weight:700;display:flex;align-items:center}.contract_table .table_header .table_cell.caret{cursor:pointer}.contract_table .table_header .table_cell.caret:after{content:"";display:inline-block;width:16px;min-width:16px;height:16px;margin-left:6px;background:url("/assets/images/icons/icon-select.svg") no-repeat center}@media all and (max-width:1279px){.contract_table.schedule{align-items:flex-start}}.contract_table.schedule .show_more{width:100%;height:60px;text-align:center;background:var(--inactive);color:var(--blue);font-weight:600}@media all and (max-width:1279px){.contract_table.schedule .show_more{margin-bottom:15px}}.contract_table.schedule .table_row .table_cell{width:25%}.contract_table.schedule .table_row .table_cell:nth-child(1),.contract_table.schedule .table_row .table_cell:nth-child(2),.contract_table.schedule .table_row .table_cell:nth-child(4){width:14%}.contract_table.schedule .table_row[data-status="overpayment-2"]{background:rgba(28,1,169,0.1)}.contract_table.schedule .table_row[data-status="overpayment-1"]{background:rgba(168,2,107,0.1)}.contract_table.schedule .table_row[data-status="paid"]{background:rgba(4,168,164,0.1)}.contract_table.schedule .table_row .toggle_cell{display:none}@media all and (max-width:1279px){.contract_table.schedule .table_row{position:relative}.contract_table.schedule .table_row .table_cell{width:100%;padding-right:45px}.contract_table.schedule .table_row .table_cell:nth-child(1),.contract_table.schedule .table_row .table_cell:nth-child(2),.contract_table.schedule .table_row .table_cell:nth-child(3),.contract_table.schedule .table_row .table_cell:nth-child(4),.contract_table.schedule .table_row .table_cell:nth-child(5),.contract_table.schedule .table_row .table_cell:nth-child(6){width:100%;text-align:left;font-size:13px;line-height:20px;padding-top:0;border:none;margin:5px 0}.contract_table.schedule .table_row .table_cell:nth-child(1):before,.contract_table.schedule .table_row .table_cell:nth-child(2):before,.contract_table.schedule .table_row .table_cell:nth-child(3):before,.contract_table.schedule .table_row .table_cell:nth-child(4):before,.contract_table.schedule .table_row .table_cell:nth-child(5):before,.contract_table.schedule .table_row .table_cell:nth-child(6):before{content:attr(data-title);display:inline-block;margin-right:6px;font-weight:600;height:auto;position:static;background:transparent}.contract_table.schedule .table_row .table_cell:nth-child(3){margin:0;font-weight:400}.contract_table.schedule .table_row .toggle_cell{display:block;width:16px;height:16px;position:absolute;right:15px;top:28px;background:url("/assets/images/icons/toggle-cell.svg") no-repeat center;border:0;outline:none}}@media all and (max-width:1279px){.contract_table.schedule .table_row{display:flex;flex-wrap:wrap;justify-content:space-between}.contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(4),.contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(5),.contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(6){display:none}.contract_table.schedule .table_row.opened .toggle_cell{transform:rotate(180deg)}.contract_table.schedule .table_row .table_cell:nth-child(1),.contract_table.schedule .table_row .table_cell:nth-child(2){width:50%;margin-top:0;margin-bottom:0;font-weight:700}.contract_table.schedule .table_row .table_cell:nth-child(1)::before,.contract_table.schedule .table_row .table_cell:nth-child(2)::before{font-weight:700}.contract_table.schedule .table_row .table_cell:nth-child(2){text-align:right}.contract_table.schedule .table_row .table_cell:nth-child(3),.contract_table.schedule .table_row .table_cell:nth-child(4){display:flex;justify-content:space-between;align-items:flex-end;font-weight:700}.contract_table.schedule .table_row .table_cell:nth-child(3):before,.contract_table.schedule .table_row .table_cell:nth-child(4):before{font-weight:400;font-size:13px;line-height:20px;max-width:55%;margin-right:20px}.contract_table.schedule .table_row .table_cell:nth-child(3){margin-top:10px;margin-bottom:8px}.contract_table.schedule .table_row .table_cell:nth-child(5){display:flex;justify-content:space-between;padding-top:15px;margin-top:15px;border-top:1px solid #EDEFF5;margin-left:-15px;margin-right:-15px;padding-left:15px;padding-right:60px;width:calc(100% + 30px)}.contract_table.schedule .table_row .table_cell:nth-child(5),.contract_table.schedule .table_row .table_cell:nth-child(6){font-size:13px;line-height:20px;margin-bottom:0;margin-top:10px}.contract_table.schedule .table_row .table_cell:nth-child(5):before,.contract_table.schedule .table_row .table_cell:nth-child(6):before{display:none}}@media all and (max-width:1279px){.contract_table{display:flex;flex-wrap:wrap;justify-content:space-between}.contract_table .table_row{width:calc(50% - 15px);margin-bottom:30px;border:1px solid #EDEFF5;display:flex;flex-wrap:wrap;justify-content:space-between;padding:25px 15px}.contract_table .table_row.table_header{display:none}.contract_table .table_row .table_cell{border:0;width:100%;font-size:13px;line-height:20px;padding:0}.contract_table .table_row .table_cell:nth-child(1),.contract_table .table_row .table_cell:nth-child(4){font-size:10px;line-height:15px;width:50%;text-align:left}.contract_table .table_row .table_cell:nth-child(2),.contract_table .table_row .table_cell:nth-child(5){font-size:10px;line-height:15px;width:40%;text-align:right}.contract_table .table_row .table_cell:nth-child(3){font-weight:700;margin:15px 0;width:100%}.contract_table .table_row .table_cell:nth-child(6){width:40%;margin-top:15px;padding-top:15px;position:relative}.contract_table .table_row .table_cell:nth-child(6):before{content:"";position:absolute;top:0;left:-15px;right:0;width:auto;height:1px;background:#EDEFF5}.contract_table .table_row .table_cell:nth-child(7){display:flex;align-items:center;width:60%;text-align:right;justify-content:flex-end;margin-top:15px;padding-top:15px;position:relative}.contract_table .table_row .table_cell:nth-child(7):before{content:"";position:absolute;top:0;right:-15px;left:0;width:auto;height:1px;background:#EDEFF5}.contract_table .table_row .table_cell:nth-child(7) .price{margin-left:15px}}@media all and (max-width:768px){.contract_table .table_row{width:100%;margin-bottom:15px}}.logo_list{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:35px 0}.logo_list .logo_item{width:calc(16.666% - 25px);height:97px;display:flex;align-items:center;justify-content:center;margin:15px 0}.logo_list .logo_item img{max-width:100%;max-height:100%;object-fit:contain}.leasing_offers_list{display:flex;justify-content:space-between;margin-top:60px}.leasing_offers_list .offer_item{width:calc(33.333% - 20px);padding-left:80px;position:relative}.leasing_offers_list .offer_item p{margin-bottom:15px}.leasing_offers_list .offer_item img{position:absolute;top:0;left:0}.leasing_offers_list .offer_item ul li:not(:last-child){margin-bottom:6px}.catalog_sort{display:flex;align-items:center;justify-content:flex-end;margin-bottom:65px}.catalog_sort .sort_container{margin-left:40px;position:relative}.catalog_sort .sort_container button{height:40px;padding:0 20px 0 48px;color:var(--blue)}.catalog_sort .sort_container button.i-filter{background:url("/assets/images/icons/icon-filter.svg") no-repeat 20px 50%}.catalog_sort .sort_container button.i-sort{background:url("/assets/images/icons/icon-sort.svg") no-repeat 20px 50%}.news_cotnainer{display:flex;justify-content:space-between}.news_cotnainer .left{width:525px}.news_cotnainer .left .image{width:100%;height:525px;background:var(--gray-light);margin-bottom:30px}.news_cotnainer .left .image img{width:100%;height:100%;object-fit:cover}.news_cotnainer .left .socials a{width:48px;height:48px;margin-right:15px}.news_cotnainer .right{width:calc(100% - 555px)}.news_cotnainer .right h1{margin-bottom:20px}.news_cotnainer .right .date{display:block;text-transform:uppercase;margin-bottom:35px}.news_cotnainer .right p,.news_cotnainer .right ul,.news_cotnainer .right ol{margin-bottom:20px}.calendar_wrapper #calendar_month{margin-left:auto;max-width:235px;padding-left:32px;display:block;background:url("/assets/images/icons/icon-date.svg") no-repeat 8px 50%,url("/assets/images/icons/icon-select.svg") no-repeat calc(100% - 16px) 50%}@media all and (max-width:960px){.calendar_wrapper #calendar_month{margin-left:0;max-width:284px}}@media all and (max-width:768px){.calendar_wrapper #calendar_month{max-width:100%}}.calendar_wrapper .calendar_nav{display:none}@media all and (max-width:768px){.calendar_wrapper .calendar_nav{display:flex;align-items:center;justify-content:space-between;margin-top:15px}.calendar_wrapper .calendar_nav button{max-width:48%;height:28px;font-size:10px;color:var(--blue);padding:0}.calendar_wrapper .calendar_nav button:first-child:before{content:"<";display:inline-block;width:20px;height:28px;line-height:28px;text-align:left}.calendar_wrapper .calendar_nav button:last-child:after{content:">";display:inline-block;width:20px;height:28px;line-height:28px;text-align:right}}.calendar_wrapper .calendar_grid{margin-top:30px}.calendar_wrapper .calendar_grid .grid_header{display:flex;flex-wrap:wrap}.calendar_wrapper .calendar_grid .grid_header .grid_cell{padding:15px;text-transform:uppercase;font-weight:bold;font-size:15px;line-height:23px;color:#0C0C0C;width:14.2%}.calendar_wrapper .calendar_grid .grid_body{display:flex;flex-wrap:wrap;border:1px solid #E0E0E0}.calendar_wrapper .calendar_grid .grid_body .grid_week{width:100%;display:flex}.calendar_wrapper .calendar_grid .grid_body .grid_cell{padding:15px;width:14.282%;height:150px;border:1px solid #E0E0E0;box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:stretch}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header{color:#87878E;align-self:flex-start;text-transform:capitalize}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header span{font-size:26px;line-height:35px;font-weight:700;color:#000;padding-right:4px}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body{align-self:flex-end}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p{color:#000}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p span{display:block;font-weight:700}.calendar_wrapper .calendar_grid .grid_body .grid_cell.disabled{background:#EDEFF5;opacity:.4}.calendar_wrapper .calendar_grid .grid_body .grid_cell.current{background:var(--blue)}.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header{color:#fff}.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header span{color:inherit}.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_body p{color:#fff}@media all and (max-width:960px){.calendar_wrapper .calendar_grid{position:relative;margin-right:-80px}.calendar_wrapper .calendar_grid .grid_header{width:22px;position:absolute;left:0;top:0}.calendar_wrapper .calendar_grid .grid_header .grid_cell{width:100%;height:72px;padding:14px 0;text-align:center;font-size:13px;line-height:20px}.calendar_wrapper .calendar_grid .grid_body{margin-left:30px;overflow-x:auto}.calendar_wrapper .calendar_grid .grid_body .grid_week{width:auto}.calendar_wrapper .calendar_grid .grid_body .grid_cell{height:72px;padding:10px;width:33.333%;min-width:256px;font-size:13px;line-height:20px;align-items:flex-start}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header span{font-size:13px;line-height:20px}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body{width:100%}.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p{width:100%;display:flex;align-items:center;justify-content:space-between}}@media all and (max-width:768px){.calendar_wrapper .calendar_grid{margin-top:15px;margin-right:0}.calendar_wrapper .calendar_grid .grid_body .grid_week{width:100%;flex-wrap:wrap}.calendar_wrapper .calendar_grid .grid_body .grid_week:not(.active){display:none}.calendar_wrapper .calendar_grid .grid_body .grid_week .grid_cell{display:flex;width:100%}}.calendar_payment{display:flex}.calendar_payment .day{color:#87878E;font-size:26px;line-height:35px;font-weight:700;margin-right:50px}.calendar_payment .day span{display:block;font-size:50px;line-height:1;color:#000}.calendar_payment .payment_table{display:table;margin-top:12px}.calendar_payment .payment_table .table_row{display:table-row}.calendar_payment .payment_table .table_row .table_cell{display:table-cell;padding:2px 10px}.calendar_payment .payment_table .table_row .table_cell a{font-weight:700}.calendar_payment .payment_table .table_row.table_header .table_cell{color:#87878E;padding:12px 10px}@media all and (max-width:768px){.calendar_payment{display:block}}.acts_wrapper{display:flex;justify-content:space-between}.acts_wrapper .acts_list-checkbox,.acts_wrapper .reconciliation_form{width:calc(50% - 10px)}@media all and (max-width:768px){.acts_wrapper{flex-wrap:wrap}.acts_wrapper .acts_list-checkbox{width:100%;order:1;margin-bottom:40px}.acts_wrapper .reconciliation_form{order:2;width:100%}}main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail{margin:30px 0}main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail p{margin-bottom:10px}main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul{max-width:60%;display:flex;flex-wrap:wrap}main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul li{width:50%}.dropdown_block+.dosc_list{margin-top:20px}@media all and (max-width:768px){.dropdown_block+.dosc_list{margin-top:0;padding-top:20px;border-top:1px solid #EDEFF5}}/*# sourceMappingURL=./style.css.map */
\ No newline at end of file
+main {
+ overflow: hidden;
+ padding-top: 112px;
+}
+@media all and (max-width: 1280px) {
+ main {
+ padding-top: 86px;
+ }
+}
+main section.gray {
+ background: var(--inactive);
+}
+main .title_wrapper {
+ display: flex;
+ justify-content: space-between;
+ margin-bottom: 50px;
+}
+@media all and (max-width: 1280px) {
+ main .title_wrapper {
+ margin-bottom: 20px;
+ }
+}
+@media all and (max-width: 768px) {
+ main .title_wrapper {
+ flex-wrap: wrap;
+ }
+}
+main .title_wrapper h1,
+main .title_wrapper h2,
+main .title_wrapper h3,
+main .title_wrapper h4,
+main .title_wrapper h5 {
+ margin-bottom: 0;
+}
+@media all and (max-width: 768px) {
+ main .title_wrapper .section_title:not(:only-child) {
+ margin-right: 10px;
+ }
+}
+main .title_wrapper .title_link {
+ font-weight: 600;
+ display: inline-block;
+ margin-left: 55px;
+ align-self: flex-end;
+ line-height: 24px;
+}
+@media all and (max-width: 1280px) {
+ main .title_wrapper .title_link {
+ font-size: 13px;
+ margin-left: 12px;
+ line-height: 30px;
+ }
+}
+@media all and (max-width: 768px) {
+ main .title_wrapper .title_link {
+ margin-left: 0;
+ }
+}
+main .title_wrapper .left {
+ display: flex;
+}
+main .title_wrapper .right {
+ display: flex;
+}
+@media all and (max-width: 768px) {
+ main .title_wrapper .right {
+ width: 100%;
+ text-align: left;
+ margin-top: 8px;
+ }
+ main .title_wrapper .right p {
+ font-size: 10px;
+ line-height: 15px;
+ text-align: left;
+ }
+}
+main #main_slider {
+ height: 600px;
+ background: var(--gray-light);
+ padding: 0;
+ position: relative;
+}
+@media all and (max-width: 1279px) {
+ main #main_slider {
+ height: 395px;
+ }
+}
+main #main_slider .container {
+ position: relative;
+ height: 100%;
+ background: repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1) 1px, transparent 2px, transparent 20%);
+}
+@media all and (max-width: 768px) {
+ main #main_slider .container {
+ background: transparent;
+ }
+}
+main #main_slider .slider_active_title {
+ font-weight: bold;
+ font-size: 43px;
+ line-height: 63px;
+ letter-spacing: 2px;
+ color: #fff;
+ max-width: 560px;
+ position: absolute;
+ top: 55px;
+ left: 0;
+ text-transform: uppercase;
+ font-family: 'PF Din Display Pro Bold';
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_active_title {
+ font-size: 20px;
+ line-height: 35px;
+ max-width: 280px;
+ top: 25px;
+ }
+}
+main #main_slider .slider_list {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ display: flex;
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_list {
+ height: 135px;
+ }
+}
+@media all and (max-width: 768px) {
+ main #main_slider .slider_list {
+ display: none;
+ }
+}
+main #main_slider .slider_list .slider_item {
+ width: 20%;
+ max-width: 20%;
+ height: 300px;
+ padding: 15px 25px;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-end;
+ align-content: flex-end;
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_list .slider_item {
+ height: 135px;
+ padding: 15px 20px;
+ }
+}
+main #main_slider .slider_list .slider_item:after {
+ content: "";
+ display: block;
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ z-index: 1;
+ width: 100%;
+ height: 100%;
+ transform: translateY(100%);
+ transition: 175ms transform cubic-bezier(0.25, 0.46, 0.45, 0.94);
+}
+main #main_slider .slider_list .slider_item .item_name {
+ font-size: 24px;
+ line-height: 24px;
+ text-transform: uppercase;
+ color: #fff;
+ width: 100%;
+ display: flex;
+ height: 86px;
+ align-content: center;
+ align-items: center;
+ justify-content: space-between;
+ transition: 175ms transform cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ transform: translateY(57px);
+ position: relative;
+ z-index: 2;
+ margin-right: 15px;
+ font-family: 'PF Din Display Pro Bold';
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_list .slider_item .item_name {
+ font-size: 20px;
+ height: 80px;
+ }
+}
+main #main_slider .slider_list .slider_item .item_name:after {
+ content: "";
+ display: block;
+ width: 22px;
+ min-width: 22px;
+ height: 14px;
+ background: url("/assets/images/icons/slider_arrow.svg") no-repeat center;
+}
+main #main_slider .slider_list .slider_item a {
+ display: inline-block;
+ line-height: 40px;
+ color: #fff;
+ font-weight: 600;
+ transition: 175ms transform cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ transform: translateY(57px);
+ position: relative;
+ z-index: 2;
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_list .slider_item a {
+ font-size: 13px;
+ }
+}
+main #main_slider .slider_list .slider_item.active {
+ background: currentColor;
+}
+main #main_slider .slider_list .slider_item.active .item_name,
+main #main_slider .slider_list .slider_item.active a {
+ transform: translateY(0px);
+}
+main #main_slider .slider_list .slider_item.active .item_name:after {
+ width: 44px;
+ background: url("/assets/images/icons/slider_arrow-hover.svg") no-repeat center;
+ transform: rotate(-90deg) translate(15px, 15px);
+}
+@media all and (max-width: 1279px) {
+ main #main_slider .slider_list .slider_item.active .item_name:after {
+ transform: rotate(-90deg) translate(-15px, 15px);
+ }
+}
+main #main_slider .slider_list .slider_item:hover .item_name,
+main #main_slider .slider_list .slider_item:hover a {
+ transform: translateY(0px);
+}
+main #main_slider .slider_list .slider_item:hover:after {
+ transform: translateY(0px);
+ background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, currentColor 100%);
+}
+main #main_slider .slider_list .slider_navto {
+ width: 20%;
+ max-width: 20%;
+ height: 300px;
+}
+main #main_slider .slider_list .slider_navto a {
+ background: #fff;
+ width: 100%;
+ height: 100%;
+ clip-path: polygon(100% 0, 0% 100%, 100% 100%);
+ transition: 175ms background cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ box-sizing: border-box;
+ padding: 0 25px;
+ display: flex;
+ align-items: flex-end;
+ justify-content: flex-end;
+}
+main #main_slider .slider_list .slider_navto a:after {
+ content: "";
+ display: block;
+ width: 22px;
+ min-width: 22px;
+ height: 86px;
+ transition: 175ms all cubic-bezier(0.25, 0.46, 0.45, 0.94);
+ background: url("/assets/images/icons/slider_arrow-blue.svg") no-repeat center;
+}
+main #main_slider .slider_list .slider_navto a:hover {
+ background: #04a8a4;
+}
+main #main_slider .slider_list .slider_navto a:hover:after {
+ width: 90px;
+ background: url("/assets/images/icons/arrow-navto.svg") no-repeat center;
+}
+@media all and (max-width: 768px) {
+ main #calc {
+ background: #EDEFF5;
+ }
+}
+main #calc .container {
+ background: url("/assets/images/calc-bg.jpg") no-repeat right center #EDEFF5;
+ padding: 70px 25px;
+ position: relative;
+}
+main #calc .container:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: -100%;
+ width: 100%;
+ left: auto;
+ background-color: inherit;
+}
+@media all and (max-width: 1279px) {
+ main #calc .container {
+ padding: 50px 25px;
+ }
+}
+@media all and (max-width: 1280px) {
+ main #calc .container {
+ background: #EDEFF5;
+ }
+}
+@media all and (max-width: 768px) {
+ main #calc .container {
+ padding: 25px 0;
+ }
+}
+main #calc .calc_body {
+ display: flex;
+ justify-content: space-between;
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body {
+ display: block;
+ }
+}
+main #calc .calc_body .calc_settings {
+ width: 830px;
+}
+@media all and (max-width: 1420px) {
+ main #calc .calc_body .calc_settings {
+ width: calc(100% - 410px);
+ }
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_settings {
+ width: calc(50% - 15px);
+ }
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body .calc_settings {
+ width: 100%;
+ }
+}
+main #calc .calc_body .calc_settings .settings_box {
+ background: rgba(255, 255, 255, 0.6);
+ border-radius: 4px;
+ height: 57px;
+ margin-bottom: 80px;
+ position: relative;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: flex-end;
+ justify-content: space-between;
+ padding: 10px;
+}
+main #calc .calc_body .calc_settings .settings_box output[hidden] {
+ display: none;
+}
+main #calc .calc_body .calc_settings .settings_box:last-child {
+ margin-bottom: 20px;
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_settings .settings_box {
+ margin-bottom: 45px;
+ height: 48px;
+ padding: 8px;
+ }
+}
+main #calc .calc_body .calc_settings .settings_box p {
+ margin-bottom: 15px;
+ font-weight: 700;
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_settings .settings_box p {
+ font-size: 13px;
+ }
+}
+main #calc .calc_body .calc_settings .settings_box p.min {
+ position: absolute;
+ top: 65px;
+ font-weight: 400;
+ left: 10px;
+ margin: 0;
+}
+@media all and (max-width: 960px) {
+ main #calc .calc_body .calc_settings .settings_box p.min {
+ display: none;
+ }
+}
+main #calc .calc_body .calc_settings .settings_box p.max {
+ position: absolute;
+ top: 65px;
+ font-weight: 400;
+ right: 10px;
+ margin: 0;
+}
+@media all and (max-width: 960px) {
+ main #calc .calc_body .calc_settings .settings_box p.max {
+ top: 30px;
+ }
+}
+main #calc .calc_body .calc_settings .settings_box .line {
+ width: 100%;
+ background: rgba(142, 148, 167, 0.4);
+}
+@media all and (max-width: 960px) {
+ main #calc .calc_body .calc_settings .settings_box .line {
+ width: calc(100% - 55px);
+ }
+}
+main #calc .calc_body .calc_settings .settings_box .line,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal {
+ position: relative;
+ height: 5px;
+ z-index: 2;
+}
+main #calc .calc_body .calc_settings .settings_box .line .active_line,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .active_line,
+main #calc .calc_body .calc_settings .settings_box .line .rangeslider__fill,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__fill {
+ background: var(--blue);
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ height: 10px;
+}
+main #calc .calc_body .calc_settings .settings_box .line .dragble,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .dragble,
+main #calc .calc_body .calc_settings .settings_box .line .rangeslider__handle,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__handle {
+ width: 1px;
+ height: 16px;
+ cursor: pointer;
+ position: absolute;
+ top: 8px;
+ left: 0;
+}
+main #calc .calc_body .calc_settings .settings_box .line .dragble:after,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .dragble:after,
+main #calc .calc_body .calc_settings .settings_box .line .rangeslider__handle:after,
+main #calc .calc_body .calc_settings .settings_box .rangeslider.rangeslider--horizontal .rangeslider__handle:after {
+ content: "";
+ display: block;
+ transform: rotate(45deg) translate(-6px, 6px);
+ width: 16px;
+ height: 16px;
+ background: var(--blue);
+}
+main #calc .calc_body .calc_result {
+ width: 350px;
+ align-items: stretch;
+ align-content: stretch;
+ display: flex;
+ flex-wrap: wrap;
+}
+@media all and (max-width: 1420px) {
+ main #calc .calc_body .calc_result {
+ width: 320px;
+ }
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_result {
+ width: calc(50% - 15px);
+ }
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body .calc_result {
+ width: 100%;
+ margin-top: 35px;
+ }
+}
+main #calc .calc_body .calc_result .result_box {
+ width: 100%;
+}
+main #calc .calc_body .calc_result .result_box p {
+ font-weight: 700;
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_result .result_box p {
+ font-weight: 400;
+ font-size: 13px;
+ line-height: 20px;
+ margin-bottom: 20px;
+ }
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body .calc_result .result_box p {
+ margin-bottom: 8px;
+ }
+}
+main #calc .calc_body .calc_result .result_box p.price {
+ font-size: 41px;
+ line-height: 1;
+}
+main #calc .calc_body .calc_result .result_box p.price sup {
+ font-weight: 300;
+ font-size: 12px;
+ line-height: 18px;
+ color: #8E94A7;
+ vertical-align: super;
+}
+@media all and (max-width: 1279px) {
+ main #calc .calc_body .calc_result .result_box p.price {
+ font-size: 32px;
+ }
+}
+@media all and (max-width: 1280px) {
+ main #calc .calc_body .calc_result .result_box p.price {
+ font-size: 20px;
+ margin-bottom: 0;
+ font-weight: 700;
+ }
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body .calc_result .result_box {
+ width: 50%;
+ }
+}
+main #calc .calc_body .calc_result .button {
+ width: 100%;
+ align-self: center;
+}
+@media all and (max-width: 768px) {
+ main #calc .calc_body .calc_result .button {
+ margin-top: 30px;
+ margin-bottom: 15px;
+ }
+}
+main #calc .calc_body .calc_result .secondary {
+ align-self: flex-end;
+}
+main .news_arrows {
+ display: flex;
+ align-content: center;
+}
+@media all and (max-width: 1280px) {
+ main .news_arrows {
+ display: none !important;
+ }
+}
+main .news_arrows button {
+ width: 97px;
+ height: 28px;
+ background-color: var(--blue);
+ box-sizing: border-box;
+ padding: 0 10px;
+ transition: 175ms background ease-in-out;
+}
+main .news_arrows button svg {
+ width: 8px;
+ height: 12px;
+ margin-left: auto;
+}
+main .news_arrows button svg path {
+ stroke: #fff;
+ transition: 175ms stroke ease-in-out;
+}
+main .news_arrows button:disabled,
+main .news_arrows button.slick-disabled {
+ cursor: default;
+ background-color: var(--inactive);
+ background-position: center;
+}
+main .news_arrows button:disabled svg,
+main .news_arrows button.slick-disabled svg {
+ margin-left: 0;
+}
+main .news_arrows button:disabled svg path,
+main .news_arrows button.slick-disabled svg path {
+ stroke: #8E94A7;
+}
+@media all and (max-width: 768px) {
+ main #news .news_slider_wrapper {
+ margin: 0 -16px;
+ }
+}
+main .news_list,
+main .career_list {
+ display: flex;
+ white-space: nowrap;
+ width: 100%;
+}
+main .news_list .slick-list,
+main .career_list .slick-list {
+ width: 100%;
+}
+main .news_list .slick-list .slick-track,
+main .career_list .slick-list .slick-track {
+ white-space: nowrap;
+ display: flex;
+ padding-right: 100px;
+}
+main .news_list .slick-list .slick-track:after,
+main .career_list .slick-list .slick-track:after {
+ content: "";
+ display: block;
+ width: 365px;
+ min-width: 365px;
+ height: 200px;
+}
+main .news_list .news_item,
+main .career_list .news_item,
+main .news_list .career_item,
+main .career_list .career_item {
+ width: 365px;
+ min-width: 365px;
+ padding: 35px 20px;
+ background: #EDEFF5;
+ position: relative;
+}
+@media all and (max-width: 1280px) {
+ main .news_list .news_item,
+ main .career_list .news_item,
+ main .news_list .career_item,
+ main .career_list .career_item {
+ width: 214px;
+ min-width: 214px;
+ padding: 25px 15px;
+ }
+}
+@media all and (max-width: 768px) {
+ main .news_list .news_item,
+ main .career_list .news_item,
+ main .news_list .career_item,
+ main .career_list .career_item {
+ margin-right: 1px;
+ }
+}
+main .news_list .news_item p,
+main .career_list .news_item p,
+main .news_list .career_item p,
+main .career_list .career_item p {
+ white-space: normal;
+ margin-bottom: 22px;
+ line-height: 24px;
+ transition: 175ms color ease-in-out;
+}
+main .news_list .news_item .news_date,
+main .career_list .news_item .news_date,
+main .news_list .career_item .news_date,
+main .career_list .career_item .news_date {
+ margin-bottom: 35px;
+}
+@media all and (max-width: 1280px) {
+ main .news_list .news_item .news_date,
+ main .career_list .news_item .news_date,
+ main .news_list .career_item .news_date,
+ main .career_list .career_item .news_date {
+ margin-bottom: 15px;
+ }
+}
+main .news_list .news_item img,
+main .career_list .news_item img,
+main .news_list .career_item img,
+main .career_list .career_item img {
+ display: block;
+ margin-bottom: 22px;
+ object-fit: cover;
+}
+@media all and (max-width: 1280px) {
+ main .news_list .news_item img,
+ main .career_list .news_item img,
+ main .news_list .career_item img,
+ main .career_list .career_item img {
+ height: 178px;
+ width: 100%;
+ margin-bottom: 15px;
+ }
+}
+main .news_list .news_item .news_title,
+main .career_list .news_item .news_title,
+main .news_list .career_item .news_title,
+main .career_list .career_item .news_title,
+main .news_list .news_item .career_title,
+main .career_list .news_item .career_title,
+main .news_list .career_item .career_title,
+main .career_list .career_item .career_title {
+ color: #0C0C0C;
+ font-size: 24px;
+ line-height: 28px;
+ font-weight: 700;
+}
+@media all and (max-width: 1280px) {
+ main .news_list .news_item .news_title,
+ main .career_list .news_item .news_title,
+ main .news_list .career_item .news_title,
+ main .career_list .career_item .news_title,
+ main .news_list .news_item .career_title,
+ main .career_list .news_item .career_title,
+ main .news_list .career_item .career_title,
+ main .career_list .career_item .career_title {
+ font-size: 19px;
+ line-height: 26px;
+ margin-bottom: 15px;
+ }
+}
+main .news_list .news_item .news_link,
+main .career_list .news_item .news_link,
+main .news_list .career_item .news_link,
+main .career_list .career_item .news_link,
+main .news_list .news_item .career_link,
+main .career_list .news_item .career_link,
+main .news_list .career_item .career_link,
+main .career_list .career_item .career_link {
+ margin-bottom: 0;
+ color: var(--blue);
+}
+@media all and (max-width: 1280px) {
+ main .news_list .news_item .news_link,
+ main .career_list .news_item .news_link,
+ main .news_list .career_item .news_link,
+ main .career_list .career_item .news_link,
+ main .news_list .news_item .career_link,
+ main .career_list .news_item .career_link,
+ main .news_list .career_item .career_link,
+ main .career_list .career_item .career_link {
+ font-weight: 700;
+ font-size: 13px;
+ }
+}
+main .news_list .news_item a,
+main .career_list .news_item a,
+main .news_list .career_item a,
+main .career_list .career_item a {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ z-index: 3;
+}
+main .news_list .news_item:after,
+main .career_list .news_item:after,
+main .news_list .career_item:after,
+main .career_list .career_item:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: -24px;
+ left: 0;
+ right: 0;
+ bottom: -24px;
+ opacity: 0;
+ visibility: hidden;
+ transition: 175ms all ease-in-out;
+}
+main .news_list .news_item:hover,
+main .career_list .news_item:hover,
+main .news_list .career_item:hover,
+main .career_list .career_item:hover {
+ z-index: 2;
+}
+main .news_list .news_item:hover:after,
+main .career_list .news_item:hover:after,
+main .news_list .career_item:hover:after,
+main .career_list .career_item:hover:after {
+ opacity: 1;
+ visibility: visible;
+ background: var(--green);
+ z-index: 0;
+}
+main .news_list .news_item:hover p,
+main .career_list .news_item:hover p,
+main .news_list .career_item:hover p,
+main .career_list .career_item:hover p,
+main .news_list .news_item:hover img,
+main .career_list .news_item:hover img,
+main .news_list .career_item:hover img,
+main .career_list .career_item:hover img {
+ color: #fff;
+ z-index: 2;
+ position: relative;
+}
+main .news_list .news_item:hover .news_date:after,
+main .career_list .news_item:hover .news_date:after,
+main .news_list .career_item:hover .news_date:after,
+main .career_list .career_item:hover .news_date:after {
+ content: "";
+ position: absolute;
+ bottom: -8px;
+ height: 2px;
+ left: 0;
+ right: 0;
+ background: linear-gradient(to right, #ffffff 0%, rgba(255, 255, 255, 0) 100%);
+}
+main .news_list.masongry_columns,
+main .career_list.masongry_columns {
+ display: flex;
+ justify-content: space-between;
+}
+main .news_list.masongry_columns .column,
+main .career_list.masongry_columns .column {
+ width: calc(50% - 15px);
+}
+main .news_list.masongry_columns .news_item,
+main .career_list.masongry_columns .news_item,
+main .news_list.masongry_columns .career_item,
+main .career_list.masongry_columns .career_item {
+ width: 100%;
+ margin-bottom: 30px;
+}
+@media all and (max-width: 768px) {
+ main .news_list.masongry_columns,
+ main .career_list.masongry_columns {
+ display: block;
+ }
+ main .news_list.masongry_columns .column,
+ main .career_list.masongry_columns .column {
+ width: 100%;
+ }
+}
+main .programs_list,
+main .services_list {
+ display: flex;
+ flex-wrap: wrap;
+}
+@media all and (max-width: 1280px) {
+ main .programs_list,
+ main .services_list {
+ justify-content: space-between;
+ }
+}
+main .programs_list .program_item,
+main .services_list .program_item,
+main .programs_list .service_item,
+main .services_list .service_item {
+ margin-top: 40px;
+ margin-bottom: 40px;
+ width: calc(25% - 23px);
+ position: relative;
+ background: #EDEFF5;
+ transform-origin: left;
+ transition: all 175ms ease-in-out;
+ height: 390px;
+}
+@media all and (max-width: 1420px) {
+ main .programs_list .program_item,
+ main .services_list .program_item,
+ main .programs_list .service_item,
+ main .services_list .service_item {
+ overflow: hidden;
+ }
+}
+@media all and (max-width: 1280px) {
+ main .programs_list .program_item,
+ main .services_list .program_item,
+ main .programs_list .service_item,
+ main .services_list .service_item {
+ width: calc(50% - 15px);
+ margin-right: 0 !important;
+ margin-bottom: 30px;
+ margin-top: 0;
+ height: 258px;
+ overflow: hidden;
+ }
+}
+@media all and (max-width: 768px) {
+ main .programs_list .program_item,
+ main .services_list .program_item,
+ main .programs_list .service_item,
+ main .services_list .service_item {
+ width: 100%;
+ }
+}
+main .programs_list .program_item:after,
+main .services_list .program_item:after,
+main .programs_list .service_item:after,
+main .services_list .service_item:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background: #eeeff4;
+ z-index: 0;
+ transition: all 125ms ease-in-out;
+}
+main .programs_list .program_item a,
+main .services_list .program_item a,
+main .programs_list .service_item a,
+main .services_list .service_item a {
+ height: 100%;
+ display: block;
+ box-sizing: border-box;
+ padding: 36px 18px;
+ position: relative;
+ z-index: 2;
+}
+@media all and (max-width: 1280px) {
+ main .programs_list .program_item a,
+ main .services_list .program_item a,
+ main .programs_list .service_item a,
+ main .services_list .service_item a {
+ padding: 24px 18px;
+ }
+}
+main .programs_list .program_item a span,
+main .services_list .program_item a span,
+main .programs_list .service_item a span,
+main .services_list .service_item a span {
+ display: inline-block;
+}
+main .programs_list .program_item:not(:nth-child(4n)),
+main .services_list .program_item:not(:nth-child(4n)),
+main .programs_list .service_item:not(:nth-child(4n)),
+main .services_list .service_item:not(:nth-child(4n)) {
+ margin-right: 30px;
+}
+main .programs_list .program_item .program_name,
+main .services_list .program_item .program_name,
+main .programs_list .service_item .program_name,
+main .services_list .service_item .program_name,
+main .programs_list .program_item .service_name,
+main .services_list .program_item .service_name,
+main .programs_list .service_item .service_name,
+main .services_list .service_item .service_name {
+ font-weight: 700;
+ font-size: 26px;
+ line-height: 36px;
+ color: #000;
+ position: relative;
+ z-index: 2;
+ transform: translateY(0px);
+ transition: 125ms transform ease-in-out;
+ max-width: 70%;
+}
+@media all and (max-width: 1280px) {
+ main .programs_list .program_item .program_name,
+ main .services_list .program_item .program_name,
+ main .programs_list .service_item .program_name,
+ main .services_list .service_item .program_name,
+ main .programs_list .program_item .service_name,
+ main .services_list .program_item .service_name,
+ main .programs_list .service_item .service_name,
+ main .services_list .service_item .service_name {
+ font-size: 19px;
+ line-height: 26px;
+ }
+}
+main .programs_list .program_item .program_link,
+main .services_list .program_item .program_link,
+main .programs_list .service_item .program_link,
+main .services_list .service_item .program_link,
+main .programs_list .program_item .service_link,
+main .services_list .program_item .service_link,
+main .programs_list .service_item .service_link,
+main .services_list .service_item .service_link {
+ position: absolute;
+ right: 0px;
+ bottom: -10px;
+ color: var(--blue);
+ font-weight: 600;
+ font-size: 15px;
+ line-height: 20px;
+ opacity: 0;
+ z-index: 2;
+ transform: translate(0, 0);
+ transition: 125ms all ease-in-out;
+}
+main .programs_list .program_item img,
+main .services_list .program_item img,
+main .programs_list .service_item img,
+main .services_list .service_item img {
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ transform: translate(0, 0);
+ transition: 125ms all ease-in-out;
+}
+@media all and (max-width: 1420px) and (min-width: 1280px) {
+ main .programs_list .program_item img,
+ main .services_list .program_item img,
+ main .programs_list .service_item img,
+ main .services_list .service_item img {
+ max-width: 100%;
+ }
+}
+@media all and (max-width: 1280px) {
+ main .programs_list .program_item img,
+ main .services_list .program_item img,
+ main .programs_list .service_item img,
+ main .services_list .service_item img {
+ max-height: 120%;
+ }
+}
+@media all and (min-width: 1280px) {
+ main .programs_list .program_item:hover,
+ main .services_list .program_item:hover,
+ main .programs_list .service_item:hover,
+ main .services_list .service_item:hover {
+ overflow: visible;
+ }
+ main .programs_list .program_item:hover:after,
+ main .services_list .program_item:hover:after,
+ main .programs_list .service_item:hover:after,
+ main .services_list .service_item:hover:after {
+ top: -35px;
+ right: -20px;
+ bottom: -35px;
+ }
+ main .programs_list .program_item:hover img,
+ main .services_list .program_item:hover img,
+ main .programs_list .service_item:hover img,
+ main .services_list .service_item:hover img {
+ transform: translate(20px, -35px);
+ }
+ main .programs_list .program_item:hover .program_name,
+ main .services_list .program_item:hover .program_name,
+ main .programs_list .service_item:hover .program_name,
+ main .services_list .service_item:hover .program_name,
+ main .programs_list .program_item:hover .service_name,
+ main .services_list .program_item:hover .service_name,
+ main .programs_list .service_item:hover .service_name,
+ main .services_list .service_item:hover .service_name {
+ transform: translateY(-30px);
+ }
+ main .programs_list .program_item:hover .program_link,
+ main .services_list .program_item:hover .program_link,
+ main .programs_list .service_item:hover .program_link,
+ main .services_list .service_item:hover .program_link,
+ main .programs_list .program_item:hover .service_link,
+ main .services_list .program_item:hover .service_link,
+ main .programs_list .service_item:hover .service_link,
+ main .services_list .service_item:hover .service_link {
+ opacity: 1;
+ transform: translate(-10px, -10px);
+ }
+}
+main .services_list {
+ justify-content: center;
+}
+@media all and (max-width: 1280px) {
+ main .services_list {
+ justify-content: space-between;
+ }
+}
+main .services_list .service_item {
+ width: calc(33.333% - 20px);
+}
+main .services_list .service_item:after {
+ background: #f1f2f7;
+}
+main .services_list .service_item .service_name {
+ max-width: 50%;
+}
+main .services_list .service_item:not(:nth-child(3n)) {
+ margin-right: 30px;
+}
+main .services_list .service_item:nth-child(3n) {
+ margin-right: 0;
+}
+main .services_list .service_item:nth-child(4n) {
+ margin-right: 30px;
+}
+@media all and (max-width: 1280px) {
+ main .services_list .service_item {
+ width: calc(50% - 15px);
+ }
+ main .services_list .service_item img {
+ max-height: 100%;
+ }
+}
+@media all and (max-width: 768px) {
+ main .services_list .service_item {
+ width: 100%;
+ }
+}
+main .special_list {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+}
+main .special_list .special_item {
+ position: relative;
+ width: calc(50% - 18px);
+ min-width: calc(50% - 18px);
+ margin-bottom: 80px;
+}
+main .special_list .special_item a {
+ display: block;
+ color: #0C0C0C;
+ position: relative;
+ z-index: 2;
+ box-sizing: border-box;
+ padding: 25px calc(50% + 20px) 25px 20px;
+}
+main .special_list .special_item a .special_name {
+ font-size: 26px;
+ line-height: 35px;
+ font-weight: 700;
+ color: #0C0C0C;
+ margin-bottom: 25px;
+ display: block;
+ transition: all 220ms ease-in-out;
+}
+main .special_list .special_item a .speacial_text {
+ display: block;
+ margin-bottom: 10px;
+ font-weight: 700;
+ color: #0C0C0C;
+ transform: translate(0px, 0px);
+ transition: all 220ms ease-in-out;
+}
+main .special_list .special_item a .special_desc {
+ font-size: 15px;
+ line-height: 24px;
+ transform: translate(0px, 0px);
+ transition: all 220ms ease-in-out;
+}
+main .special_list .special_item a .special_link {
+ display: inline-block;
+ font-weight: 600;
+ opacity: 0;
+ transform: translate(10px, 10px);
+ transition: all 220ms ease-in-out;
+ color: #fff;
+}
+main .special_list .special_item:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 20px;
+ bottom: 30px;
+ right: 30px;
+ left: 30%;
+ transition: all 220ms ease-in-out;
+ background: var(--inactive);
+ z-index: 0;
+}
+main .special_list .special_item img {
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ width: 50%;
+ height: 100%;
+ right: 0;
+ object-fit: cover;
+ z-index: 1;
+}
+@media all and (min-width: 1280px) {
+ main .special_list .special_item:hover a .special_name {
+ color: #fff;
+ }
+ main .special_list .special_item:hover a .speacial_text,
+ main .special_list .special_item:hover a .special_desc {
+ transform: translate(0px, -10px);
+ color: #fff;
+ }
+ main .special_list .special_item:hover a .special_link {
+ opacity: 1;
+ color: #fff;
+ transform: translate(0px, 0px);
+ }
+ main .special_list .special_item:hover:after {
+ background: var(--green);
+ top: 0;
+ left: 0;
+ bottom: 0;
+ }
+}
+@media all and (max-width: 1280px) {
+ main .special_list .special_item {
+ width: calc(50% - 15px);
+ min-width: calc(50% - 15px);
+ margin-bottom: 30px;
+ }
+ main .special_list .special_item a {
+ padding: 30px 0 0 0;
+ display: flex;
+ flex-wrap: wrap;
+ }
+ main .special_list .special_item a .special_name {
+ font-size: 19px;
+ line-height: 26px;
+ }
+ main .special_list .special_item a .special_desc {
+ font-size: 13px;
+ line-height: 20px;
+ width: 100%;
+ }
+ main .special_list .special_item a .speacial_text {
+ width: 100%;
+ }
+ main .special_list .special_item a .special_link {
+ opacity: 1;
+ transform: translate(0, 0);
+ color: var(--blue);
+ }
+ main .special_list .special_item a img {
+ position: relative;
+ width: 100%;
+ height: 155px;
+ object-fit: cover;
+ object-position: center;
+ }
+ main .special_list .special_item:after {
+ width: 182px;
+ top: 0;
+ left: auto;
+ right: 0;
+ height: 120px;
+ }
+}
+@media all and (max-width: 768px) {
+ main .special_list .special_item {
+ width: 100%;
+ min-width: 100%;
+ margin-bottom: 25px;
+ }
+}
+main .special_list.swiped {
+ flex-wrap: unset;
+ white-space: nowrap;
+}
+main .special_list.swiped .special_item {
+ margin-top: 30px;
+ margin-bottom: 30px;
+ margin-right: 30px;
+}
+main .special_list.swiped .special_item > * {
+ white-space: normal;
+}
+main .special_list.swiped .special_item a .special_link {
+ color: var(--blue);
+ opacity: 1;
+}
+main .special_list.swiped .special_item:hover a .special_link {
+ color: #fff;
+}
+main .brand_select {
+ max-width: 306px;
+ margin-left: auto;
+ margin-top: 35px;
+ margin-bottom: 35px;
+}
+@media all and (max-width: 768px) {
+ main .brand_select {
+ max-width: 100%;
+ margin-top: 10px;
+ margin-bottom: 25px;
+ }
+}
+main .special_detail .special_offer {
+ position: relative;
+ padding: 25px calc(100% - 390px) 0 25px;
+ margin-bottom: 45px;
+}
+main .special_detail .special_offer h2 {
+ font-size: 26px;
+ line-height: 35px;
+ color: #0C0C0C;
+ font-weight: 700;
+ margin-bottom: 25px;
+}
+main .special_detail .special_offer h2 span {
+ color: #A8026B;
+ font-size: 58px;
+ line-height: 58px;
+}
+main .special_detail .special_offer h2 mark {
+ color: #A8026B;
+ background: transparent;
+}
+main .special_detail .special_offer .button {
+ width: 100%;
+ margin-top: 40px;
+}
+main .special_detail .special_offer:after {
+ content: "";
+ display: block;
+ position: absolute;
+ z-index: 1;
+ left: 420px;
+ top: 15px;
+ bottom: 25px;
+ right: 0;
+ background: var(--inactive);
+}
+main .special_detail .special_offer img {
+ display: block;
+ height: 100%;
+ width: calc(100% - 502px);
+ position: absolute;
+ right: 0;
+ bottom: 0;
+ z-index: 2;
+ object-fit: cover;
+}
+@media all and (max-width: 1420px) {
+ main .special_detail .special_offer {
+ padding-left: 0;
+ }
+}
+@media all and (max-width: 1280px) {
+ main .special_detail .special_offer {
+ padding: 0 calc(50% + 15px) 0 0;
+ }
+ main .special_detail .special_offer h2 {
+ font-size: 19px;
+ line-height: 26px;
+ width: 100%;
+ order: 2;
+ margin-bottom: 0;
+ }
+ main .special_detail .special_offer h2 span {
+ font-size: 19px;
+ line-height: 26px;
+ }
+ main .special_detail .special_offer img {
+ width: calc(50% - 15px);
+ }
+ main .special_detail .special_offer:after {
+ left: calc(50% - 120px);
+ z-index: -1;
+ }
+}
+@media all and (max-width: 768px) {
+ main .special_detail .special_offer {
+ padding: 0;
+ display: flex;
+ flex-wrap: wrap;
+ }
+ main .special_detail .special_offer img {
+ order: 1;
+ width: 100%;
+ position: relative;
+ height: 155px;
+ margin-bottom: 10px;
+ }
+ main .special_detail .special_offer .list-column {
+ order: 3;
+ margin-top: 20px;
+ margin-bottom: 30px;
+ }
+ main .special_detail .special_offer button.button {
+ order: 4;
+ margin-top: 0;
+ }
+ main .special_detail .special_offer:after {
+ width: 182px;
+ left: auto;
+ right: 0;
+ top: 0;
+ bottom: 50px;
+ z-index: -1;
+ }
+}
+main .special_detail .special_offer-text {
+ margin-bottom: 80px;
+ padding: 0 25px;
+}
+@media all and (max-width: 768px) {
+ main .special_detail .special_offer-text {
+ padding: 0;
+ margin-bottom: 40px;
+ }
+}
+main .special_detail .aside_container {
+ margin-top: 60px;
+}
+@media all and (max-width: 768px) {
+ main .special_detail .aside_container {
+ margin-top: 30px;
+ padding-top: 30px;
+ border-top: 1px solid #EDEFF5;
+ }
+}
+main .leasing_offer h3 {
+ padding: 0 25px;
+ margin-bottom: 15px;
+ font-size: 26px;
+ line-height: 35px;
+}
+@media all and (max-width: 768px) {
+ main .leasing_offer h3 {
+ padding: 0;
+ font-size: 17px;
+ line-height: 24px;
+ }
+}
+main .leasing_offer .leasing_list {
+ display: flex;
+ flex-wrap: wrap;
+}
+main .leasing_offer .leasing_list .leasing_item {
+ width: calc(33.333% - 20px);
+ margin-bottom: 30px;
+}
+main .leasing_offer .leasing_list .leasing_item:not(:nth-child(3n)) {
+ margin-right: 30px;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper {
+ display: block;
+ padding-bottom: 35px;
+ background: #fff;
+ transition: background-color 175ms ease-in-out;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper img {
+ display: block;
+ width: 100%;
+ height: 220px;
+ object-fit: cover;
+ margin-bottom: 30px;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper span {
+ display: block;
+ color: #000;
+ transition: color 175ms ease-in-out;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_model {
+ padding: 0 30px;
+ margin-bottom: 5px;
+ font-weight: 700;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_desc {
+ padding: 0 30px;
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover {
+ background: var(--green);
+}
+main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover .leasing_model,
+main .leasing_offer .leasing_list .leasing_item .item_wrapper:hover .leasing_desc {
+ color: #fff;
+}
+@media all and (max-width: 1280px) {
+ main .leasing_offer .leasing_list {
+ overflow-x: scroll;
+ flex-wrap: unset;
+ margin-right: -80px;
+ }
+ main .leasing_offer .leasing_list .leasing_item {
+ min-width: 210px;
+ margin-right: 5px !important;
+ }
+ main .leasing_offer .leasing_list .leasing_item .item_wrapper {
+ padding-bottom: 12px;
+ }
+ main .leasing_offer .leasing_list .leasing_item .item_wrapper img {
+ margin-bottom: 12px;
+ height: 135px;
+ }
+ main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_model,
+ main .leasing_offer .leasing_list .leasing_item .item_wrapper .leasing_desc {
+ padding: 0 18px;
+ }
+}
+@media all and (max-width: 768px) {
+ main .leasing_offer .leasing_list {
+ margin: 0 -16px;
+ padding: 0 16px;
+ }
+}
+main .leasing_offer .leasing_offer-detail {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 100px;
+}
+main .leasing_offer .leasing_offer-detail .image_slider {
+ height: 425px;
+ width: calc(100% - 560px);
+}
+main .leasing_offer .leasing_offer-detail .image_slider .slide {
+ height: 100%;
+}
+main .leasing_offer .leasing_offer-detail .image_slider .slide img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+main .leasing_offer .leasing_offer-detail .offer_desc {
+ width: 530px;
+ padding-bottom: 40px;
+ position: relative;
+}
+main .leasing_offer .leasing_offer-detail .offer_desc .offer_name {
+ font-size: 26px;
+ line-height: 35px;
+ text-transform: uppercase;
+ font-weight: 700;
+ margin-bottom: 30px;
+}
+main .leasing_offer .leasing_offer-detail .offer_desc ul {
+ margin-bottom: 20px;
+}
+main .leasing_offer .leasing_offer-detail .offer_desc ul li {
+ line-height: 25px;
+}
+main .leasing_offer .leasing_offer-detail .offer_desc .button {
+ margin-top: 40px;
+ width: 390px;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+}
+@media all and (max-width: 1280px) {
+ main .leasing_offer .leasing_offer-detail .image_slider {
+ height: 300px;
+ }
+ main .leasing_offer .leasing_offer-detail .image_slider,
+ main .leasing_offer .leasing_offer-detail .offer_desc {
+ width: calc(50% - 15px);
+ }
+ main .leasing_offer .leasing_offer-detail .image_slider .button,
+ main .leasing_offer .leasing_offer-detail .offer_desc .button {
+ position: relative;
+ }
+}
+@media all and (max-width: 768px) {
+ main .leasing_offer .leasing_offer-detail {
+ margin-top: 18px;
+ display: block;
+ }
+ main .leasing_offer .leasing_offer-detail .image_slider {
+ width: 100%;
+ height: 168px;
+ }
+ main .leasing_offer .leasing_offer-detail .offer_desc {
+ width: 100%;
+ padding-bottom: 0;
+ }
+ main .leasing_offer .leasing_offer-detail .offer_desc .offer_name {
+ font-size: 19px;
+ line-height: 26px;
+ margin-bottom: 13px;
+ }
+ main .leasing_offer .leasing_offer-detail .offer_desc .button {
+ width: 100%;
+ position: relative;
+ }
+}
+main .faq_search {
+ margin-bottom: 40px;
+}
+main .faq_search .form_field {
+ width: 100%;
+ max-width: 635px;
+ margin-left: auto;
+}
+main .dropdown_blocks_list.zero-margin {
+ margin-left: -30px;
+ border-left: 1px solid #EDEFF5;
+ border-right: 1px solid #EDEFF5;
+}
+main .dropdown_blocks_list.zero-margin .dropdown_block {
+ border-bottom: 0 !important;
+ position: relative;
+}
+main .dropdown_blocks_list.zero-margin .dropdown_block:after {
+ content: "";
+ display: block;
+ width: auto;
+ height: 1px;
+ background: #EDEFF5;
+ position: absolute;
+ bottom: 0;
+ left: 32px;
+ right: 32px;
+}
+main .dropdown_blocks_list.zero-margin .dropdown_block .block_header {
+ padding-left: 30px;
+ padding-right: 30px;
+}
+main .dropdown_blocks_list.zero-margin .dropdown_block .block_body {
+ margin-left: 85px;
+ max-width: 755px;
+ overflow: hidden;
+}
+@media all and (max-width: 1279px) {
+ main .dropdown_blocks_list.zero-margin {
+ border: 0;
+ margin-left: 0;
+ }
+ main .dropdown_blocks_list.zero-margin .dropdown_block:after {
+ left: 0;
+ right: 0;
+ }
+ main .dropdown_blocks_list.zero-margin .dropdown_block .block_header {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+ main .dropdown_blocks_list.zero-margin .dropdown_block .block_body {
+ margin-left: 0;
+ padding-left: 5px;
+ }
+}
+main .dropdown_blocks_list .dropdown_block:not(:last-child) {
+ border-bottom: 1px solid #EDEFF5;
+}
+main .dropdown_blocks_list .dropdown_block.bt {
+ border-bottom: 0;
+ border-top: 1px solid #EDEFF5;
+}
+main .dropdown_blocks_list .dropdown_block .block_header {
+ padding: 15px 0;
+ height: 70px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+main .dropdown_blocks_list .dropdown_block .block_header p {
+ margin-bottom: 0;
+ margin-right: 20px;
+ font-weight: 700;
+}
+main .dropdown_blocks_list .dropdown_block .block_header p.with-icon {
+ display: inline-flex;
+ align-items: center;
+}
+main .dropdown_blocks_list .dropdown_block .block_header p.with-icon img {
+ margin-right: 20px;
+}
+main .dropdown_blocks_list .dropdown_block .block_header button {
+ width: 22px;
+ height: 22px;
+ min-width: 22px;
+ cursor: pointer;
+ background: url("/assets/images/icons/dropdown-blue.svg") no-repeat center;
+}
+main .dropdown_blocks_list .dropdown_block .block_body {
+ display: none;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .company {
+ display: flex;
+ margin-bottom: 30px;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .company .title {
+ text-transform: uppercase;
+ font-size: 26px;
+ line-height: 35px;
+ font-weight: 700;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .company ul {
+ margin-left: 80px;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .company ul li {
+ line-height: 1.5;
+ margin-bottom: 6px;
+}
+main .dropdown_blocks_list .dropdown_block.open .block_header button {
+ background: url("/assets/images/icons/close-blue.svg") no-repeat center;
+}
+main .dropdown_blocks_list .dropdown_block.open .block_body {
+ display: block;
+ margin-top: 25px;
+}
+main .dropdown_blocks_list .dropdown_block.open .block_body p {
+ margin-bottom: 35px;
+}
+@media all and (max-width: 768px) {
+ main .dropdown_blocks_list .dropdown_block.open .block_body p {
+ margin-bottom: 15px;
+ }
+}
+main .dropdown_blocks_list.filled .dropdown_block.open .block_header {
+ background: var(--inactive);
+ color: var(--blue);
+}
+main aside .aside_nav {
+ list-style: none;
+ padding: 0;
+ margin: 0 0 30px 0;
+}
+main aside .aside_nav li {
+ margin-bottom: 8px;
+}
+main aside .aside_nav li a {
+ display: flex;
+ align-items: center;
+ min-height: 56px;
+ color: #000;
+ font-size: 15px;
+ line-height: 23px;
+ font-weight: 700;
+ box-sizing: border-box;
+ padding: 0 15px;
+}
+main aside .aside_nav li a.active {
+ background: var(--green);
+ color: #fff;
+ font-weight: 700;
+}
+@media all and (max-width: 1280px) {
+ main aside .aside_nav {
+ display: flex;
+ margin-left: -16px;
+ margin-right: -16px;
+ overflow-x: auto;
+ padding-left: 16px;
+ padding-right: 16px;
+ }
+ main aside .aside_nav li {
+ background: #EDEFF5;
+ margin-bottom: 0;
+ }
+ main aside .aside_nav li a {
+ white-space: nowrap;
+ font-size: 13px;
+ line-height: 20px;
+ min-height: 40px;
+ font-weight: 400;
+ }
+}
+main aside .button {
+ width: 100%;
+}
+main #order .container {
+ padding-bottom: 180px;
+}
+@media all and (max-width: 1280px) {
+ main #order .container {
+ padding-bottom: 60px;
+ }
+}
+@media all and (max-width: 768px) {
+ main #order {
+ background: #EDEFF5;
+ }
+ main #order .container {
+ padding: 40px 0 0 0;
+ }
+}
+.model_container {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ margin-top: 60px;
+}
+.model_container .col {
+ width: calc(50% - 15px);
+}
+.model_container .col img {
+ max-width: 100%;
+}
+.model_container .col .model_desc {
+ margin-top: 35px;
+}
+.model_container .col .model_desc p {
+ margin-bottom: 10px;
+}
+.model_container #calc {
+ background: var(--inactive);
+ padding: 35px 30px;
+ position: relative;
+}
+.model_container #calc:after {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ right: -100%;
+ bottom: 0;
+ width: 100%;
+ background: inherit;
+}
+.model_container #calc .calc_body {
+ flex-wrap: wrap;
+}
+.model_container #calc .calc_body .calc_settings {
+ width: 100%;
+ margin-bottom: 35px;
+}
+.model_container #calc .calc_body .calc_result {
+ width: 100%;
+}
+.model_container #calc .calc_body .calc_result .result_box {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-bottom: 15px;
+}
+.model_container #calc .calc_body .calc_result .result_box p {
+ font-weight: 400;
+}
+.model_container #calc .calc_body .calc_result .result_box.bolder {
+ margin-bottom: 35px;
+}
+.model_container #calc .calc_body .calc_result .result_box.bolder p {
+ font-weight: 700;
+ font-size: 26px;
+ line-height: 35px;
+}
+.model_container #calc .calc_body .calc_result .calc_footer {
+ width: 100%;
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+ margin-top: 20px;
+}
+.model_container #calc .calc_body .calc_result .calc_footer .button {
+ width: calc(50% - 13px);
+ padding: 0;
+ font-weight: 400;
+}
+.model_container .aside_container {
+ width: 100%;
+ margin-top: 0px;
+ border-top: 1px solid #EDEFF5;
+}
+.model_container .aside_container aside {
+ width: 305px;
+ padding-top: 40px;
+}
+.model_container .aside_container article {
+ width: calc(100% - 305px);
+ padding-top: 40px;
+ border-left: 1px solid #EDEFF5;
+}
+.model_container .aside_container article .dropdown_blocks_list .dropdown_block {
+ padding: 0 40px;
+}
+@media all and (max-width: 768px) {
+ .model_container {
+ margin-top: 20px;
+ }
+ .model_container .col {
+ width: 100%;
+ margin-bottom: 10px;
+ }
+ .model_container .col img {
+ margin: 0 -16px;
+ width: calc(100% + 32px);
+ }
+ .model_container .col .model_desc {
+ margin-top: 12px;
+ }
+ .model_container .col #calc {
+ margin: 0 -16px;
+ padding: 25px 16px;
+ }
+ .model_container .col #calc .calc_body .calc_result .result_box.bolder p {
+ font-size: 19px;
+ line-height: 26px;
+ }
+ .model_container .col #calc .calc_body .calc_result .calc_footer {
+ margin-top: 0;
+ display: block;
+ }
+ .model_container .col #calc .calc_body .calc_result .calc_footer button {
+ width: 100%;
+ margin-bottom: 0;
+ }
+ .model_container .col #calc .calc_body .calc_result .calc_footer button:first-child {
+ margin-top: 0;
+ }
+ .model_container .aside_container {
+ border-top: 0;
+ }
+ .model_container .aside_container aside {
+ display: none;
+ }
+ .model_container .aside_container article {
+ width: 100%;
+ border: 0;
+ padding-top: 0;
+ }
+ .model_container .aside_container article .dropdown_blocks_list .dropdown_block {
+ padding: 0;
+ }
+}
+.catalog_list {
+ display: flex;
+ flex-wrap: wrap;
+}
+@media all and (max-width: 1280px) {
+ .catalog_list {
+ justify-content: space-between;
+ width: 100%;
+ }
+}
+.catalog_list .catalog_item {
+ width: calc(33.333% - 20px);
+ margin-bottom: 110px;
+}
+.catalog_list .catalog_item:not(:nth-child(3n)) {
+ margin-right: 30px;
+}
+.catalog_list .catalog_item img {
+ width: 100%;
+ height: 220px;
+ object-fit: cover;
+ margin-bottom: 30px;
+}
+.catalog_list .catalog_item .item_class {
+ font-size: 26px;
+ line-height: 35px;
+ color: #0C0C0C;
+ font-weight: 700;
+ margin-bottom: 8px;
+}
+.catalog_list .catalog_item .item_model {
+ font-size: 14px;
+}
+.catalog_list .catalog_item .item_model b {
+ display: block;
+ font-size: 15px;
+}
+.catalog_list .catalog_item ul li {
+ display: flex;
+ justify-content: space-between;
+ line-height: 29px;
+}
+.catalog_list .catalog_item ul li p {
+ margin: 0;
+}
+.catalog_list .catalog_item ul li.pay {
+ font-weight: 700;
+ margin: 25px 0;
+}
+.catalog_list .catalog_item .item_footer {
+ text-align: right;
+ margin-top: 30px;
+}
+@media all and (max-width: 1280px) {
+ .catalog_list .catalog_item {
+ width: calc(50% - 15px);
+ margin-right: 0 !important;
+ margin-bottom: 66px;
+ }
+ .catalog_list .catalog_item .item_class {
+ font-size: 19px;
+ line-height: 26px;
+ }
+ .catalog_list .catalog_item .item_model {
+ font-size: 13px;
+ margin-top: 10px;
+ }
+ .catalog_list .catalog_item .item_model b {
+ font-size: 13px;
+ }
+ .catalog_list .catalog_item ul li {
+ line-height: 20px;
+ margin-bottom: 10px;
+ }
+ .catalog_list .catalog_item ul li.pay {
+ margin: 15px 0;
+ }
+}
+@media all and (max-width: 768px) {
+ .catalog_list .catalog_item {
+ width: 100%;
+ }
+ .catalog_list .catalog_item img {
+ margin-left: -16px;
+ margin-right: -16px;
+ width: calc(100% + 32px);
+ }
+ .catalog_list .catalog_item ul li {
+ margin-bottom: 0px;
+ }
+}
+.requisites {
+ padding: 0 110px;
+}
+.requisites .requisites_row {
+ display: flex;
+ justify-content: flex-start;
+ margin-bottom: 25px;
+}
+.requisites .requisites_row p {
+ margin: 0;
+ max-width: calc(50% - 15px);
+ text-align: left;
+}
+.requisites .requisites_row p:first-child {
+ font-weight: 700;
+ margin-right: 30px;
+ width: 180px;
+}
+.requisites .button {
+ margin-top: 40px;
+}
+@media all and (max-width: 1420px) {
+ .requisites {
+ padding: 0;
+ }
+}
+@media all and (max-width: 1280px) {
+ .requisites .requisites_row {
+ display: block;
+ margin-bottom: 8px;
+ }
+ .requisites .requisites_row p {
+ width: 100%;
+ margin-bottom: 8px;
+ }
+ .requisites .button {
+ width: 286px;
+ }
+}
+#choose_region {
+ display: flex;
+ align-items: center;
+}
+#choose_region p {
+ margin-right: 30px;
+ max-width: 340px;
+}
+#choose_region .form_field {
+ width: 415px;
+}
+@media all and (max-width: 1280px) {
+ #officeViewToggle {
+ justify-content: flex-end;
+ }
+}
+@media all and (max-width: 768px) {
+ #officeViewToggle .tab {
+ width: 50%;
+ text-align: center;
+ }
+}
+#map {
+ display: none;
+ width: 100%;
+ height: 615px;
+ margin: 45px 0;
+ background: var(--gray-light);
+}
+#map.visible {
+ display: block;
+}
+@media all and (max-width: 1280px) {
+ #map {
+ height: 320px;
+ margin: 20px 0;
+ }
+}
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: 1010;
+ display: block;
+ padding: 1px;
+ text-align: left;
+ white-space: normal;
+ background: var(--blue);
+ color: #fff;
+ -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
+ -webkit-background-clip: padding-box;
+ -moz-background-clip: padding;
+ background-clip: padding-box;
+ padding: 30px 20px;
+ max-width: 500px;
+}
+.popover .close {
+ position: absolute;
+ top: 8px;
+ right: 8px;
+ width: 24px;
+ height: 24px;
+ font-size: 0;
+ cursor: pointer;
+ background: url("/assets/images/icons/close-white.svg") no-repeat center;
+}
+.popover p {
+ margin: 5px 0;
+}
+.popover .arrow {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -25px;
+ margin: auto;
+ width: 43px;
+ height: 54px;
+ background: url("/assets/images/pin-open.svg") no-repeat center;
+}
+.offices_list {
+ display: flex;
+ justify-content: space-between;
+ border-top: 1px solid #EDEFF5;
+ margin-top: 30px;
+}
+.offices_list#offices:not(.visible) {
+ display: none;
+}
+.offices_list .column {
+ width: calc(50% - 15px);
+}
+.offices_list .column .dropdown_block.open .block_body p {
+ margin-bottom: 8px;
+}
+.offices_list .column .dropdown_block.open .block_body a {
+ display: inline-block;
+ font-weight: 700;
+ margin: 20px 0 20px 28px;
+}
+@media all and (max-width: 768px) {
+ .offices_list {
+ display: block;
+ padding-top: 35px;
+ margin-top: 35px;
+ }
+ .offices_list .column {
+ width: 100%;
+ }
+}
+.dosc_list .row {
+ margin-bottom: 35px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+}
+.dosc_list .row p {
+ margin-bottom: 0;
+}
+.dosc_list .row .doc_name {
+ font-weight: 700;
+ min-height: 56px;
+ display: inline-flex;
+ flex-wrap: wrap;
+ align-items: center;
+ margin-right: 30px;
+ max-width: 50%;
+}
+.dosc_list .row .doc_name.full {
+ max-width: 100%;
+}
+.dosc_list .row .doc_name.full span {
+ width: 100%;
+}
+.dosc_list .row .doc_name a {
+ text-decoration: underline;
+ font-weight: 700;
+}
+.dosc_list .row .doc_name a:hover {
+ text-decoration: none;
+}
+.dosc_list .row .doc_name span {
+ display: block;
+ font-weight: 400;
+ margin-top: 8px;
+}
+.dosc_list .row .doc_date {
+ margin-right: 30px;
+ margin-left: 30px;
+ white-space: nowrap;
+}
+.dosc_list .row .button {
+ width: 104px;
+}
+.dosc_list.medium-icon .row {
+ margin-bottom: 15px;
+ width: 100%;
+}
+.dosc_list.medium-icon .doc_name {
+ min-height: 40px;
+ background-size: 32px;
+ padding-left: 48px;
+}
+.dosc_list.acts_list-checkbox .row {
+ margin-bottom: 15px;
+ width: 100%;
+}
+.dosc_list.acts_list-checkbox .row .doc_name {
+ background-size: 32px;
+ padding-left: 0;
+ background-position: 30px 50%;
+ min-height: 32px;
+ max-width: none;
+ font-weight: 400;
+}
+.dosc_list.acts_list-checkbox .row .doc_name input[type="checkbox"] + label:before {
+ margin-right: 56px;
+}
+.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf) {
+ min-height: 0;
+}
+.dosc_list.acts_list-checkbox .row .doc_name:not(.i-pdf) input[type="checkbox"] + label:before {
+ margin-right: 16px;
+}
+@media all and (max-width: 768px) {
+ .dosc_list .row {
+ position: relative;
+ flex-wrap: wrap;
+ }
+ .dosc_list .row .doc_name {
+ max-width: 100%;
+ width: 100%;
+ }
+ .dosc_list .row .button:not(.download-icon) {
+ margin-left: 55px;
+ margin-top: 8px;
+ width: 96px;
+ }
+ .dosc_list .row .button.download-icon {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 24px;
+ padding: 0;
+ }
+}
+.contract_table {
+ margin-bottom: 80px;
+}
+.contract_table .table_row {
+ min-height: 80px;
+ display: flex;
+ width: 100%;
+}
+.contract_table .table_row .table_cell {
+ padding: 16px 8px;
+ border: 1px solid #EDEFF5;
+ width: 14%;
+}
+.contract_table .table_row .table_cell:nth-child(3) {
+ width: 16%;
+}
+.contract_table .table_row .table_cell:nth-child(5) {
+ word-break: break-all;
+}
+.contract_table .table_row .table_cell p {
+ margin: 0;
+}
+.contract_table .table_row .table_cell p.closed {
+ color: var(--text_not_active);
+}
+.contract_table .table_row .table_cell p.opened {
+ color: var(--green);
+}
+.contract_table .table_row .table_cell b {
+ display: block;
+}
+.contract_table .table_header .table_cell {
+ border: 0;
+ color: var(--text_not_active);
+ font-weight: 700;
+ display: flex;
+ align-items: center;
+}
+.contract_table .table_header .table_cell.caret {
+ cursor: pointer;
+}
+.contract_table .table_header .table_cell.caret:after {
+ content: "";
+ display: inline-block;
+ width: 16px;
+ min-width: 16px;
+ height: 16px;
+ margin-left: 6px;
+ background: url("/assets/images/icons/icon-select.svg") no-repeat center;
+}
+.contract_table .table_header .table_cell.caret.reverse:after {
+ transform: scaleY(-1);
+}
+@media all and (max-width: 1279px) {
+ .contract_table.schedule {
+ align-items: flex-start;
+ }
+}
+.contract_table.schedule .show_more {
+ width: 100%;
+ height: 60px;
+ text-align: center;
+ background: var(--inactive);
+ color: var(--blue);
+ font-weight: 600;
+}
+@media all and (max-width: 1279px) {
+ .contract_table.schedule .show_more {
+ margin-bottom: 15px;
+ }
+}
+.contract_table.schedule .table_row .table_cell {
+ width: 25%;
+}
+.contract_table.schedule .table_row .table_cell:nth-child(1),
+.contract_table.schedule .table_row .table_cell:nth-child(2),
+.contract_table.schedule .table_row .table_cell:nth-child(4) {
+ width: 14%;
+}
+.contract_table.schedule .table_row[data-status="overpayment-2"] {
+ background: rgba(28, 1, 169, 0.1);
+}
+.contract_table.schedule .table_row[data-status="overpayment-1"] {
+ background: rgba(168, 2, 107, 0.1);
+}
+.contract_table.schedule .table_row[data-status="paid"] {
+ background: rgba(4, 168, 164, 0.1);
+}
+.contract_table.schedule .table_row .toggle_cell {
+ display: none;
+}
+@media all and (max-width: 1279px) {
+ .contract_table.schedule .table_row {
+ position: relative;
+ }
+ .contract_table.schedule .table_row .table_cell {
+ width: 100%;
+ padding-right: 45px;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(1),
+ .contract_table.schedule .table_row .table_cell:nth-child(2),
+ .contract_table.schedule .table_row .table_cell:nth-child(3),
+ .contract_table.schedule .table_row .table_cell:nth-child(4),
+ .contract_table.schedule .table_row .table_cell:nth-child(5),
+ .contract_table.schedule .table_row .table_cell:nth-child(6) {
+ width: 100%;
+ text-align: left;
+ font-size: 13px;
+ line-height: 20px;
+ padding-top: 0;
+ border: none;
+ margin: 5px 0;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(1):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(2):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(3):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(4):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(5):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(6):before {
+ content: attr(data-title);
+ display: inline-block;
+ margin-right: 6px;
+ font-weight: 600;
+ height: auto;
+ position: static;
+ background: transparent;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(3) {
+ margin: 0;
+ font-weight: 400;
+ }
+ .contract_table.schedule .table_row .toggle_cell {
+ display: block;
+ width: 16px;
+ height: 16px;
+ position: absolute;
+ right: 15px;
+ top: 28px;
+ background: url("/assets/images/icons/toggle-cell.svg") no-repeat center;
+ border: 0;
+ outline: none;
+ }
+}
+@media all and (max-width: 1279px) {
+ .contract_table.schedule .table_row {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ }
+ .contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(4),
+ .contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(5),
+ .contract_table.schedule .table_row:not(.opened) .table_cell:nth-child(6) {
+ display: none;
+ }
+ .contract_table.schedule .table_row.opened .toggle_cell {
+ transform: rotate(180deg);
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(1),
+ .contract_table.schedule .table_row .table_cell:nth-child(2) {
+ width: 50%;
+ margin-top: 0;
+ margin-bottom: 0;
+ font-weight: 700;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(1)::before,
+ .contract_table.schedule .table_row .table_cell:nth-child(2)::before {
+ font-weight: 700;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(2) {
+ text-align: right;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(3),
+ .contract_table.schedule .table_row .table_cell:nth-child(4) {
+ display: flex;
+ justify-content: space-between;
+ align-items: flex-end;
+ font-weight: 700;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(3):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(4):before {
+ font-weight: 400;
+ font-size: 13px;
+ line-height: 20px;
+ max-width: 55%;
+ margin-right: 20px;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(3) {
+ margin-top: 10px;
+ margin-bottom: 8px;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(5) {
+ display: flex;
+ justify-content: space-between;
+ padding-top: 15px;
+ margin-top: 15px;
+ border-top: 1px solid #EDEFF5;
+ margin-left: -15px;
+ margin-right: -15px;
+ padding-left: 15px;
+ padding-right: 60px;
+ width: calc(100% + 30px);
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(5),
+ .contract_table.schedule .table_row .table_cell:nth-child(6) {
+ font-size: 13px;
+ line-height: 20px;
+ margin-bottom: 0;
+ margin-top: 10px;
+ }
+ .contract_table.schedule .table_row .table_cell:nth-child(5):before,
+ .contract_table.schedule .table_row .table_cell:nth-child(6):before {
+ display: none;
+ }
+}
+@media all and (max-width: 1279px) {
+ .contract_table {
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ }
+ .contract_table .table_row {
+ width: calc(50% - 15px);
+ margin-bottom: 30px;
+ border: 1px solid #EDEFF5;
+ display: flex;
+ flex-wrap: wrap;
+ justify-content: space-between;
+ padding: 25px 15px;
+ }
+ .contract_table .table_row.table_header {
+ display: none;
+ }
+ .contract_table .table_row .table_cell {
+ border: 0;
+ width: 100%;
+ font-size: 13px;
+ line-height: 20px;
+ padding: 0;
+ }
+ .contract_table .table_row .table_cell:nth-child(1),
+ .contract_table .table_row .table_cell:nth-child(4) {
+ font-size: 10px;
+ line-height: 15px;
+ width: 50%;
+ text-align: left;
+ }
+ .contract_table .table_row .table_cell:nth-child(2),
+ .contract_table .table_row .table_cell:nth-child(5) {
+ font-size: 10px;
+ line-height: 15px;
+ width: 40%;
+ text-align: right;
+ }
+ .contract_table .table_row .table_cell:nth-child(3) {
+ font-weight: 700;
+ margin: 15px 0;
+ width: 100%;
+ }
+ .contract_table .table_row .table_cell:nth-child(6) {
+ width: 40%;
+ margin-top: 15px;
+ padding-top: 15px;
+ position: relative;
+ }
+ .contract_table .table_row .table_cell:nth-child(6):before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: -15px;
+ right: 0;
+ width: auto;
+ height: 1px;
+ background: #EDEFF5;
+ }
+ .contract_table .table_row .table_cell:nth-child(7) {
+ display: flex;
+ align-items: center;
+ width: 60%;
+ text-align: right;
+ justify-content: flex-end;
+ margin-top: 15px;
+ padding-top: 15px;
+ position: relative;
+ }
+ .contract_table .table_row .table_cell:nth-child(7):before {
+ content: "";
+ position: absolute;
+ top: 0;
+ right: -15px;
+ left: 0;
+ width: auto;
+ height: 1px;
+ background: #EDEFF5;
+ }
+ .contract_table .table_row .table_cell:nth-child(7) .price {
+ margin-left: 15px;
+ }
+}
+@media all and (max-width: 768px) {
+ .contract_table .table_row {
+ width: 100%;
+ margin-bottom: 15px;
+ }
+}
+.logo_list {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ flex-wrap: wrap;
+ margin: 35px 0;
+}
+.logo_list .logo_item {
+ width: calc(16.666% - 25px);
+ height: 97px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ margin: 15px 0;
+}
+.logo_list .logo_item img {
+ max-width: 100%;
+ max-height: 100%;
+ object-fit: contain;
+}
+.leasing_offers_list {
+ display: flex;
+ justify-content: space-between;
+ margin-top: 60px;
+}
+.leasing_offers_list .offer_item {
+ width: calc(33.333% - 20px);
+ padding-left: 80px;
+ position: relative;
+}
+.leasing_offers_list .offer_item p {
+ margin-bottom: 15px;
+}
+.leasing_offers_list .offer_item img {
+ position: absolute;
+ top: 0;
+ left: 0;
+}
+.leasing_offers_list .offer_item ul li:not(:last-child) {
+ margin-bottom: 6px;
+}
+.catalog_sort {
+ display: flex;
+ align-items: center;
+ justify-content: flex-end;
+ margin-bottom: 65px;
+}
+.catalog_sort .sort_container {
+ margin-left: 40px;
+ position: relative;
+}
+.catalog_sort .sort_container button {
+ height: 40px;
+ padding: 0 20px 0 48px;
+ color: var(--blue);
+}
+.catalog_sort .sort_container button.i-filter {
+ background: url("/assets/images/icons/icon-filter.svg") no-repeat 20px 50%;
+}
+.catalog_sort .sort_container button.i-sort {
+ background: url("/assets/images/icons/icon-sort.svg") no-repeat 20px 50%;
+}
+.news_cotnainer {
+ display: flex;
+ justify-content: space-between;
+}
+.news_cotnainer .left {
+ width: 525px;
+}
+.news_cotnainer .left .image {
+ width: 100%;
+ height: 525px;
+ background: var(--gray-light);
+ margin-bottom: 30px;
+}
+.news_cotnainer .left .image img {
+ width: 100%;
+ height: 100%;
+ object-fit: cover;
+}
+.news_cotnainer .left .socials a {
+ width: 48px;
+ height: 48px;
+ margin-right: 15px;
+}
+.news_cotnainer .right {
+ width: calc(100% - 555px);
+}
+.news_cotnainer .right h1 {
+ margin-bottom: 20px;
+}
+.news_cotnainer .right .date {
+ display: block;
+ text-transform: uppercase;
+ margin-bottom: 35px;
+}
+.news_cotnainer .right p,
+.news_cotnainer .right ul,
+.news_cotnainer .right ol {
+ margin-bottom: 20px;
+}
+.calendar_wrapper #calendar_month {
+ margin-left: auto;
+ max-width: 235px;
+ padding-left: 32px;
+ display: block;
+ background: url("/assets/images/icons/icon-date.svg") no-repeat 8px 50%, url("/assets/images/icons/icon-select.svg") no-repeat calc(100% - 16px) 50%;
+}
+@media all and (max-width: 960px) {
+ .calendar_wrapper #calendar_month {
+ margin-left: 0;
+ max-width: 284px;
+ }
+}
+@media all and (max-width: 768px) {
+ .calendar_wrapper #calendar_month {
+ max-width: 100%;
+ }
+}
+.calendar_wrapper .calendar_nav {
+ display: none;
+}
+@media all and (max-width: 768px) {
+ .calendar_wrapper .calendar_nav {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin-top: 15px;
+ }
+ .calendar_wrapper .calendar_nav button {
+ max-width: 48%;
+ height: 28px;
+ font-size: 10px;
+ color: var(--blue);
+ padding: 0;
+ }
+ .calendar_wrapper .calendar_nav button:first-child:before {
+ content: "<";
+ display: inline-block;
+ width: 20px;
+ height: 28px;
+ line-height: 28px;
+ text-align: left;
+ }
+ .calendar_wrapper .calendar_nav button:last-child:after {
+ content: ">";
+ display: inline-block;
+ width: 20px;
+ height: 28px;
+ line-height: 28px;
+ text-align: right;
+ }
+}
+.calendar_wrapper .calendar_grid {
+ margin-top: 30px;
+}
+.calendar_wrapper .calendar_grid .grid_header {
+ display: flex;
+ flex-wrap: wrap;
+}
+.calendar_wrapper .calendar_grid .grid_header .grid_cell {
+ padding: 15px;
+ text-transform: uppercase;
+ font-weight: bold;
+ font-size: 15px;
+ line-height: 23px;
+ color: #0C0C0C;
+ width: 14.2%;
+}
+.calendar_wrapper .calendar_grid .grid_body {
+ display: flex;
+ flex-wrap: wrap;
+ border: 1px solid #E0E0E0;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_week {
+ width: 100%;
+ display: flex;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell {
+ padding: 15px;
+ width: 14.282%;
+ height: 150px;
+ border: 1px solid #E0E0E0;
+ box-sizing: border-box;
+ display: flex;
+ flex-wrap: wrap;
+ align-items: stretch;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header {
+ color: #87878E;
+ align-self: flex-start;
+ text-transform: capitalize;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header span {
+ font-size: 26px;
+ line-height: 35px;
+ font-weight: 700;
+ color: #000;
+ padding-right: 4px;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body {
+ align-self: flex-end;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p {
+ color: #000;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p span {
+ display: block;
+ font-weight: 700;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell.disabled {
+ background: #EDEFF5;
+ opacity: 0.4;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell.current {
+ background: var(--blue);
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header {
+ color: #fff;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_header span {
+ color: inherit;
+}
+.calendar_wrapper .calendar_grid .grid_body .grid_cell.current .cell_body p {
+ color: #fff;
+}
+@media all and (max-width: 960px) {
+ .calendar_wrapper .calendar_grid {
+ position: relative;
+ margin-right: -80px;
+ }
+ .calendar_wrapper .calendar_grid .grid_header {
+ width: 22px;
+ position: absolute;
+ left: 0;
+ top: 0;
+ }
+ .calendar_wrapper .calendar_grid .grid_header .grid_cell {
+ width: 100%;
+ height: 72px;
+ padding: 14px 0;
+ text-align: center;
+ font-size: 13px;
+ line-height: 20px;
+ }
+ .calendar_wrapper .calendar_grid .grid_body {
+ margin-left: 30px;
+ overflow-x: auto;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_week {
+ width: auto;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_cell {
+ height: 72px;
+ padding: 10px;
+ width: 33.333%;
+ min-width: 256px;
+ font-size: 13px;
+ line-height: 20px;
+ align-items: flex-start;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_header span {
+ font-size: 13px;
+ line-height: 20px;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body {
+ width: 100%;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_cell .cell_body p {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+}
+@media all and (max-width: 768px) {
+ .calendar_wrapper .calendar_grid {
+ margin-top: 15px;
+ margin-right: 0;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_week {
+ width: 100%;
+ flex-wrap: wrap;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_week:not(.active) {
+ display: none;
+ }
+ .calendar_wrapper .calendar_grid .grid_body .grid_week .grid_cell {
+ display: flex;
+ width: 100%;
+ }
+}
+.calendar_payment {
+ display: flex;
+}
+.calendar_payment .day {
+ color: #87878E;
+ font-size: 26px;
+ line-height: 35px;
+ font-weight: 700;
+ margin-right: 50px;
+}
+.calendar_payment .day span {
+ display: block;
+ font-size: 50px;
+ line-height: 1;
+ color: #000;
+}
+.calendar_payment .payment_table {
+ display: table;
+ margin-top: 12px;
+}
+.calendar_payment .payment_table .table_row {
+ display: table-row;
+}
+.calendar_payment .payment_table .table_row .table_cell {
+ display: table-cell;
+ padding: 2px 10px;
+}
+.calendar_payment .payment_table .table_row .table_cell a {
+ font-weight: 700;
+}
+.calendar_payment .payment_table .table_row.table_header .table_cell {
+ color: #87878E;
+ padding: 12px 10px;
+}
+@media all and (max-width: 768px) {
+ .calendar_payment {
+ display: block;
+ }
+}
+.acts_wrapper {
+ display: flex;
+ justify-content: space-between;
+}
+.acts_wrapper .acts_list-checkbox,
+.acts_wrapper .reconciliation_form {
+ width: calc(50% - 10px);
+}
+@media all and (max-width: 768px) {
+ .acts_wrapper {
+ flex-wrap: wrap;
+ }
+ .acts_wrapper .acts_list-checkbox {
+ width: 100%;
+ order: 1;
+ margin-bottom: 40px;
+ }
+ .acts_wrapper .reconciliation_form {
+ order: 2;
+ width: 100%;
+ }
+}
+main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail {
+ margin: 30px 0;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail p {
+ margin-bottom: 10px;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul {
+ max-width: 60%;
+ display: flex;
+ flex-wrap: wrap;
+}
+main .dropdown_blocks_list .dropdown_block .block_body .transaction_detail ul li {
+ width: 50%;
+}
+.dropdown_block + .dosc_list {
+ margin-top: 20px;
+}
+@media all and (max-width: 768px) {
+ .dropdown_block + .dosc_list {
+ margin-top: 0;
+ padding-top: 20px;
+ border-top: 1px solid #EDEFF5;
+ }
+}
diff --git a/css/main/style.less b/css/main/style.less
index e9c01ea..982aeb1 100644
--- a/css/main/style.less
+++ b/css/main/style.less
@@ -2445,6 +2445,12 @@ main {
margin-left: 6px;
background: url("/assets/images/icons/icon-select.svg") no-repeat center;
}
+
+ &.reverse {
+ &:after {
+ transform: scaleY(-1);
+ }
+ }
}
}
}
diff --git a/lib/cors.js b/lib/cors.js
new file mode 100644
index 0000000..b48fcd5
--- /dev/null
+++ b/lib/cors.js
@@ -0,0 +1,32 @@
+import Cors from 'cors';
+
+function initMiddleware(middleware)
+{
+ console.log("CORS initMiddleware !!!!");
+
+ return (req, res) =>
+ new Promise((resolve, reject) =>
+ {
+ middleware(req, res, (result) =>
+ {
+ if (result instanceof Error)
+ {
+ return reject(result);
+ }
+
+ return resolve(result);
+ });
+ });
+}
+
+// Initialize the cors middleware
+const cors = initMiddleware(
+ // You can read more about the available options here: https://github.com/expressjs/cors#configuration-options
+ Cors({
+ origin: ["http://localhost:3000", "https://lk-evo.quickcode.ru"],
+ // Only allow requests with GET, POST and OPTIONS
+ methods: ['GET', 'POST', 'OPTIONS'],
+ })
+)
+
+export { cors };
\ No newline at end of file
diff --git a/package.json b/package.json
index 225f0e2..c8be331 100644
--- a/package.json
+++ b/package.json
@@ -9,8 +9,11 @@
"lint": "next lint"
},
"dependencies": {
+ "@nano-sql/core": "^2.3.7",
+ "async": "^3.2.2",
"axios": "^0.24.0",
"cookie": "^0.4.1",
+ "cors": "^2.8.5",
"jsonwebtoken": "^8.5.1",
"moment": "^2.29.1",
"next": "11.1.2",
diff --git a/pages/api/calendar.js b/pages/api/calendar.js
index 39d631d..2cdc59b 100644
--- a/pages/api/calendar.js
+++ b/pages/api/calendar.js
@@ -1,6 +1,62 @@
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
+import axios from 'axios';
+import { Cookies } from 'react-cookie';
+import cookie from 'cookie';
+import moment from 'moment';
+import jwt from 'jsonwebtoken';
+import { cors } from '../../lib/cors';
-export default function handler(req, res)
+export default async function handler(req, res)
{
- res.status(200).json({ name: 'John Doe' });
+ await cors(req, res);
+
+ if(req.headers.cookie !== undefined)
+ {
+ const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
+
+ if(cookies.jwt !== undefined && cookies.jwt !== null)
+ {
+ console.log("cookies.jwt");
+ console.log(cookies.jwt);
+
+ var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
+ var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
+
+ console.log("client_jwt_decoded", client_jwt_decoded);
+ console.log("crm_jwt", crm_jwt);
+
+ console.log(`URL`);
+ console.log(`${ process.env.CRM_API_HOST }/lk/Account/GetPaymentCalendar/`);
+
+ try
+ {
+ axios.get(`${ process.env.CRM_API_HOST }/lk/Account/GetPaymentCalendar/`, {
+ params: client_jwt_decoded,
+ headers: {
+ "Authorization": `Bearer ${ crm_jwt }`,
+ }
+ })
+ .then((crm_response) =>
+ {
+ console.log("crm_response");
+ console.log(crm_response);
+ res.status(200).json(crm_response.data);
+ })
+ .catch((error) =>
+ {
+ console.error(error);
+ res.status(500);
+ });
+ }
+ catch(e)
+ {
+ console.error(e);
+ res.status(500);
+ }
+ }
+ else
+ {
+ res.status(403);
+ }
+ }
}
\ No newline at end of file
diff --git a/pages/api/contract/index.js b/pages/api/contract/index.js
new file mode 100644
index 0000000..985b293
--- /dev/null
+++ b/pages/api/contract/index.js
@@ -0,0 +1,65 @@
+// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
+import axios from 'axios';
+import { Cookies } from 'react-cookie';
+import cookie from 'cookie';
+import moment from 'moment';
+import jwt from 'jsonwebtoken';
+import { cors } from '../../../lib/cors';
+
+export default async function handler(req, res)
+{
+ await cors(req, res);
+
+ if(req.headers.cookie !== undefined)
+ {
+ const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
+
+ console.log("req.body");
+ console.log(req.body);
+
+ if(cookies.jwt !== undefined && cookies.jwt !== null)
+ {
+ console.log("cookies.jwt");
+ console.log(cookies.jwt);
+
+ var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
+ var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
+
+ console.log("client_jwt_decoded", client_jwt_decoded);
+ console.log("crm_jwt", crm_jwt);
+
+ console.log(`${ process.env.CRM_API_HOST }/lk/Contract/GetSchedulePayments`);
+
+ try
+ {
+ axios.get(`${ process.env.CRM_API_HOST }/lk/Contract/GetSchedulePayments`, {
+ params: { ...client_jwt_decoded, contract_number: req.body.number },
+ headers: {
+ "Authorization": `Bearer ${ crm_jwt }`,
+ },
+ withCredentials: true,
+ })
+ .then((crm_response) =>
+ {
+ console.log("crm_response");
+ console.log(crm_response);
+ res.status(200).json(crm_response.data);
+ })
+ .catch((error) =>
+ {
+ console.error(error);
+ res.status(500);
+ });
+ }
+ catch(e)
+ {
+ console.error(e);
+ res.status(500);
+ }
+ }
+ else
+ {
+ res.status(403);
+ }
+ }
+}
\ No newline at end of file
diff --git a/pages/api/contract/insurance.js b/pages/api/contract/insurance.js
new file mode 100644
index 0000000..0ae7219
--- /dev/null
+++ b/pages/api/contract/insurance.js
@@ -0,0 +1,75 @@
+// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
+import axios from 'axios';
+import { Cookies } from 'react-cookie';
+import cookie from 'cookie';
+import moment from 'moment';
+import jwt from 'jsonwebtoken';
+import { cors } from '../../../lib/cors';
+
+export default async function handler(req, res)
+{
+ await cors(req, res);
+
+ if(req.headers.cookie !== undefined)
+ {
+ const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
+
+ console.log("req.body");
+ console.log(req.body);
+
+ if(cookies.jwt !== undefined && cookies.jwt !== null)
+ {
+ console.log("cookies.jwt");
+ console.log(cookies.jwt);
+
+ var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT);
+ var crm_jwt = jwt.sign(client_jwt_decoded, process.env.JWT_SECRET_CRM, { noTimestamp: true });
+
+ console.log("client_jwt_decoded", client_jwt_decoded);
+ console.log("crm_jwt", crm_jwt);
+
+ console.log(`${ process.env.CRM_API_HOST }/lk/Contract/GetOsago`);
+
+ const result = {
+ osago: null,
+ kasko: null,
+ nsib: null,
+ };
+
+ Promise.all([
+ new Promise((resolve) => {
+ axios.get(`${ process.env.CRM_API_HOST }/lk/Contract/GetOsago`, {
+ params: client_jwt_decoded,
+ headers: { "Authorization": `Bearer ${ crm_jwt }`, },
+ })
+ .then((crm_response) => { result.osago = crm_response; resolve(); })
+ .catch((error) => { console.error(error); resolve(); });
+ }),
+ new Promise((resolve) => {
+ axios.get(`${ process.env.CRM_API_HOST }/lk/Contract/GetKasko`, {
+ params: client_jwt_decoded,
+ headers: { "Authorization": `Bearer ${ crm_jwt }`, },
+ })
+ .then((crm_response) => { result.kasko = crm_response; resolve(); })
+ .catch((error) => { console.error(error); resolve(); });
+ }),
+ new Promise((resolve) => {
+ axios.get(`${ process.env.CRM_API_HOST }/lk/Contract/GetNsib`, {
+ params: client_jwt_decoded,
+ headers: { "Authorization": `Bearer ${ crm_jwt }`, },
+ })
+ .then((crm_response) => { result.nsib = crm_response; resolve(); })
+ .catch((error) => { console.error(error); resolve(); });
+ }),
+ ])
+ .then(() =>
+ {
+ res.status(200).json(result);
+ });
+ }
+ else
+ {
+ res.status(403);
+ }
+ }
+}
\ No newline at end of file
diff --git a/pages/api/contracts.js b/pages/api/contracts.js
index a73e5c5..37dc962 100644
--- a/pages/api/contracts.js
+++ b/pages/api/contracts.js
@@ -4,9 +4,12 @@ import { Cookies } from 'react-cookie';
import cookie from 'cookie';
import moment from 'moment';
import jwt from 'jsonwebtoken';
+import { cors } from '../../lib/cors';
-export default function handler(req, res)
+export default async function handler(req, res)
{
+ await cors(req, res);
+
if(req.headers.cookie !== undefined)
{
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
@@ -22,6 +25,7 @@ export default function handler(req, res)
console.log("client_jwt_decoded", client_jwt_decoded);
console.log("crm_jwt", crm_jwt);
+ console.log(`URL`);
console.log(`${ process.env.CRM_API_HOST }/lk/Account/GetContracts/`);
try
@@ -30,25 +34,25 @@ export default function handler(req, res)
params: client_jwt_decoded,
headers: {
"Authorization": `Bearer ${ crm_jwt }`,
- },
- withCredentials: true,
+ }
})
.then((crm_response) =>
{
console.log("crm_response");
- console.log(crm_response);
+ //console.log(crm_response);
+ res.status(200).json(crm_response.data);
})
.catch((error) =>
{
console.error(error);
+ res.status(500);
});
}
catch(e)
{
console.error(e);
+ res.status(500);
}
-
- res.status(200).json({ name: 'John Doe' });
}
else
{
diff --git a/pages/calendar.js b/pages/calendar.js
deleted file mode 100644
index d797d6b..0000000
--- a/pages/calendar.js
+++ /dev/null
@@ -1,402 +0,0 @@
-import React, { Component } from "react";
-import Head from "next/head";
-import Image from "next/image";
-
-import Header from "./components/Header";
-import Footer from "./components/Footer";
-import CalendarCellModal from "./components/Modal/calendar";
-
-class CalendarPage extends Component {
- constructor(props) {
- super(props);
- this.state = {
- cellModalOpen: false
- };
- }
-
- handle_cell_click = () => {
- this.setState({
- cellModalOpen: !this.state.cellModalOpen
- });
- };
-
- close_cell_modal = () => {
- this.setState({
- cellModalOpen: false
- });
- }
-
-
- render() {
- return (
-
-
- ЛК Эволюция автолизинга
-
-
-
-
-
-
-
-
-
-
Календарь оплат
-
-
-
- ООО “Друзья и КО”
-
- ИНН: 12345678765 КПП: 13432-02
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Пн
-
Вт
-
Ср
-
Чт
-
Пт
-
Сб
-
Вс
-
-
-
-
-
-
-
-
-
-
-
- Общий платеж
- 239 400,00 р.
-
-
-
-
-
-
-
this.handle_cell_click()}>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Общий платеж
- 239 400,00 р.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- );
- }
-}
-
-export default CalendarPage;
diff --git a/pages/components/Header/index.js b/pages/components/Header/index.js
index 69ce060..9b3af17 100644
--- a/pages/components/Header/index.js
+++ b/pages/components/Header/index.js
@@ -49,7 +49,7 @@ export default class Header extends React.Component
-
+
Взаиморасчеты и закрывающие документы
diff --git a/pages/components/Modal/calendar.js b/pages/components/Modal/calendar.js
index e30a228..ad06c24 100644
--- a/pages/components/Modal/calendar.js
+++ b/pages/components/Modal/calendar.js
@@ -1,68 +1,69 @@
import React, { Component } from "react";
+import Link from "next/link";
+import numeral from "numeral";
-class CalendarCellModal extends Component {
- constructor(props) {
- super(props);
- this.state = {
- menuOpened: false,
- activeLink: ""
- };
- }
+class CalendarCellModal extends Component
+{
+ constructor(props)
+ {
+ super(props);
+ this.state = {
+ menuOpened: false,
+ activeLink: ""
+ };
+ }
- toggleMenu = () => {
- this.setState({
- menuOpened: !this.state.menuOpened
- });
- };
+ toggleMenu = () => {
+ this.setState({
+ menuOpened: !this.state.menuOpened
+ });
+ };
- selected = (text) => {
- this.toggleMenu();
- this.setState({
- activeLink: text
- })
- }
- render() {
- const {menuOpened, activeLink} = this.state;
- return (
-
-
-
+ selected = (text) => {
+ this.toggleMenu();
+ this.setState({
+ activeLink: text
+ })
+ }
-
-
-
-
-
- );
- }
+ render()
+ {
+ const {menuOpened, activeLink} = this.state;
+ const { selected_payment } = this.props;
+
+ return (
+
+
+
+
+ 16 июня
+
+
+
+ { selected_payment && selected_payment.payments.map((payment, index) => (
+
+
+
+ { numeral(payment.total_amount).format('') } р.
+
+
+ )) }
+
+
+
+
+
+
+
+ );
+ }
}
export default CalendarCellModal;
diff --git a/pages/components/Pagination/index.js b/pages/components/Pagination/index.js
new file mode 100644
index 0000000..fd655f7
--- /dev/null
+++ b/pages/components/Pagination/index.js
@@ -0,0 +1,126 @@
+import React, { Component } from "react";
+import Image from "next/image";
+import Link from "next/link";
+import moment from "moment";
+
+class NewsCard extends Component
+{
+ constructor(props)
+ {
+ super(props);
+ this.state = {
+ };
+ }
+
+ _onPagePress = (page) =>
+ {
+ this.props.onPagePress(page);
+ }
+
+ _renderPageNumber = (page, p, index) =>
+ {
+ return (
+
+ p === page ? {} : this.props.onPage(p) }>{ p }
+
+ )
+ }
+
+ render()
+ {
+ const { pages } = this.props;
+ let page = this.props.page;
+ if(page < 0) { page = pages; }
+
+ let firstPage = 1;
+ let lastPage = pages;
+
+ if(lastPage <= 1)
+ {
+ return null;
+ }
+
+ let pagesLinks = [];
+ let p = page;
+
+ if(lastPage > 6)
+ {
+ if(p === lastPage)
+ {
+ p = p - 3;
+ }
+ else
+ {
+ if(p <= 3) { p = p - (p-1); };
+ if(p > 3) { p = p - 1; }
+ //if(p > (lastPage - 3)) { p = p - 4; }
+ if(p > (lastPage - 3))
+ {
+ p = p - (lastPage - (p+1));
+ }
+ }
+ }
+
+ if(lastPage > 6)
+ {
+ for(let i = 0; i < 7; i++)
+ {
+ if(i == 0)
+ {
+ pagesLinks.push(this._renderPageNumber(page, firstPage, i));
+ }
+ else if(i == 1)
+ {
+ if(p >= 3)
+ {
+ pagesLinks.push(...);
+ }
+ else
+ {
+ if(p > 1)
+ {
+ pagesLinks.push(this._renderPageNumber(page, p, i));
+ }
+ p++;
+ }
+ }
+ else if(i == 5)
+ {
+ if(p < (lastPage))
+ {
+ pagesLinks.push(...);
+ }
+ }
+ else if(i == 6)
+ {
+ pagesLinks.push(this._renderPageNumber(page, lastPage, i));
+ }
+ else
+ {
+ pagesLinks.push(this._renderPageNumber(page, p, i));
+ p++;
+ }
+ }
+ }
+ else
+ {
+ for(let i = 0; i < lastPage; i++)
+ {
+ pagesLinks.push(this._renderPageNumber(page, i+1, i));
+ }
+ }
+
+ return (
+
+ )
+ }
+}
+
+export default NewsCard;
+
\ No newline at end of file
diff --git a/pages/contract/agreement.js b/pages/contract/agreement.js
index cd4b4f7..7d9c0b1 100644
--- a/pages/contract/agreement.js
+++ b/pages/contract/agreement.js
@@ -19,6 +19,8 @@ class ContractPage extends React.Component
render()
{
+ const { number } = this.props;
+
return (
@@ -31,57 +33,57 @@ class ContractPage extends React.Component
-
-
-
-
-
Договор №1234/2021 от 10.01.2021
+
+
+
+
+
Договор №{ number.replace("_", "/") } от 10.01.2021
-
-
+
+
-
-
-
+
+
+
Договор
Краткое описание. Может быть много-много строк.
Столько строк, сколько есть в описании
-
Скачать
+
Скачать
-
-
+
+
Договор цессии
Краткое описание. Может быть много-много строк.
Столько строк, сколько есть в описании
-
Скачать
+
Скачать
-
-
+
+
Дополнительное соглашение №1
Краткое описание. Может быть много-много строк.
Столько строк, сколько есть в описании
-
Скачать
+
Скачать
-
-
+
+
Дополнительное соглашение №2
Краткое описание. Может быть много-много строк.
Столько строк, сколько есть в описании
-
Скачать
+
Скачать
-
-
+
+
Выкупные документы
Краткое описание. Может быть много-много строк.
Столько строк, сколько есть в описании
-
Скачать
+
Скачать
@@ -106,6 +108,11 @@ function mapStateToProps(state, ownProps)
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
async ({ req, res, query }) =>
{
+ return {
+ props: {
+ number: query.number,
+ }
+ }
}
);
diff --git a/pages/contract/documents.js b/pages/contract/documents.js
index 85a5178..1551160 100644
--- a/pages/contract/documents.js
+++ b/pages/contract/documents.js
@@ -10,12 +10,17 @@ import Footer from '../components/Footer';
import InnerMenu from "./components/InnerMenu";
import Company from "../components/Company";
-class ContractDocumentsPage extends React.Component {
- constructor(props) {
+class ContractDocumentsPage extends React.Component
+{
+ constructor(props)
+ {
super(props);
}
- render() {
+ render()
+ {
+ const { number } = this.props;
+
return (
@@ -32,12 +37,12 @@ class ContractDocumentsPage extends React.Component {
-
Договор №1234/2021 от 10.01.2021
+ Договор №{ number.replace("_", "/") } от 10.01.2021
-
+
Акт сверки
@@ -117,7 +122,8 @@ class ContractDocumentsPage extends React.Component {
}
}
-function mapStateToProps(state, ownProps) {
+function mapStateToProps(state, ownProps)
+{
return {
company: state.company,
schedule: state.payments,
@@ -125,7 +131,13 @@ function mapStateToProps(state, ownProps) {
}
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
- async ({ req, res, query }) => {
+ async ({ req, res, query }) =>
+ {
+ return {
+ props: {
+ number: query.number,
+ }
+ }
}
);
diff --git a/pages/contract/index.js b/pages/contract/index.js
index 221a5fd..61e4028 100644
--- a/pages/contract/index.js
+++ b/pages/contract/index.js
@@ -10,15 +10,81 @@ import Footer from '../components/Footer';
import Company from "../components/Company";
import InnerMenu from "./components/InnerMenu";
+import { getContract } from './../../actions';
+import numeral from "numeral";
+import moment from "moment";
+
class ContractSchedulePage extends React.Component
{
constructor(props)
{
super(props);
+ this.state = {
+ loading: false,
+ contract: null,
+ full: false,
+ opened: [],
+ }
+ }
+
+ static getDerivedStateFromProps(nextProps, prevState)
+ {
+ return {
+ contract: nextProps.contract,
+ };
+ }
+
+ componentDidMount()
+ {
+ console.log("this.props");
+ console.log(this.props);
+
+ if(!this.state.loading && this.props.number !== undefined)
+ {
+ console.log("this.props.number", this.props.number);
+
+ this.setState({ loading: true }, () =>
+ {
+ getContract({ dispatch: this.props.dispatch, number: this.props.number }).then(() => {
+ this.setState({ loading: false });
+ }).catch(() => {});
+ });
+ }
+ }
+
+ _handle_onSetFull = () =>
+ {
+ this.setState({ full: true });
+ }
+
+ _handle_onSetOpen = (number) =>
+ {
+ const opened = [ ...this.state.opened ];
+
+ if(opened.indexOf(number) < 0)
+ { opened.push(number); }
+ else
+ { opened.splice(opened.indexOf(number), 1); }
+
+ this.setState({ opened: opened });
}
render()
{
+ const { contract, full, opened } = this.state;
+ const { number } = this.props;
+
+ console.log("RENDER", "contact");
+ console.log(contract);
+
+ const statuses = {
+ "NotPaid": "",
+ "HalfPaid": "overpayment-1",
+ "OverPaid": "overpayment-2",
+ "Paid": "paid",
+ };
+ let today = moment();
+
return (
@@ -35,23 +101,55 @@ class ContractSchedulePage extends React.Component
-
Договор №1234/2021 от 10.01.2021
+ Договор №{ number.replace("_", "/") }{/* от 10.01.2021*/}
-
+
-
№ платежа
-
Дата лизингового платежа
-
Лизинговый платеж с НДС (рубли)
-
НДС, 20% (рубли)
+
№ платежа
+
Дата лизингового платежа
+
Лизинговый платеж с НДС (рубли)
+
НДС, 20% (рубли)
Статус платежа
Платежное поручение
-
+ { !full && (
+
+ ) }
+ { contract !== null && Object.values(contract).map((payment, index) =>
+ {
+ let pd = moment(payment.date, "DD-MM-YYYY");
+ if(!full && today > pd) { return null; }
+
+ return (
+
-1 ? "opened" : "" }` } data-status={ statuses[payment.status] } key={ index }>
+
{ payment.number }
+
{ moment(payment.date, "DD-MM-YYYY").format("DD.MM.YYYY") }
+
{ numeral(payment.total_amount).format('') }
+
{ numeral(payment.vat_amount).format('') }
+ { payment.status === "NotPaid" && (
+
Не оплачено
+ ) }
+ { payment.status === "HalfPaid" && (
+
Частично оплачено
+ ) }
+ { payment.status === "OverPaid" && (
+
Переплата { numeral(payment.total_amount).format('') } ₽
+ ) }
+
+ { payment.invoices.map((invoice, invoice_index) =>
+ (
+ №{ invoice.number } от { moment(invoice.date, "DD-MM-YYYY").format("DD.MM.YYYY") } на сумму { numeral(invoice.total_amount).format('') } ₽
+ )) }
+
+
+
+ )})}
+ {/*}
11
21.02.2021
@@ -93,6 +191,7 @@ class ContractSchedulePage extends React.Component
+ {*/}
@@ -109,13 +208,19 @@ function mapStateToProps(state, ownProps)
{
return {
company: state.company,
- schedule: state.payments,
+ contract: state.contract,
+ //schedule: state.payments,
}
}
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
async ({ req, res, query }) =>
{
+ return {
+ props: {
+ number: query.number,
+ }
+ }
}
);
diff --git a/pages/contract/services.js b/pages/contract/services.js
index 13c3d08..8cf0659 100644
--- a/pages/contract/services.js
+++ b/pages/contract/services.js
@@ -38,6 +38,7 @@ class ContractServicesPage extends React.Component
render()
{
const { opened } = this.state;
+ const { number } = this.props;
return (
@@ -55,16 +56,16 @@ class ContractServicesPage extends React.Component
-
Договор №1234/2021 от 10.01.2021
+ Договор №{ number.replace("_", "/") } от 10.01.2021
-
+
-
-1 ? 'open' : '' }`}>
+
-1 ? 'open' : '' }`}>
this._handle_onCard('ratcard') }>
@@ -83,7 +84,7 @@ class ContractServicesPage extends React.Component
-
-1 ? 'open' : '' }`}>
+
-1 ? 'open' : '' }`}>
this._handle_onCard('insurance') }>
@@ -107,7 +108,7 @@ class ContractServicesPage extends React.Component
-
-1 ? 'open' : '' }`}>
+
-1 ? 'open' : '' }`}>
this._handle_onCard('registration') }>
@@ -120,7 +121,7 @@ class ContractServicesPage extends React.Component
-
-1 ? 'open' : '' }`}>
+
-1 ? 'open' : '' }`}>
this._handle_onCard('telematic') }>
@@ -163,6 +164,11 @@ function mapStateToProps(state, ownProps)
export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
async ({ req, res, query }) =>
{
+ return {
+ props: {
+ number: query.number,
+ }
+ }
}
);
diff --git a/pages/documents/calendar.js b/pages/documents/calendar.js
new file mode 100644
index 0000000..81f8bbc
--- /dev/null
+++ b/pages/documents/calendar.js
@@ -0,0 +1,384 @@
+import React from "react";
+import Head from 'next/head';
+import Image from 'next/image';
+import moment from 'moment';
+import 'moment/locale/ru';
+import numeral from "numeral";
+import cookie from 'cookie';
+
+import { connect } from "react-redux";
+import { withRouter } from 'next/router';
+import { reduxWrapper } from '../../store';
+
+import Header from '../components/Header';
+import Footer from '../components/Footer';
+import InnerMenu from "./components/InnerMenu";
+import Company from "../components/Company";
+import CalendarCellModal from "../components/Modal/calendar";
+
+import { getCalendar } from '../../actions';
+
+class CalendarPage extends React.Component
+{
+ constructor(props)
+ {
+ super(props);
+ this.state = {
+ modalOpened: false,
+ payments: null,
+ periods: null,
+ selected_period: moment().format("YYYYMM"),
+ selected_payment: undefined,
+ };
+ }
+
+ static getDerivedStateFromProps(nextProps, prevState)
+ {
+ return {
+ company: nextProps.company,
+ payments: nextProps.payments,
+ periods: nextProps.periods,
+ };
+ }
+
+ componentDidMount()
+ {
+ const date_from = moment().startOf("month").toDate();
+ const date_to = moment().endOf("month").toDate();
+
+ getCalendar({ dispatch: this.props.dispatch, date_from, date_to }).then().catch();
+ }
+
+ toggleModal = () =>
+ {
+ this.setState({
+ modalOpened: !this.state.modalOpened
+ })
+ }
+
+ getPayments = (date) =>
+ {
+ const { payments } = this.state;
+
+ for(let i in payments)
+ {
+ if(payments[i].date === date)
+ {
+ return payments[i];
+ }
+ }
+ return undefined;
+ }
+
+ _handle_onDayClick = (day) =>
+ {
+ this.setState({ selected_payment: day.payment });
+ this.toggleModal();
+ }
+
+ _handle_onChangePeriod = (period) =>
+ {
+ this.setState({ selected_period: period }, () =>
+ {
+ const date_from = moment(period, "YYYYMM").startOf("month").toDate();
+ const date_to = moment(period, "YYYYMM").endOf("month").toDate();
+
+ getCalendar({ dispatch: this.props.dispatch, date_from, date_to }).then().catch();
+ });
+ }
+
+ render()
+ {
+ const { selected_period, selected_payment, periods, payments } = this.state;
+ if(payments === null) { return null; }
+
+ let month = moment(selected_period, "YYYYMM").format("M") - 1;
+
+ //console.log("periodsperiodsperiodsperiodsperiods");
+ //console.log(periods);
+
+ const dates = [];
+ const date_sm = moment(selected_period, 'YYYYMM').startOf("month");
+ const date_em = moment(selected_period, 'YYYYMM').endOf("month");
+
+ //console.log("date_sm", date_sm.format("YYYY-MM-DD"));
+ //console.log("date_em", date_em.format("YYYY-MM-DD"));
+ //console.log("date_sm.day()", date_sm.day());
+ //console.log("date_em.day()", date_em.day());
+
+ let date_s = null;
+ if(date_sm.day() !== 1)
+ { date_s = date_sm.subtract(date_sm.day() - 1, "days"); }
+ else
+ { date_s = date_sm; }
+
+ let date_e = null;
+ if(date_em.day() !== 0)
+ { date_e = date_em.add(7 - date_em.day(), "days"); }
+ else
+ { date_e = date_em; }
+
+ const date = moment();
+ //console.log(date_sm.format("YYYY-MM-DD"));
+ //console.log(date_sm.day());
+ //console.log("date_s", date_s.format("YYYY-MM-DD"))
+ //console.log("date_e", date_e.format("YYYY-MM-DD"))
+
+ let d = date_s;
+ let payment = this.getPayments(date_s.format("YYYY-MM-DD"));
+ dates.push({
+ date: date_s.clone(),
+ payment: payment,
+ });
+
+ while(d.add(1, 'days').diff(date_e) < 0)
+ {
+ //console.log(d.toDate());
+ let payment = this.getPayments(d.format("YYYY-MM-DD"));
+ dates.push({
+ date: d.clone(),
+ payment: payment,
+ });
+ }
+
+ const dow = date.day();
+ //console.log(dow);
+ //console.log("date.month())", date.month());
+
+ const weeks = dates.reduce(function(result, value, index, array) {
+ if (index % 7 === 0)
+ result.push(array.slice(index, index +7));
+ return result;
+ }, []);
+
+ return (
+
+
+ ЛК Эволюция автолизинга
+
+
+
+
+
+
+
+
+
+
Календарь оплат
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Пн
+
Вт
+
Ср
+
Чт
+
Пт
+
Сб
+
Вс
+
+
+ { weeks.map((week, index) =>
+ {
+ return (
+
+ { week.map((day, index) => {
+ return (
+
+
+
{ day.date.format("DD") } { day.date.format("MMM").toLocaleLowerCase() } { day.date.format("Y").toLocaleLowerCase() }
+
+
{ day.payment && (
+
this._handle_onDayClick(day) }>
+ Общий платеж
+ { numeral(day.payment.total).format('') } р.
+
+ )}
+
+
+ )
+ }) }
+
+ )
+ }) }
+ {/*}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Общий платеж
+ 239 400,00 р.
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {*/}
+
+
+
+
+
+
+
+ this.toggleModal() }/>
+
+
+
+ )
+ }
+}
+
+function mapStateToProps(state, ownProps)
+{
+ return {
+ company: state.company,
+ payments: state.calendar.payments,
+ periods: state.calendar.periods,
+ }
+}
+
+export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
+ async ({ req, res, query }) =>
+ {
+ let props = {};
+
+ if(req.headers.cookie !== undefined)
+ {
+ const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
+
+ if(cookies.jwt === undefined || cookies.jwt === null)
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+ else
+ {
+ const tokenValid = true;
+ if(!tokenValid)
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+ }
+ }
+ else
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+
+ return { props: props };
+ }
+);
+
+export default withRouter(connect(mapStateToProps)(CalendarPage));
\ No newline at end of file
diff --git a/pages/documents/components/InnerMenu/index.js b/pages/documents/components/InnerMenu/index.js
index 99388b0..1bfdace 100644
--- a/pages/documents/components/InnerMenu/index.js
+++ b/pages/documents/components/InnerMenu/index.js
@@ -14,8 +14,8 @@ export default class InnerMenu extends React.Component
+
+
+
+
+ )
+ }
+}
+
+function mapStateToProps(state, ownProps)
+{
+ return {
+ }
+}
+
+export const getServerSideProps = reduxWrapper.getServerSideProps(store =>
+ async ({ req, res, query }) =>
+ {
+ let props = {};
+
+ if(req.headers.cookie !== undefined)
+ {
+ const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
+
+ if(cookies.jwt === undefined || cookies.jwt === null)
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+ else
+ {
+ //const tokenValid = await checkToken(cookies.jwt);
+ const tokenValid = true;
+ if(!tokenValid)
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+ }
+ }
+ else
+ {
+ res.statusCode = 302;
+ res.setHeader('Location', `/login`);
+ }
+
+ return { props: props };
+ }
+);
+
+export default withRouter(connect(mapStateToProps)(IndexPage));
\ No newline at end of file
diff --git a/pages/transaction.js b/pages/transaction.js
index 2202aca..68c26f8 100644
--- a/pages/transaction.js
+++ b/pages/transaction.js
@@ -19,13 +19,13 @@ export default function TransactionPage()
-
-
-
-
-
Договор №1234/2021 от 10.01.2021
+
+
+
+
+
Договор №1234/2021 от 10.01.2021
-
+
ООО “Друзья и КО”
ИНН: 12345678765 КПП: 13432-02
@@ -34,9 +34,9 @@ export default function TransactionPage()
-