@charset "UTF-8";

/* --------------------------------------------
CONTACT
--------------------------------------------- */
form#mailformpro{
	padding : 0;
	label{
		margin : 0;
	}
	:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , select , textarea ){
		padding-inline : 1em;
		margin : 0;
		background-color : white;
		border : 0;
		box-shadow : none;
	}
	:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , select ){
		padding-block : 0;
	}
	textarea{
		padding-block : 1em;
	}
	.radios{
		label{
			display : grid;
			grid-auto-flow : column;
			align-items : center;
			justify-content : start;
			padding : 0;
			margin : 0;
			background-color : transparent;
			border : 0;
			border-radius : 0;
			box-shadow : none;
		}
		input[type="radio"]{
			margin : 0;
		}
	}
	.checkboxies{
		label{
			display : grid;
			grid-auto-flow : column;
			align-items : center;
			justify-content : start;
			padding : 0;
			margin : 0;
			background-color : transparent;
			border : 0;
			border-radius : 0;
			box-shadow : none;
		}
		input[type="radio"]{
			margin : 0;
		}
	}
	button[type="submit"]{
		padding : 0;
		text-shadow : none;
		background : var( --blue );
	}
}
#contact{
	h1{
		width : fit-content;
		margin-inline : auto;
		font-weight : 700;
		color : var( --blue );
		text-align : center;
		&::after{
			display : block;
			width : 100%;
			height : calc( 2 * var( --remBase ) );
			font-size : 0;
			content : "";
			background-color : currentColor;
		}
	}
	.lede{
		font-weight : 500;
	}
	.formGroup{
		border-bottom : solid 1px #ccc;
		> label{
			font-weight : 500;
			span{
				display : block;
			}
		}
	}
	:is( input[type="text"] , input[type="email"] , select , textarea ){
		width : 100%;
		padding-inline : 1em;
		font-weight : 500;
		color : var( --base );
		outline : solid 1px #ccc;
		outline-offset : -1px;
		&::placeholder{
			font-weight : 400;
			color : #ccc;
		}
	}
	.radios{
		display : flex;
		flex-wrap : wrap;
		input[type="radio"]{
			accent-color : var( --blue );
		}
		span{
			margin-left : .25em;
		}
	}
	.birthdays{
		display : grid;
		grid-template-columns : 1fr auto 1fr auto 1fr auto;
		grid-auto-flow : column;
		align-items : baseline;
	}
	.checkboxies{
		display : flex;
		flex-wrap : wrap;
		input[type="checkbox"]{
			accent-color : var( --blue );
		}
		span{
			margin-left : .25em;
		}
	}
	.numbers{
		> div{
			display : grid;
			grid-template-columns : 1fr auto;
			overflow : hidden;
			outline : solid 1px #ccc;
			outline-offset : -1px;
		}
		input[type="number"] , span{
			grid-row : 1;
			height : 100%;
		}
		input[type="number"]{
			grid-column : 1;
			height : 100%;
			text-align : right ! important;
			border-right : solid 1px #ccc;
		}
		span{
			display : grid;
			grid-column : 2;
			place-items : center;
			padding-inline : .75em;
			background-color : #eee;
		}
	}
	button[type="submit"]{
		position : relative;
		display : grid;
		place-items : center;
		color : white;
		border : 0;
		border-radius : 100vmax;
		outline : solid 1px var( --blue );
		outline-offset : -1px;
		&::before{
			position : absolute;
			top : 50%;
			content : "▶";
			translate : 0 -50%;
		}
	}
	@media screen and ( width <= 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 36 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 8 * var( --remBase ) );
			}
		}
		.lede{
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.75;
		}
		form{
			margin-top : calc( 48 * var( --remBase ) );
		}
		.formGroup{
			padding-block : calc( 32 * var( --remBase ) );
			padding-inline : calc( 20 * var( --percentBase ) );
			> label{
				font-size : calc( 24 * var( --remBase ) );
				line-height : 1.4;
				span{
					font-size : calc( 20 * var( --remBase ) );
				}
			}
			> div{
				margin-top : calc( 12 * var( --remBase ) );
			}
		}
		:is( input[type="text"] , input[type="email"] , select , textarea ){
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.5;
			border-radius : calc( 8 * var( --remBase ) );
		}
		:is( input[type="text"] , input[type="email"] , select ){
			height : calc( 64 * var( --remBase ) );
		}
		.names{
			input[type="text"] + input[type="text"]{
				margin-top : calc( 12 * var( --remBase ) );
			}
		}
		.radios{
			column-gap : calc( 20 * var( --percentBase ) );
			label{
				span{
					font-size : calc( 24 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		.birthdays{
			column-gap : calc( 20 * var( --percentBase ) );
			span{
				font-size : calc( 20 * var( --remBase ) );
			}
		}
		.numbers{
			> div{
				height : calc( 64 * var( --remBase ) );
				border-radius : calc( 8 * var( --remBase ) );
			}
			input[type="number"] , span{
				font-size : calc( 24 * var( --remBase ) );
				line-height : 1.5;
			}
		}
		textarea{
			height : calc( 320 * var( --remBase ) );
		}
		.checkboxies{
			column-gap : calc( 20 * var( --percentBase ) );
			label{
				span{
					font-size : calc( 24 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		.buttons{
			margin-top : calc( 80 * var( --remBase ) );
		}
		button[type="submit"]{
			width : calc( 480 * var( --percentBase ) );
			height : calc( 84 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 24 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 480 );
				font-size : calc( 16 * var( --remBase ) );
			}
		}
	}
	@media print , screen and ( width > 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 28 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		.lede{
			display : grid;
			align-items : start;
			justify-content : center;
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.4;
		}
		form{
			width : calc( 720 * var( --percentBase ) );
			margin-inline : auto;
			margin-top : calc( 48 * var( --remBase ) );
		}
		.formGroup{
			display : grid;
			grid-template-columns : calc( 220 * 100% / 720 ) 1fr;
			column-gap : calc( 20 * 100% / 720 );
			align-items : center;
			padding-block : calc( 24 * var( --remBase ) );
			> label{
				font-size : calc( 16 * var( --remBase ) );
				line-height : 1.4;
				span{
					font-size : calc( 12 * var( --remBase ) );
				}
			}
		}
		.names{
			display : grid;
			grid-template-columns : repeat( 2 , calc( 230 * 100% / 480 ) );
			column-gap : calc( 20 * 100% / 480 );
			align-items : center;
			justify-content : start;
		}
		:is( input[type="text"] , input[type="email"] , select , textarea ){
			font-size : calc( 16 * var( --remBase ) );
			line-height : 1.5;
			border-radius : calc( 4 * var( --remBase ) );
		}
		:is( input[type="text"] , input[type="email"] , select ){
			height : calc( 40 * var( --remBase ) );
		}
		.radios{
			column-gap : calc( 20 * 100% / 480 );
			label{
				span{
					font-size : calc( 16 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		.birthdays{
			column-gap : calc( 20 * 100% / 480 );
			span{
				font-size : calc( 16 * var( --remBase ) );
			}
		}
		.numbers{
			> div{
				height : calc( 40 * var( --remBase ) );
				border-radius : calc( 4 * var( --remBase ) );
			}
			input[type="number"] , span{
				font-size : calc( 16 * var( --remBase ) );
				line-height : 1.5;
			}
		}
		textarea{
			height : calc( 320 * var( --remBase ) );
		}
		.checkboxies{
			column-gap : calc( 20 * 100% / 480 );
			label{
				span{
					font-size : calc( 16 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		.buttons{
			margin-top : calc( 80 * var( --remBase ) );
		}
		button[type="submit"]{
			width : calc( 320 * 100% / 720 );
			height : calc( 72 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 18 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 320 );
				font-size : calc( 12 * var( --remBase ) );
			}
		}
	}
}
#contact .privacyBox{
	overflow-y : auto;
	border : solid 1px #ccc;
	border-top : 0;
	h3{
		font-weight : 500;
		text-align : center;
	}
	dt , dd{
		float : none;
		width : 100%;
		padding : 0;
		margin : 0;
		clear : none;
		text-align : left;
		border : 0;
	}
	dl dl > div{
		display : grid;
		grid-auto-flow : column;
		column-gap : .5em;
		align-items : start;
		justify-content : start;
	}
	@media screen and ( width <= 750px ){
		height : calc( 320 * var( --remBase ) );
		padding-block : calc( 40 * var( --remBase ) );
		padding-inline : calc( 20 * var( --percentBase ) );
		h3{
			font-size : calc( 20 * var( --remBase ) );
		}
		> dl{
			margin-top : calc( 32 * var( --remBase ) );
			> div + div{
				margin-top : calc( 12 * var( --remBase ) );
			}
			> div{
				> dd{
					padding-left : .75em;
				}
			}
		}
		dt , dd{
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.5;
		}
	}
	@media print , screen and ( width > 750px ){
		height : calc( 280 * var( --remBase ) );
		padding-block : calc( 32 * var( --remBase ) );
		padding-inline : calc( 24 * var( --percentBase ) );
		h3{
			font-size : calc( 16 * var( --remBase ) );
		}
		> dl{
			margin-top : calc( 28 * var( --remBase ) );
			> div + div{
				margin-top : calc( 8 * var( --remBase ) );
			}
			> div{
				> dd{
					padding-left : .75em;
				}
			}
		}
		dt , dd{
			font-size : calc( 14 * var( --remBase ) );
			line-height : 1.5;
		}
	}
}
#contact #mfp_phase_confirm{
	h4{
		padding : 0;
		font-weight : 500;
		text-align : center;
	}
	#mfp_confirm_table{
		display : block;
		width : 100%;
		tbody{
			display : block;
			width : 100%;
			tr{
				background-color : transparent;
				background-repeat : 0;
				border-top : 0;
				border-bottom : solid 1px #ccc;
				border-left : 0;
			}
			th , td{
				padding : 0;
				background-color : transparent;
				border : 0;
			}
			th{
				font-weight : 500;
			}
			td{
				font-weight : 400;
			}
		}
	}
	.mfp_buttons{
		padding : 0;
	}
	#mfp_button_send{
		position : relative;
		display : grid;
		place-items : center;
		padding : 0;
		color : white;
		text-shadow : none;
		background : var( --blue );
		border : 0;
		border-radius : 100vmax;
		outline : solid 1px var( --blue );
		outline-offset : -1px;
		&::before{
			position : absolute;
			top : 50%;
			content : "▶";
			translate : 0 -50%;
		}
	}
	#mfp_button_cancel{
		position : relative;
		display : grid;
		place-items : center;
		padding : 0;
		color : var( --base );
		text-shadow : none;
		background : white;
		border : 0;
		border-radius : 100vmax;
		outline : solid 1px #ccc;
		outline-offset : -1px;
		&::before{
			position : absolute;
			top : 50%;
			content : "◀";
			translate : 0 -50%;
		}
	}
	@media screen and ( width <= 750px ){
		h4{
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.75;
		}
		#mfp_confirm_table{
			margin-top : calc( 48 * var( --remBase ) );
			tr{
				display : block;
				width : 100%;
				padding-block : calc( 32 * var( --remBase ) );
				padding-inline : calc( 20 * var( --percentBase ) );
				> tr{
					margin-top : calc( 12 * var( --remBase ) );
				}
				th , td{
					font-size : calc( 24 * var( --remBase ) );
					line-height : 1.4;
					span{
						font-size : calc( 20 * var( --remBase ) );
					}
				}
				td{
					padding-inline : 1em;
					margin-top : calc( 12 * var( --remBase ) );
				}
			}
		}
		.mfp_buttons{
			display : grid;
			grid-template-columns : 1fr;
			grid-auto-flow : row;
			row-gap : calc( 20 * var( --remBase ) );
			justify-content : center;
			margin-top : calc( 80 * var( --remBase ) );
		}
		#mfp_button_cancel{
			grid-row : 1;
			grid-column : 1;
			width : calc( 480 * var( --percentBase ) );
			height : calc( 84 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 24 * var( --remBase ) );
			&::before{
				left : calc( 48 * 100% / 480 );
				font-size : calc( 16 * var( --remBase ) );
			}
		}
		#mfp_button_send{
			grid-row : 3;
			grid-column : 1;
			width : calc( 480 * var( --percentBase ) );
			height : calc( 84 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 24 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 480 );
				font-size : calc( 16 * var( --remBase ) );
			}
		}
	}
	@media print , screen and ( width > 750px ){
		h4{
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.4;
		}
		#mfp_confirm_table{
			width : calc( 720 * var( --percentBase ) );
			margin-inline : auto;
			margin-top : calc( 48 * var( --remBase ) );
			tr{
				display : grid;
				grid-template-columns : calc( 240 * 100% / 720 ) 1fr;
				align-items : center;
				padding-block : calc( 12 * var( --remBase ) );
				+ .tr{
					margin-top : calc( 12 * var( --remBase ) );
				}
				th , td{
					font-size : calc( 16 * var( --remBase ) );
					line-height : 1.4;
					span{
						font-size : calc( 12 * var( --remBase ) );
					}
				}
			}
		}
		.mfp_buttons{
			display : grid;
			grid-template-columns : calc( 320 * var( --percentBase ) ) auto calc( 320 * var( --percentBase ) );
			column-gap : calc( 12 * var( --percentBase ) );
			align-items : center;
			justify-content : center;
			margin-top : calc( 80 * var( --remBase ) );
		}
		#mfp_button_cancel{
			grid-row : 1;
			grid-column : 1;
			height : calc( 72 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			&::before{
				left : calc( 48 * 100% / 320 );
				font-size : calc( 12 * var( --remBase ) );
			}
		}
		#mfp_button_send{
			grid-row : 1;
			grid-column : 3;
			height : calc( 72 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 320 );
				font-size : calc( 12 * var( --remBase ) );
			}
		}
	}
}
#contact .mfp_err{
	padding : 0;
	padding-left : 1.5em;
	margin : 0;
	background-position : left center;
	@media screen and ( width <= 750px ){
		padding-block : calc( 6 * var( --remBase ) );
		font-size : calc( 16 * var( --remBase ) );
	}
	@media print , screen and ( width > 750px ){
		padding-block : calc( 4 * var( --remBase ) );
		font-size : calc( 12 * var( --remBase ) );
	}
}

/* --------------------------------------------
THANKS
--------------------------------------------- */
#thanks{
	h1{
		width : fit-content;
		margin-inline : auto;
		font-weight : 700;
		color : var( --blue );
		text-align : center;
		&::after{
			display : block;
			width : 100%;
			height : calc( 2 * var( --remBase ) );
			font-size : 0;
			content : "";
			background-color : currentColor;
		}
	}
	p{
		font-weight : 500;
		text-align : center;
		+ p{
			margin-top : 1lh;
		}
		a{
			position : relative;
			display : block;
			width : fit-content;
			margin-inline : auto;
			margin-top : 1em;
			margin-bottom : .25em;
			font-weight : 700;
			line-height : 1;
			text-align : center;
			text-indent : .01em;
			letter-spacing : .01em;
			text-box : trim-both cap alphabetic;
			&::before{
				position : absolute;
				top : 100%;
				left : 0;
				left : -.5em;
				z-index : -1;
				display : block;
				width : calc( 100% + 1em );
				font-size : 0;
				content : "";
				background-color : #fff000;
			}
		}
	}
	@media screen and ( width <= 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 36 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 8 * var( --remBase ) );
			}
		}
		p{
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.75;
			a{
				font-size : calc( 68 * var( --remBase ) );
				&::before{
					height : calc( 12 * var( --remBase ) );
				}
			}
		}
		h1 + p{
			margin-top : calc( 48 * var( --remBase ) );
		}
	}
	@media print , screen and ( width > 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 28 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		p{
			display : grid;
			align-items : start;
			justify-content : center;
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.7;
			a{
				font-size : calc( 52 * var( --remBase ) );
				&::before{
					height : calc( 8 * var( --remBase ) );
				}
			}
		}
		h1 + p{
			margin-top : calc( 48 * var( --remBase ) );
		}
	}
}

/* --------------------------------------------
FACTORING FORM
--------------------------------------------- */
#factoringForm{
	h1{
		width : fit-content;
		margin-inline : auto;
		font-weight : 700;
		color : var( --blue );
		text-align : center;
		&::after{
			display : block;
			width : 100%;
			height : calc( 2 * var( --remBase ) );
			font-size : 0;
			content : "";
			background-color : currentColor;
		}
	}
	.lede{
		font-weight : 500;
	}
	h2{
		font-weight : 500;
		color : var( --blue );
	}
	.formGroup{
		border-bottom : solid 1px #ccc;
		> label{
			font-weight : 500;
			span{
				display : block;
			}
		}
		> div{
			p{
				color : #dc3232;
			}
		}
	}
	:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , input[type="tel"] , select , textarea ){
		width : 100%;
		padding-inline : 1em;
		font-weight : 500;
		color : var( --base );
		background-color : white;
		outline : solid 1px #ccc;
		outline-offset : -1px;
		box-shadow : none;
		&::placeholder{
			font-weight : 400;
			color : #ccc;
		}
	}
	input[type="number"]{
		text-align : right ! important;
	}
	input[type="date"]{
		text-align : left ! important;
	}
	.radios{
		.wpcf7-radio{
			display : flex;
			flex-wrap : wrap;
			label{
				display : flex;
				column-gap : .25em;
				align-content : center;
				align-items : center;
			}
			input[type="radio"]{
				accent-color : var( --blue );
			}
			span{
				margin-left : .25em;
			}
		}
	}
	.prices{
		display : grid;
		align-items : center;
		justify-content : start;
		input{
			text-align : right;
		}
		p{
			grid-column : 1/-1;
		}
	}
	.clients{
		> div{
			align-items : center;
		}
		label{
			font-weight : 500;
			line-height : 1.2;
		}
		> div > div:not( .mfp_err ){
			display : grid;
			align-items : center;
			justify-content : start;
		}
		.mfp_err{
			grid-column : 1/-1;
		}
	}
	.filesWrapper{
		> label{
			display : block;
			font-weight : 500;
		}
	}
	.files{
		> label{
			position : relative;
			display : block;
			align-content : center;
			text-align : center;
			white-space : normal;
			> span{
				color : orange;
			}
			input{
				position : absolute;
				inset : 0;
				opacity : 0;
			}
		}
	}
	.file-item{
		position : relative;
		display : grid;
		grid-template-columns : auto 1fr;
		align-items : center;
		img{
			width : auto;
			aspect-ratio : 1;
			object-fit : cover;
		}
		button{
			position : absolute;
			top : 0;
			right : 0;
			font-family : DIN , sans-serif;
			font-weight : 700;
			color : var( --base );
			translate : -50% 50%;
		}
	}
	input[type="submit"]{
		position : relative;
		display : grid;
		place-items : center;
		color : white;
		background-color : var( --blue );
		border : 0;
		border-radius : 100vmax;
		outline : solid 1px var( --blue );
		outline-offset : -1px;
		&::before{
			position : absolute;
			top : 50%;
			content : "▶";
			translate : 0 -50%;
		}
	}
	@media screen and ( width <= 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 36 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 8 * var( --remBase ) );
			}
		}
		.lede{
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.75;
		}
		form{
			margin-top : calc( 48 * var( --remBase ) );
		}
		.fieldset{
			+ .fieldset{
				margin-top : calc( 120 * var( --remBase ) );
			}
		}
		h2{
			font-size : calc( 28 * var( --remBase ) );
		}
		h2 + .formGroup{
			margin-top : calc( 12 * var( --remBase ) );
		}
		.formGroup{
			padding-block : calc( 32 * var( --remBase ) );
			padding-inline : calc( 20 * var( --percentBase ) );
			> label{
				font-size : calc( 24 * var( --remBase ) );
				line-height : 1.4;
				span{
					font-size : calc( 20 * var( --remBase ) );
				}
			}
			> div{
				margin-top : calc( 12 * var( --remBase ) );
				p{
					margin-top : calc( 12 * var( --remBase ) );
					font-size : calc( 20 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , input[type="tel"] , select , textarea ){
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.5;
			border-radius : calc( 8 * var( --remBase ) );
		}
		:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , input[type="tel"] , select ){
			height : calc( 64 * var( --remBase ) );
		}
		input[type="date"]{
			box-sizing : border-box;
			-webkit-appearance : none;
		}
		.radios{
			.wpcf7-radio{
				column-gap : calc( 20 * var( --percentBase ) );
				label{
					span{
						font-size : calc( 24 * var( --remBase ) );
						line-height : 1.5;
					}
				}
			}
		}
		.prices{
			grid-template-columns : 1fr calc( 320 * 100% / 655 ) auto ;
			column-gap : calc( 8 * 100% / 655 );
			span{
				font-size : calc( 24 * var( --remBase ) );
				&:nth-of-type( 1 ){
					grid-column : 2;
				}
				&:nth-of-type( 2 ){
					grid-column : 3;
				}
			}
		}
		.clients{
			padding-top : calc( 24 * var( --remBase ) );
			> div{
				grid-template-columns : calc( 200 * 100% / 655 ) 1fr;
				margin-top : calc( 12 * var( --remBase ) );
				+ div{
					margin-top : calc( 24 * var( --remBase ) );
				}
			}
			label{
				display : block;
				margin-bottom : calc( 8 * var( --remBase ) );
				font-size : calc( 20 * var( --remBase ) );
				line-height : 1.5;
			}
			> div div:not( .mfp_err ){
				grid-template-columns : auto calc( 280 * 100% / 655 );
				column-gap : calc( 8 * 100% / 655 );
			}
		}
		textarea{
			height : calc( 240 * var( --remBase ) );
		}
		.filesWrapper{
			> label{
				padding-top : calc( 20 * var( --remBase ) );
				padding-bottom : calc( 20 * var( --remBase ) );
				font-size : calc( 24 * var( --remBase ) );
			}
		}
		.files{
			> label{
				height : calc( 120 * var( --remBase ) );
				font-size : calc( 18 * var( --remBase ) );
				border : dashed calc( 2 * var( --remBase ) ) #999;
				border-radius : calc( 8 * var( --remBase ) );
			}
		}
		.file-item{
			column-gap : calc( 24 * 100% / 655 );
			padding-block : calc( 12 * var( --remBase ) );
			img{
				height : calc( 120 * var( --remBase ) );
			}
			span{
				font-size : calc( 20 * var( --remBase ) );
			}
			button{
				font-size : calc( 28 * var( --remBase ) );
			}
		}
		.bankNumber{
			input{
				width : calc( 240 * 100% / 655 );
			}
		}
		.names{
			> span{
				display : block;
			}
			> span + span{
				margin-top : calc( 12 * var( --remBase ) );
			}
		}
		.buttons{
			margin-top : calc( 80 * var( --remBase ) );
		}
		input[type="submit"]{
			width : calc( 480 * var( --percentBase ) );
			height : calc( 84 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 24 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 480 );
				font-size : calc( 16 * var( --remBase ) );
			}
		}
	}
	@media print , screen and ( width > 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 28 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		.lede{
			display : grid;
			align-items : start;
			justify-content : center;
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.4;
		}
		form{
			width : calc( 720 * var( --percentBase ) );
			margin-inline : auto;
			margin-top : calc( 64 * var( --remBase ) );
		}
		.fieldset{
			+ .fieldset{
				margin-top : calc( 80 * var( --remBase ) );
			}
		}
		h2{
			font-size : calc( 26 * var( --remBase ) );
		}
		h2 + .formGroup{
			margin-top : calc( 12 * var( --remBase ) );
		}
		.formGroup{
			display : grid;
			grid-template-columns : calc( 220 * 100% / 720 ) 1fr;
			column-gap : calc( 20 * 100% / 720 );
			align-items : center;
			padding-block : calc( 24 * var( --remBase ) );
			> label{
				font-size : calc( 16 * var( --remBase ) );
				line-height : 1.4;
				span{
					font-size : calc( 12 * var( --remBase ) );
				}
			}
			> div{
				p{
					margin-top : calc( 4 * var( --remBase ) );
					font-size : calc( 14 * var( --remBase ) );
					line-height : 1.5;
				}
			}
		}
		:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , input[type="tel"] , select , textarea ){
			font-size : calc( 16 * var( --remBase ) );
			line-height : 1.5;
			border-radius : calc( 4 * var( --remBase ) );
		}
		:is( input[type="text"] , input[type="email"] , input[type="date"] , input[type="number"] , input[type="tel"] , select ){
			height : calc( 40 * var( --remBase ) );
		}
		.radios{
			.wpcf7-radio{
				column-gap : calc( 20 * 100% / 480 );
				label{
					span{
						font-size : calc( 16 * var( --remBase ) );
						line-height : 1.5;
					}
				}
			}
		}
		.prices{
			grid-template-columns : auto calc( 240 * 100% / 480 ) 1fr;
			column-gap : calc( 8 * 100% / 480 );
			span{
				font-size : calc( 16 * var( --remBase ) );
			}
		}
		textarea{
			height : calc( 160 * var( --remBase ) );
		}
		.clients{
			> div{
				display : grid;
				grid-template-columns : calc( 140 * 100% / 480 ) 1fr;
				column-gap : calc( 8 * 100% / 480 );
				+ div:not( .mfp_err ){
					margin-top : calc( 16 * var( --remBase ) );
				}
				div{
					grid-template-columns : auto calc( 160 * 100% / 332 );
					column-gap : calc( 8 * var( --remBase ) );
				}
			}
			p{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		.filesWrapper{
			> label{
				margin-bottom : calc( 8 * var( --remBase ) );
				font-size : calc( 16 * var( --remBase ) );
				&:nth-of-type( n+2 ){
					margin-top : calc( 12 * var( --remBase ) );
				}
			}
		}
		.files{
			> label{
				height : calc( 80 * var( --remBase ) );
				font-size : calc( 14 * var( --remBase ) );
				border : dashed calc( 2 * var( --remBase ) ) #999;
				border-radius : calc( 8 * var( --remBase ) );
				input::file-selector-button{
					height : calc( 40 * var( --remBase ) );
					margin-top : calc( 8 * var( --remBase ) );
					font-size : calc( 16 * var( --remBase ) );
					border-radius : calc( 4 * var( --remBase ) );
				}
			}
		}
		.file-item{
			column-gap : calc( 24 * 100% / 480 );
			padding-block : calc( 12 * var( --remBase ) );
			img{
				height : calc( 160 * var( --remBase ) );
			}
			span{
				font-size : calc( 16 * var( --remBase ) );
			}
			button{
				font-size : calc( 20 * var( --remBase ) );
			}
		}
		.bankNumber{
			input{
				width : calc( 240 * 100% / 480 );
			}
		}
		.names{
			display : grid;
			grid-template-columns : repeat( 2 , calc( 230 * 100% / 480 ) );
			column-gap : calc( 20 * 100% / 480 );
			align-items : center;
			justify-content : start;
		}
		.buttons{
			margin-top : calc( 80 * var( --remBase ) );
		}
		input[type="submit"]{
			width : calc( 320 * 100% / 720 );
			height : calc( 72 * var( --remBase ) );
			margin-inline : auto;
			font-size : calc( 18 * var( --remBase ) );
			&::before{
				right : calc( 48 * 100% / 320 );
				font-size : calc( 12 * var( --remBase ) );
			}
		}
	}
}
#factoringConfirm{
	h1{
		width : fit-content;
		margin-inline : auto;
		font-weight : 700;
		color : var( --blue );
		text-align : center;
		&::after{
			display : block;
			width : 100%;
			height : calc( 2 * var( --remBase ) );
			font-size : 0;
			content : "";
			background-color : currentColor;
		}
	}
	.lede{
		font-weight : 500;
	}
	h2{
		font-weight : 500;
		color : var( --blue );
	}
	.formGroup{
		border-bottom : solid 1px #ccc;
		> label{
			font-weight : 500;
			span{
				display : block;
			}
		}
	}
	.fieldset{
		>dl{
			> div{
				border-bottom : solid 1px #ccc;
			}
		}
	}
	@media screen and ( width <= 750px ){
		h1{
			font-size : calc( 36 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 8 * var( --remBase ) );
			}
		}
		.lede{
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 24 * var( --remBase ) );
			line-height : 1.75;
		}
		form{
			margin-top : calc( 48 * var( --remBase ) );
		}
		.fieldset{
			+ .fieldset{
				margin-top : calc( 120 * var( --remBase ) );
			}
		}
		h2{
			font-size : calc( 28 * var( --remBase ) );
		}
		h2 + dl{
			margin-top : calc( 12 * var( --remBase ) );
		}
		dl{
			padding-block : calc( 32 * var( --remBase ) );
			padding-inline : calc( 20 * var( --percentBase ) );
			dt{
				font-size : calc( 24 * var( --remBase ) );
				line-height : 1.4;
			}
			dd{
				margin-top : calc( 12 * var( --remBase ) );
				font-size : calc( 20 * var( --remBase ) );
				line-height : 1.5;
			}
		}
	}
	@media print , screen and ( width > 750px ){
		h1{
			font-size : calc( 28 * var( --remBase ) );
			line-height : 1.2;
			&::after{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		.lede{
			display : grid;
			align-items : start;
			justify-content : center;
			margin-top : calc( 48 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
			line-height : 1.4;
		}
		form{
			width : calc( 720 * var( --percentBase ) );
			margin-inline : auto;
			margin-top : calc( 64 * var( --remBase ) );
		}
		.fieldset{
			+ .fieldset{
				margin-top : calc( 80 * var( --remBase ) );
			}
		}
		h2{
			font-size : calc( 26 * var( --remBase ) );
		}
		h2 + dl{
			margin-top : calc( 12 * var( --remBase ) );
		}
		dl{
			> div{
				display : grid;
				grid-template-columns : calc( 220 * 100% / 720 ) 1fr;
				column-gap : calc( 20 * 100% / 720 );
				align-items : center;
				padding-block : calc( 24 * var( --remBase ) );
			}
			dt{
				font-size : calc( 16 * var( --remBase ) );
				line-height : 1.4;
			}
			dd{
				font-size : calc( 14 * var( --remBase ) );
				line-height : 1.5;
			}
		}
	}
}
#factoringForm .wpcf7-not-valid-tip{
	grid-column : 1/-1;
	padding : 0;
	margin : 0;
	font-weight : 500;
	background-position : left center;
	&::before{
		display : inline-block;
		width : auto;
		height : 1em;
		aspect-ratio : 1;
		margin-right : .25em;
		content : "";
		background : url( "../images/ui/parts/error.gif" ) left top / contain no-repeat;
	}
	@media screen and ( width <= 750px ){
		padding-block : calc( 6 * var( --remBase ) ) ! important;
		font-size : calc( 16 * var( --remBase ) ) ! important;
	}
	@media print , screen and ( width > 750px ){
		padding-block : calc( 4 * var( --remBase ) ) ! important;
		font-size : calc( 16 * var( --remBase ) ) ! important;
	}
}

/* --------------------------------------------
PRIVACY POLICY
--------------------------------------------- */
#policy{
	h1{
		width : fit-content;
		margin-inline : auto;
		font-weight : 700;
		line-height : 1.2;
		color : var( --blue );
		text-align : center;
		&::after{
			display : block;
			width : 100%;
			height : calc( 2 * var( --remBase ) );
			font-size : 0;
			content : "";
			background-color : currentColor;
		}
	}
	h2{
		font-weight : 500;
		line-height : 1.5;
		color : var( --blue );
	}
	h2 ~ *{
		padding-left : 1em;
	}
	p , li li , h3{
		font-weight : 500;
		line-height : 1.5;
	}
	li[data-before]{
		display : grid;
		grid-template-columns : auto 1fr;
		align-items : start;
		justify-content : start;
	}
	h3{
		font-weight : 500;
	}
	.contacts{
		p{
			padding-left : 1em;
		}
	}
	@media screen and ( width <= 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 36 * var( --remBase ) );
			&::after{
				margin-top : calc( 8 * var( --remBase ) );
			}
		}
		> :where( ul , p ){
			padding-inline : calc( 27.5 * var( --percentBase ) );
		}
		p , li li , h3{
			font-size : calc( 24 * var( --remBase ) );
		}
		h1 + p{
			margin-top : calc( 56 * var( --remBase ) );
		}
		> ul{
			margin-top : calc( 48 * var( --remBase ) );
			> li + li{
				margin-top : calc( 48 * var( --remBase ) );
			}
		}
		ul ul{
			margin-top : calc( 8 * var( --remBase ) );
		}
		h2{
			margin-bottom : calc( 12 * var( --remBase ) );
			font-size : calc( 26 * var( --remBase ) );
		}
		.contacts{
			margin-top : calc( 12 * var( --remBase ) );
			li + li{
				margin-top : calc( 12 * var( --remBase ) );
			}
			h3{
				margin-bottom : calc( 4 * var( --remBase ) );
			}
		}
	}
	@media print , screen and ( width > 750px ){
		padding-top : calc( 120 * var( --remBase ) );
		padding-bottom : calc( 200 * var( --remBase ) );
		h1{
			font-size : calc( 28 * var( --remBase ) );
			&::after{
				margin-top : calc( 4 * var( --remBase ) );
			}
		}
		> :where( ul , p ){
			width : calc( 800 * var( --percentBase ) );
			margin-inline : auto;
		}
		p , li li , h3{
			font-size : calc( 16 * var( --remBase ) );
		}
		h1 + p{
			margin-top : calc( 56 * var( --remBase ) );
		}
		> ul{
			margin-top : calc( 48 * var( --remBase ) );
			> li + li{
				margin-top : calc( 48 * var( --remBase ) );
			}
		}
		ul ul{
			margin-top : calc( 8 * var( --remBase ) );
		}
		h2{
			margin-bottom : calc( 12 * var( --remBase ) );
			font-size : calc( 18 * var( --remBase ) );
		}
		.contacts{
			margin-top : calc( 12 * var( --remBase ) );
			li + li{
				margin-top : calc( 12 * var( --remBase ) );
			}
			h3{
				margin-bottom : calc( 4 * var( --remBase ) );
			}
		}
	}
}