:root{
	--text-color: #352A28;
	--text-dark: #352A28;
/*	--main-color: #FC783A;*/
--body-color: #FFF;
--gap: 45px;
--title-gap: 32px;


--swiper-theme-color: var(--main-color);
--swiper-pagination-bullet-inactive-color: var(--main-color);

--main-color: #fedd60;

--lite-gray: #abb8c3;
--border-color: #e8eaeb;

--gray: #999;
--bdc: #E8EAEB;
}

.tabs__content {
	display: none;
}
.tabs__content.active {
	display: block;
}


body{

	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	line-height: 1.4;
	max-width: 2048px;
	margin-left: auto;
	margin-right: auto;
	color: var(--text-color);
	background-color: var(--body-color);
	position: relative;
}


a{
	color: var(--main-color);
	text-decoration: none;
}

a:hover{
	color: #CE2128;
	text-decoration: none;
}

ul{
	margin: 0;
	padding: 0;
}

img{
	max-width: 100%;
	height: auto;
}

p{
	font-size: 16px;
	margin: 0 0 20px;
}

section{
	margin-top: var(--gap);
	margin-bottom: var(--gap);
}

a.delete-link {
	outline: none;
	height: 36px;
	line-height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #FF0000;
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: .15em;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
}

.section-title,
.h1,
h1{

	/*font-weight: 500;*/
	font-weight: 700;
	font-size: 28px;
	line-height: 1.2;
	margin-bottom: var(--title-gap);

}

.section-title{

}

.gray{
	color: var(--gray);
}

.text-left{
	text-align: left;
}

.text-center{
	text-align: center;
}




.error-message{
	display: none;
	color: #CE2128;
	font-weight: 500;
	margin-top: -10px;
	margin-bottom: 20px;
}

.error-message.success {
	color: #0dbe00;
}


.welcome-page {
	padding: 30px 0;
	display: flex;
	min-height: 100vh;
	justify-content: center;
	align-items: center;
	background-size: cover;
	background-position: center;
}

.welcome-page-container {
	background: #fff;
	padding: 40px;
	border-radius: 32px;
	max-width: 360px;
}

.logo {
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.welcome-page-container .logo{
	margin-bottom: 30px;
}

.welcome-page-container {
	position: relative;
	background: #fff;
	padding: 32px;
	border-radius: 32px;
	max-width: 360px;
	width: 100%;
}



.tabs {}

.tabs__caption {
	display: flex;
	justify-content: space-around;
	border: 1px solid #d8dce6;
	border-radius: 20px;
	margin-bottom: 20px;
}

.tabs__caption li {
	list-style: none;
	flex: 1;
	text-align: center;
	font-size: 16px;
	font-weight: 500;
	padding: 17px 10px;
	border-radius: 20px;
	cursor: pointer;
	margin: 1px;
	line-height: 1;
	transition: all .2s;
}

.tabs__caption li:hover,
.tabs__caption li.active {
	background: #f1f2f5;
}


.form input {
	border-radius: 20px;
	display: block;
	width: 100%;
	margin-bottom: 20px;
	font-size: 16px;
	border: 1px solid #d8dce6;
	line-height: 1;
	padding: 15px;
	outline: none;
}

.form input[type="submit"] {
	background: #333;
	color: #fff;
	font-weight: 500;
	margin-bottom: 0;
}


.input-group{
	margin-bottom: 12px;
	max-width: 320px;
}

.input-group input{
	display: block;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	outline: none;
	line-height: 16px;
	padding: 10px;
	width: 100%;
	background-color: var(--border-color);
}

.input-group input[type=text] {
	background: #fff;
}

.lost-password {
	display: inline-block;
	font-weight: 500;
	color: #04b;
	margin-bottom: 20px;
}

.loader {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	justify-content: center;
	align-items: center;
	z-index: 999;
	background: rgb(255 255 255 / 40%);
	border-radius: 32px;
}

.loader.active{
	display: flex;
}


.lds-ring {
	display: inline-block;
	position: relative;
	width: 80px;
	height: 80px;
}
.lds-ring div {
	box-sizing: border-box;
	display: block;
	position: absolute;
	width: 64px;
	height: 64px;
	margin: 8px;
	border: 8px solid #fff;
	border-radius: 50%;
	animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
	border-color: var(--main-color) transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
	animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
	animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
	animation-delay: -0.15s;
}
@keyframes lds-ring {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}


.page-template-page-template-welcome .main-header{
	display: none;
}













.main-header {
	border-bottom: 1px solid var(--border-color);
}

.main-header a,
.main-header a:hover{
	color: var(--text-color);
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 64px;
}

.header-container .header-left {
	display: flex;
	align-items: center;
}

.profile-link {
	color: var(--text-color);
	font-weight: bold;
	display: flex;
	align-items: center;
}

.profile-link svg {
	width: 32px;
	height: 32px;
	margin-right: 12px;
	fill: var(--lite-gray);
}

.project-selector {
	font-weight: bold;
}



.mobile-menu-button {
	display: block;
	cursor: pointer;
	padding: 19px 7px;
	width: 42px;
	flex-shrink: 0;
	margin-right: 24px;
}

.mobile-menu-button span {
	display: block;
	height: 4px;
	position: relative;
	transition: all .3s ease
}

.mobile-menu-button span:before,.mobile-menu-button span:after {
	display: block;
	content: '';
	left: 0;
	right: 0;
	height: 4px;
	position: absolute;
	left: 0;
	transition: all .25s ease
}

.mobile-menu-button span:before,
.mobile-menu-button span:after,
.mobile-menu-button span {
	transform: rotate(0);
	background: var(--text-color);
}

.mobile-menu-button span:before {
	top: -9px
}

.mobile-menu-button span:after {
	bottom: -9px
}

.mobile-menu-button.active span {
	background: 0 0
}

.mobile-menu-button.active span:before {
	transform: translate(0px,9px) rotate(-45deg)
}

.mobile-menu-button.active span:after {
	transform: translate(0px,-9px) rotate(45deg)
}


.add-project-form{
	font-size: 14px;
}

.add-button{
	font-size: 14px;
	color: var(--lite-gray);
}

.add-button svg{
	vertical-align: -4px;
	width: 18px;
	height: 18px;
	margin-right: 5px;
	fill:  var(--lite-gray);
}






.project-data-title {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.project-data-title .action-btn {
	margin-left: 30px;
}

.data-selector{
	display: flex;
	justify-content: space-between;
	align-items: center;

}

.chart-actions-buttons{
	font-size: 0;
	margin-left: auto;
}

.table-buttons-group {
	font-size: 0;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin-bottom: 12px;
}

.table-buttons-group h3 {
	font-size: 16px;
	margin: 0;
	margin-right: auto;
}

.action-btn {
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	padding: 0 10px;
	border: 0;
	border-radius: 4px;
	background: var(--border-color);
	margin-left: 10px;
	outline: none;
/*	color: var(--gray);*/
}

.action-btn svg {
	width: 16px;
	height: 16px;

	opacity: .25;
	transition: opacity .2s;
	vertical-align: sub;
}

.action-btn:hover{
	color: var(--text-color);
}

.action-btn:hover svg{
	opacity: 1;
}

table.result-table {
	text-align: right;
	margin-bottom: 12px;
	border-collapse: separate;
	border-spacing: 0;
	border-top: 1px solid #ececec;
	font-size: 13px;
	color: #000;
	min-width: 100%;
}

table.result-table th {
	white-space: nowrap;
	padding: 13px;
	line-height: 1;
	border-bottom: 1px solid #ececec;
	border-right: 1px solid #ececec;
	background: #f6f5f3;
}

table.result-table td {
	border-right: 1px solid #ececec;
	border-bottom: 1px solid #ececec;
	padding: 11px 13px;
	line-height: 1;
}

table.result-table td{
	padding-left: 12px;
}

table.result-table .child-row .sticky {
	padding-left: 43px;
	padding-left: 75px;
	font-size: 0;
}

table.result-table .main{
	font-weight: bold;
}

.sticky {
	text-align: left;
	position: sticky;
	left: 0;
	border-left: 1px solid #ececec;
	white-space: nowrap;
	background: #fff;
}

table.result-table tr:hover .sticky,
table.result-table tr:hover {
	background: #f6f5f3;
}


.table-wrap {
	position: relative;
	max-width: 100%;
	overflow-x: auto;
	margin-bottom: 24px;
}







.chart-container {
	display: flex;
	align-items: stretch;
	min-height: calc(100vh - 65px);
}

.chart-container .chart-sidebar {
	width: 100%;
	max-width: 235px;
	flex-shrink: 0;
	padding: 20px 15px;
	background: #1b3446;
	position: sticky;
	color: #aab0b6;
}


.chart-container .chart-sidebar svg{
	fill:  var(--lite-gray);
}

.chart-container .chart-sidebar a {
	color: var(--lite-gray);
}

.project-list.current a {
	color: #fff;
}

.project-list a {
	display: block;
}

.chart-container .chart-content {
	padding: 20px 15px;
	flex: 1;
	max-width: calc(100% - 235px);
}

.project-edit{
	width: 100%;
}

.project-edit h3{
	font-size: 16px;
}

.js-table{
	margin-bottom: 12px;
}


.span-checkbox,
.expand-rows{
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 12px;
	border: 1px solid rgba(0,0,0,.2);
	border-radius: 4px;
	position: relative;
	font-size: 0;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
	position: relative;
}

.span-checkbox:hover,
.expand-rows:hover{
	border-color: rgba(0,0,0,.3);
}

/*.expand-rows:hover:before,
.expand-rows:hover:after{
	background: rgba(0,0,0,.3);
}*/

.expand-rows:before{
	content: '';
	position: absolute;
	left: 3px;
	right: 0;
	top: 6px;
	width: 8px;
	height: 2px;
	background: #999;
}

.expand-rows:after{
	content: '';
	position: absolute;
	left: 6px;
	right: 0;
	top: 3px;
	height: 8px;
	width: 2px;
	background: #999;
}

.expand-rows.active:after{
	opacity: 0;
}

/*.expand-rows.active:before{
	background: rgba(0,0,0,.3);
}
*/

.span-checkbox svg {
	position: absolute;
	bottom: 3px;
	left: 2px;
	width: 16px;
	height: 16px;
	opacity: 0;
}

.span-checkbox.active,
tr.active .span-checkbox{
	border-color: rgba(153,122,0,.5);
	background-color: #ffeba0;
}

.span-checkbox.active svg,
tr.active .span-checkbox svg{
	opacity: 1;
}

tr.semi-active .span-checkbox{
	border-color: rgba(0,0,0,.3);
}

tr.semi-active .span-checkbox:before{
	content: '';
	width: 6px;
	height: 6px;
	background-color: #000;
	position: absolute;
	left: 4px;
	top: 4px;
	border-radius: 2px;
}

.product-color-marker,
.color-marker{
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 5px;
	opacity: 0;
}

tr.active .product-color-marker,
tr.active .color-marker{
	opacity: 1;
}

/*tr.active .sticky {
	color: red;
}*/


.chart-type-btn svg {
	width: 16px;
	height: 16px;
	opacity: .25;
	transition: opacity .2s;
}

.chart-type-btn {
	width: 36px;
	height: 36px;
	line-height: 1;
	border: 0;
	border-radius: 3px;
	background: #fff;
	transition: background .2s;
}

.chart-type-btn:hover {
	background: var(--border-color);
}

.chart-type-btn.active {
	background: var(--main-color);
}

.chart-type-btn:hover svg,
.chart-type-btn.active svg{
	opacity: 1;
}






.status-loader {
	position: relative;
	height: 20px;
	padding-bottom: 60px;
}

.status-loader:before {
	content: '';
	border-bottom: 2px solid var(--border-color);
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 9px;
}

.status-loader .status-text {
	position: absolute;
	top: 30px;
}

.status-loader .status-line {
	border-radius: 4px;
	transition: width .5s;
	position: absolute;
	top: 0;
	height: 20px;
	background: var(--main-color);
}











.projects-item{
	margin-bottom: 24px;
}




.projects-item a{
	color: var(--text-color);
	color: #446CD3;
}

.projects-item svg {
	width: 16px;
	height: 16px;
	margin-left: 5px;
	fill: #446CD3;
}

.projects-data{
	font-size: 0;
	margin-bottom: 12px;
}

.projects-data span,
.projects-data a{
	font-size: 16px;
}

.projects-data a:after{
	content: ', ';
}

.projects-data a:last-child:after{
	content: '.';
}


ul.user-list {
	margin-left: 20px;
	margin-bottom: 12px;
}

ul.user-list .delete-project-user {
	color: red;
}


.user-data{
	margin-bottom: 12px;
}

.user-data p{
	margin-bottom: 0;
}

a.logout{
	font-size: 14px;
	color: var(--text-color);
}


a.logout svg{
	margin-right: 5px;
	vertical-align: -4px;
	width: 18px;
	height: 18px;
}


.add-project-user-fields {
	display: flex;
	height: 40px;
	margin-bottom: 12px;
}

.add-project-user-fields svg {
	width: 16px;
	height: 16px;
}

.add-project-user-fields button {
	outline: none;
	border: 0;
	font-size: 0;
	width: 40px;
	text-align: center;
	background: var(--border-color);
	border-bottom-right-radius: 4px;
	border-top-right-radius: 4px;
}

.add-project-user-fields input {
	border: 2px solid var(--border-color);
	padding: 0 12px;
	outline: none;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
	width: 100%;
	max-width: 320px;
}










.products-panel {
	margin: 24px 0;
	max-width: 700px;
	position: relative;
	padding: 20px;
	border: 1px solid var(--bdc);
	border-radius: 6px;
}


label.products-label {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

label.products-label span {
	font-size: 16px;
	font-weight: 500;
	margin-right: 24px;
	flex-shrink: 0;
	width: 150px;
	color: #000;
}

.products-panel input {
	width: 100%;
	border-radius: 6px;
	border: 1px solid var(--bdc);
	outline: none;
	padding: 10px 12px;
	line-height: 18px;
	transition: border-color .2s;
}

.products-panel input:disabled {
	background: rgba(239, 239, 239, 0.3);
}

.products-panel input:focus{
	border-color: #446CD3;
}

.products-panel input.required{
	border-color: #FF0000;
}

.products-panel input::placeholder {
	color: var(--gray);
	opacity: 1; /* Firefox */
}

.products-panel input::-ms-input-placeholder { /* Edge 12 -18 */
	color: var(--gray);
}


.products-links-info{
	font-weight: 500;
	margin-top: 24px;
	margin-bottom: 12px;
}

.button,
.products-panel button{
	background-color: #446CD3;
	display: inline-block;
	color: #fff;
	border: 0;
	border-radius: 6px;
	line-height: 1;
	padding: 12px 24px;
	text-align: center;
}

.products-panel button.delete-link {
	background: transparent;
	padding: 0 12px;
	border-radius: 0;
}

.products-panel button.delete-link svg {
	width: 24px;
	height: 24px;
	fill: #f00;
}

.products-panel button.add-link{
	color: #446CD3;
	background-color: transparent;
	border-bottom: 1px solid #446CD3;
	padding: 0;
	font-weight: 500;
	border-radius: 0;
}


.products-panel button.remove-product{
	margin-left: 0;
	margin-right: auto;
}

.products-panel button.remove-product,
.products-panel button.cancel-save{
	color: #FF0000;
	background-color: transparent;
	border-bottom: 1px solid #FF0000;
	padding: 0;
	font-weight: 500;
	border-radius: 0;
}

.products-links{
	margin-bottom: 24px;
}

/*

.products-links label {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.products-links label .web-icon {
	background-color: #D0DAF4;
	background-image: url(../img/web.svg);
	background-size: 24px;
	background-repeat: no-repeat;
	background-position: center;
	width: 50px;
	border-radius: 6px;
	position: absolute;
	left: 1px;
	top: 1px;
	bottom: 1px;
}

.products-links label .save{
	width: 140px;
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
}

.products-links label input{
	padding-left: 60px;
}

*/


.canvas-titles {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 20px 0 0;
}

p.product-name,
.canvas-titles p {
	margin: 0 0 10px;
	font-weight: bold;
}












.product-edit-table-footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.product-edit-table-footer .product-edit-table-footer-left{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.product-edit-table-footer .error-text{
	margin: 0 15px 0 0;
	color: red;
	font-size: 14px;
}

.product-edit-table-footer .action-btn{
	margin-left: 0;
	margin-right: 15px;
}

.underlink-btn{
	outline:none;
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	margin-left: 15px;
	color: var(--text-color);
	color: #446CD3;

	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: .15em;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
}

.remove-product{
	outline:none;
	font-size: 14px;
	height: 36px;
	line-height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	margin-right: 15px;
	color: var(--text-color);
	color: #FF0000;

	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: .15em;
	text-decoration-thickness: 1px;
	text-decoration-skip-ink: none;
}




.product-edit-table-body {
	counter-reset: section;
}
.product-edit-table-body .product-edit-table-row {
	counter-increment: section;
}
.product-edit-table-body .col-number:before {
	content: counter(section);
}




.product-edit-table-row {
	display: flex;
	border-bottom: 1px solid #ccc;
}

.product-edit-table .col-number {
	max-width: 49px;
	flex-shrink: 0;
	text-align: center;
	background: #f0f0f0;
}

.product-edit-table .col-checkbox{
	max-width: 49px;
	flex-shrink: 0;
	text-align: center;
}

.product-edit-table .col-checkbox .span-checkbox{
	margin-right: 0;
}

.product-edit-table .col-icon{
	max-width: 49px;
	flex-shrink: 0;
	text-align: center;
}

.product-edit-table-head > div,
.product-edit-table-row > div {
	flex: 1;
	border-right: 1px solid #ccc;
}

.product-edit-table input {
	width: 100%;
	display: block;
	border: 0;
	padding: 0 4px;
	outline: 1px solid transparent;
}

.product-edit-table input.required:focus,
.product-edit-table input:focus{
	outline-color: #4b89ff;
}

.product-edit-table input.required{
	outline-color: #ff0000;
}

.product-edit-table-body {
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	margin-bottom: 12px;

}

.product-edit-table {
	font-size: 13px;
	line-height: 23px;
	margin-bottom: 24px;
		font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Helvetica Neue,Arial,sans-serif;
}

.product-edit-table-head {
	display: flex;
	border-left: 1px solid #ccc;
	border-top: 1px solid #ccc;
	background: #f0f0f0;
	text-align: center;
}


.delete-row-link{
	background-color: transparent;
	background-image: url(../img/trash.svg);
	background-image: url(../img/cancel.svg);
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: center;
	border: 0;
	outline: none;
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: middle;
}

.cancel-row-link{
	background-color: transparent;
	background-image: url(../img/cancel.svg);
	background-size: 16px;
	background-repeat: no-repeat;
	background-position: center;
	border: 0;
	outline: none;
	width: 20px;
	height: 20px;
	display: inline-block;
	vertical-align: middle;
}






table.result-table th.desc:after {
	content: '▼';
}

table.result-table th.asc:after {
	content: '▲';
}