@font-face {
    font-family: 'Idealist Sans';
    src: url('/font/IdealistSansLight.woff2') format('woff2'),
        url('/font/IdealistSansLight.woff') format('woff'),
        url('/font/IdealistSansLight.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'Idealist Sans';
    src: url('/font/IdealistSans.woff2') format('woff2'),
        url('/font/IdealistSans.woff') format('woff'),
        url('/font/IdealistSans.ttf') format('truetype');
	font-weight: 400;
    font-style: normal;
}
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
a, img, a:hover, button, button:hover, select, label, .anima {
	-webkit-transition:all 200ms linear;
	-moz-transition:all 200ms linear;
	-o-transition:all 200ms linear;
	-ms-transition:all 200ms linear
	outline:none;
}
.anima500 {
	-webkit-transition:all 500ms linear;
	-moz-transition:all 500ms linear;
	-o-transition:all 500ms linear;
	-ms-transition:all 500ms linear
	outline:none;
}
a:hover {cursor:pointer;}
a:visited {}
span, p {cursor:default;}
input {outline:none;}
html {
	overflow-x:hidden;
}
body {
	margin:0;
	min-width:320px; width:100%;
	font-family: 'Idealist Sans';
	font-optical-sizing: auto;
	font-weight:normal;
	font-style:normal;
	background:#fff;
}
table {
	border-collapse:collapse;
	min-width:260px; width:100%; max-width:1440px;
	font-size:14px;
	text-align:left;
}
th {
	padding:10px 10px 10px 15px;
	font-size:14px;
	color:#fff;
	text-align:left;
	font-weight:400;
	background:#3374DD;
	border:1px solid #6697E5;
}
td {
	padding:10px 10px 10px 15px;
	border:1px solid #6697E5;
	font-size:14px;
}
tr{background:#fff;}
tr:nth-child(odd){background:#F5F5F5;}

.flex {display:-webkit-box;display:-ms-flexbox;display:flex;}
.flex_row {-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;}
.flex_col {-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;}
.flex_wrap {-ms-flex-wrap:wrap;flex-wrap:wrap;}
.flex_nowrap {-ms-flex-wrap:nowrap;flex-wrap:nowrap;	}
.flex_center {-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.flex_center_center {-webkit-box-align:center;-ms-flex-align:center;align-items:center;}
.flex_between {-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;}
.flex_around {justify-content:space-around;}
.flex_end {-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end;}
.flex_start {-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start;}
.flex_stretch {-ms-flex-item-align:stretch;align-self:stretch;}
.container {min-width:320px; width:100%; max-width:1280px;}
h1 {font-size:calc(22px + (36 - 22) * ((100vw - 320px) / (1920 - 320))); font-weight:400;}
h2 {font-size:calc(18px + (32 - 18) * ((100vw - 320px) / (1920 - 320))); font-weight:400;}
h3 {font-size:calc(22px + (30 - 22) * ((100vw - 320px) / (1920 - 320))); font-weight:400;}
h4 {font-size:calc(22px + (28 - 22) * ((100vw - 320px) / (1920 - 320))); font-weight:400;}
header {
	padding:15px 30px;
	border-bottom:2px solid #21ACBF;
	position:relative;
}
.header_logo {
	height:100px;
}
.header_links div {
	gap:30px;
}
.header_links a {
	text-decoration:none;
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	white-space:nowrap;
}
.header_links a:hover {opacity:.8;}
.header_right {padding-bottom:30px; position:relative;}
.header_phone {
	margin-top:15px;
	text-decoration:none;
	font-size:calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320)));
	font-weight:400;
	color:#000;
	white-space:nowrap;
	text-align:right;	
}
.header_phone:hover, .header_email:hover {opacity:.8;}
.header_email {
	text-decoration:none;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	font-weight:400;
	color:#333;
	white-space:nowrap;
	text-align:right;
	margin-top:-3px;
}
.header_graf {
	white-space:nowrap;
	font-size:13px;
	color:#aaa;
	text-align:right;
	margin-top:0;
}
.header_btn {
	background-image:url(/img/icons/pen.svg);
	background-position:15px center;
	background-repeat:no-repeat;
	background-size:18px auto;
	background-color:#21ACBF;
	color:#fff;
	border:0;
	border-radius:20px 0 0 0;
	position:absolute;
	text-align:left;
	padding:7px 15px 7px 45px;
	bottom:0;
	right:0;
	width:calc(200px + (50vw - 640px));
	min-width:200px;
}
.header_btn:hover {cursor:pointer; opacity:.8;}

.header_soc_links {
	position:absolute;
	top:-7px; right:0;
	z-index:99;
}
.header_whatsapp {
	width:21px; height:21px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.header_telegram {
	margin-left:10px;
	width:21px; height:21px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.header_vk {
	margin-left:10px;
	width:27px; height:22px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.burger {
	display:none;
	width:60px;
	background-image:url(/img/icons/burger.svg);
	background-size:40px auto;
	background-position:right center;
	background-repeat:no-repeat;
}
.burger:hover {cursor:pointer; opacity:.8;}

@media only screen and (max-width:1100px) {
	.header_logo {order:1;height:70px;}
	.header_right {order:2;width:50%;}
	.header_links {
		margin-top:10px;
		order:3;
		width:100%;
		gap:25px;
	}
}
@media only screen and (max-width:1040px) {
	.header_soc_links {top:-6px; right:10px;}
	.burger {display:flex;}
	.header_right {padding-bottom:0; padding-right:10px;}
	.header_links {
		display:none;
		position:absolute;
		top:calc(100% - 8px); right:0;
		
		background:#fff;
		padding:30px;
		gap:15px;
		z-index:9999999999;
	}
	.header_links div {	
		-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;
	}
	.header_btn {
		border-radius:0 0 0 10px;
		text-align:left;
		padding:10px 20px 10px 55px;
		bottom:auto; top:100%;
		right:center;
		min-width:220px;width:220px;
	}
	.header_links a {text-align:center; width:100%;}
}
@media only screen and (max-width:720px) {
	header {padding:15px 20px;}
	header .container{min-width:180px;}
	.header_graf {font-size:12px; margin-top:0;}
}
@media only screen and (max-width:400px) {
	.header_logo {height:calc(100% - 40px); position:absolute; top:20px; left:10px; z-index:99;}
	.burger {width:40px;background-size:30px auto;}
	.header_right {padding-right:5px; min-width:150px; width:100%;}
	.header_soc_links {top:-7px; right:8px;}
}





.one_block {
	background-image:url(/img/bg_one.jpg);
	background-size:100% auto;
	background-position:center center;
	background-repeat:no-repeat;
	height:calc(80vh - 150px);
	min-height:320px;
	max-height:400px;
	animation-name: one_block;
	animation-delay: 0s;
	animation-duration:30s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
@keyframes one_block {
	0% {
		background-size:100% auto;
	}
	50% {
		background-size:140% auto;
	}	
	100% {
		background-size:100% auto;
	}
}
@media only screen and (max-width:600px) {
	.one_block {
		background-size:auto 100%;
		animation-name: one_block_mob;
	}
}
@keyframes one_block_mob {
	0% {
		background-size:auto 100%;
	}
	50% {
		background-size:auto 140%;
	}	
	100% {
		background-size:auto 100%;
	}
}
.one_block_div {
	width:100%;
	height:100%;
	background:rgba(232,247,258,.8);
}
.one_block_div div {
	padding:40px 20px;
}
.one_block_div div a {text-decoration:none;}
.one_block_div div h1, .one_block_div div a span {
	font-size:calc(32px + (60 - 32) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	text-align:center;
	margin:0;
	font-weight:bold;
	color: transparent;    
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(90deg, #FC5AAD, #FDCD11, #1A6DAF, #FC5AAD, #21ACBF, #1A6DAF);
}
.one_block_div div h2 {
	font-size:calc(20px + (38 - 20) * ((100vw - 320px) / (1920 - 320)));
	color:#333;
	text-align:center;
	margin:30px 0 0 0;
	color: transparent;    
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(90deg, #FC5AAD, #FDCD11, #1A6DAF, #FC5AAD, #21ACBF, #1A6DAF);
}



.promo_block {padding:30px;}
.promo_right {width:50%;gap:30px;}
.promo_right_top {gap:30px;}
.promo_big {
	background-position:30px 35px;
	background-size:auto 33%;
	background-repeat:no-repeat;
	margin-right:30px;
	min-width:300px;
	width:calc(50% - 30px);
	max-width:600px;
	aspect-ratio:3/2;
	max-height:400px;
	border-radius:20px;
	background-color:#1A6DAF;
	padding:30px;
}
.promo_big h3 {
	font-size:calc(20px + (28 - 20) * ((100vw - 320px) / (1920 - 320)));
	color:#fff;
	margin:0 0 15px 0;
	font-weight:400;
}
.promo_big p {
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#fff;
	margin:0 0 15px 0;
	font-weight:400;
	max-width:350px;
	font-weight:normal;
	line-height:140%;
}
.promo_big button {
	background:#21ACBF;
	padding:10px 30px;
	font-weight:16px;
	border-radius:10px;
	color:#fff;
	border:0;
	max-width:220px;
	margin-bottom:10px;
}
.promo_big button:hover {opacity:.8;}
.promo_small {
	background-repeat:no-repeat;
	border-radius:20px;
	min-height:100px;
	width:calc(50% - 15px);
	aspect-ratio:28/25;
	/**height:62%;**/
	max-height:250px;
	padding:90px 20px 20px 20px;
}
.promo_small h4 {
	font-size:calc(16px + (22 - 16) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	margin:0 0 10px 0;
	font-weight:400;
}
.promo_small p {
	font-size:calc(13px + (16 - 13) * ((100vw - 320px) / (1920 - 320)));
	color:#1A6DAF;
	margin:0;
	font-weight:400;
	max-width:350px;
	font-weight:normal;
	line-height:140%;
}
.promo_small button {
	background:#FDCD11;
	padding:10px;
	font-weight:16px;
	border-radius:10px;
	color:#000;
	border:0;
	width:100%;
	margin-top:10px;
}
.promo_small button:hover {opacity:.8;}
.promo_small_pink {
	border:2px solid #FC5AAD;
	background-position:20px 20px;
	background-size:auto 20%;
}
.promo_small_yellow {
	border:2px solid #FDCD11;
	background-size:auto 28%;
	background-position:20px 10px;
}
.promo_long {
	min-height:120px;
	width:100%;
	/**aspect-ratio:59/12;**/
	height:100%;
	border-radius:20px;
	border-left:4px solid #1A6DAF;
	border-bottom:4px solid #1A6DAF;
	border-right:4px solid #FDCD11;
	border-top:4px solid #FDCD11;
	padding:15px 20px 15px 30px;
}
.promo_long b {
	padding:0; margin:0;
	color:#1A6DAF;
	font-size:calc(26px + (46 - 26) * ((100vw - 320px) / (1920 - 320)));
}
.promo_long span {
	color:#000;
	font-size:calc(13px + (16 - 13) * ((100vw - 320px) / (1920 - 320)));
	margin:0 10px 0 0;
}
.promo_long p {
	padding:0;
	color:#000;
	font-size:13px;
	margin:0 0 5px 0;
	text-align:right;
	max-width:200px;
}
.promo_long button {
	background:#FDCD11;
	padding:10px 20px;
	font-weight:16px;
	border-radius:10px;
	color:#000;
	border:0;
	max-width:240px;
}
.promo_long button:hover {opacity:.8;}



@media only screen and (max-width:1100px) {
	.promo_small {width:100%; aspect-ratio:auto;height:auto;}
}
@media only screen and (max-width:950px) {
	.promo_right {width:100%;gap:20px; margin-top:20px;}
	.promo_right_top {gap:20px;}
	.promo_big {width:100%;	max-width:1000px; margin:0;}
}
@media only screen and (max-width:720px) {
	.promo_block {padding:20px;}
}

@media only screen and (max-width:560px) {
	.promo_big {
		background-position:20px 20px;
		background-size:auto 100px;
		padding-top:140px;
	}
	.promo_long {-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; padding:15px 20px 15px 20px;}
	.promo_long span {margin-bottom:10px;}
	.promo_long p {margin-bottom:10px;}
	.promo_long button {max-width:560px;}
}





.o_nas {
	background:#fff;
	padding:0 20px 40px 20px;
}
.o_nas_left {
	width:50%;
	padding-right:20px;
}
.o_nas h4 {
	color:#000;
	margin:0 20px 60px 20px;
	font-weight:400;
	text-align:center;
}
.o_nas p {
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	margin:0;
	font-weight:normal;
	line-height:160%;
}
.o_nas_right {
	width:50%;
}
.o_nas_photos {
	gap:20px;
}
.o_nas_photo {
	width:calc(50% - 10px);
	aspect-ratio:4/3;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
}
.o_nas a {
	background:#21ACBF;
	padding:10px 20px;
	border-radius:10px;
	color:#fff;
	padding:10px 30px;
	border:0;
	text-decoration:none;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	margin-top:40px;
}
.o_nas a:hover {opacity:.8;}
@media only screen and (max-width:1050px) {
	.o_nas_right {width:40%;}
	.o_nas_photos {gap:10px;}
	.o_nas_left {width:60%;}
	.o_nas_photo {width:calc(50% - 5px);}
}
@media only screen and (max-width:800px) {
	.o_nas {padding:0 10px 20px 10px;}
	.o_nas h4 {margin-bottom:40px;}
	.o_nas_right {width:100%; margin-top:40px;}
	.o_nas_left {width:100%;}
	.o_nas_photos {
		-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;
	}
	.o_nas_photo {max-width:220px;}
}




.contacts_block {
	background:#D3EEF2;
	padding:60px 20px;
}
.contacts_block h4 {
	color:#000;
	margin:0 20px 40px 20px;
	font-weight:400;
	text-align:center;
}
.contacts_left {
	width:40%;
	min-width:300px;
	padding-right:20px;
}
.contacts_right {
	width:60%;
	min-width:300px;
}
.contacts_phone {
	margin-bottom:20px;
}
.contacts_phone a {
	margin-left:10px;
	font-size:calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	text-decoration:none;
}
.contacts_phone a:hover, .contacts_whatsapp a:hover, .contacts_telegram a:hover, .contacts_vk a:hover, .contacts_email a:hover {opacity:.8;}
.contacts_phone div {
	width:50px; height:40px;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:auto 100%;
}
.contacts_whatsapp, .contacts_telegram, .contacts_email {
	margin-bottom:10px;
}
.contacts_whatsapp a, .contacts_telegram a, .contacts_vk a, .contacts_email a {
	margin-left:20px;
	font-size:calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320)));
	color:#111;
	text-decoration:none;
}
.contacts_whatsapp div {
	width:40px; height:30px;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:auto 100%;
}
.contacts_telegram div {
	width:40px; height:30px;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:auto 85%;
}
.contacts_vk div {
	width:40px; height:30px;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:85% auto;
}
.contacts_email div {
	width:40px; height:30px;
	background-repeat:no-repeat;
	background-position:left center;
	background-size:auto 100%;
}
.contacts_adress {margin-top:10px;}
.contacts_adress span {
	margin-left:20px;
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#111;
}
.contacts_adress div {
	width:40px; height:30px;
	background-repeat:no-repeat;
	background-position:7px center;
	background-size:auto 100%;
}
.contacts_graf {
	margin-top:10px;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#333;
}
.contacts_rekvizity {
	margin-top:10px;
	font-size:calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320)));
	color:#aaa;
}

/******
.contacts_form {
	padding:30px 20px;
	background:#FDCD11;
	border-radius:20px;
}
.contacts_form span {
	margin-bottom:20px;
	font-size:calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320)));
	color:#000;	
}
.contacts_form input {
	width:100%; max-width:280px;
	border-radius:10px;
	border:1px solid #21ACBF;
	font-size:16px;
	padding:10px 20px;
	margin-bottom:10px;
}
.contacts_form input::placeholder {color:#333;}
.contacts_form button {
	width:100%; max-width:280px;
	border-radius:10px;
	border:1px solid #21ACBF;
	background:#21ACBF;
	padding:10px 20px;
	font-size:16px;	
}
.contacts_form button:hover {opacity:.8;}
****/

@media only screen and (max-width:850px) {
	.contacts_left {
		width:100%;
	}
	.contacts_right {
		margin-top:40px;
		width:100%;
	}
	.contacts_block h4 {text-align:left; margin-left:0;}
}
@media only screen and (max-width:800px) {
	.contacts_block {padding:40px 10px;}
	.contacts_left {
		padding:0 10px;
	}	
	.contacts_block h4 {margin-bottom:20px; margin-left:10px;}
}

/***************/

.quiz_block {
	width:100%;
	background:#fff;
	padding:40px 20px 40px 20px;
}
.quiz_block h4 {
	font-size:calc(20px + (28 - 20) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	margin:0 20px 40px 20px;
	font-weight:400;
	text-align:center;
}
.quiz {
	width:100%;
}
#quiz_container {
	position:relative;
	border-top:2px solid #21ACBF;
	border-left:1px solid #21ACBF;
	border-right:1px solid #21ACBF;
	border-bottom:4px solid #21ACBF;
	width:100%;
	min-height:300px;
	background:#D3EEF2;
	border-radius:20px;
	overflow:hidden;
}
.quiz_left {
	width:50%;
	padding:40px;
	position:relative;
}
.quiz_left small {
	font-size:13px;
	color:#21ACBF;
	position:absolute;
	right:20px; bottom:10px;
}
.quiz_left h3 {
	font-size:calc(18px + (28 - 18) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	margin:0 0 20px 0;
	font-weight:400;
	text-align:left;
}
.quiz_left button {
	border:1px solid #21ACBF;
	padding:10px 55px 10px 30px;
	color:#fff;
	font-size:16px;
	border-radius:10px;
	background-color:#21ACBF;
	background-image:url(/img/icons/btn_arrow.svg);
	background-repeat:no-repeat;
	background-size:auto 22px;
	background-position:calc(100% - 15px) center;
	max-width:190px;
	margin-top:10px;
}
#quiz_send_btn {
	background-image:none;
	padding:10px 30px;
	max-width:200px;
}
.quiz_left button:hover {opacity:.8;}

.quiz_left input {
	border:1px solid #21ACBF;
	padding:10px 20px;
	color:#000;
	font-size:16px;
	border-radius:10px;
	background-color:#fff;
	max-width:200px;
	margin-top:10px;
}

.quiz_line {
	margin-bottom:10px;
}
.quiz_line span {
	font-size:calc(16px + (18 - 16) * ((100vw - 320px) / (1920 - 320)));
	color:#000;	
}
.selector {
	width:30px; height:30px;
	min-width:30px; min-height:30px;
	background:#21ACBF;
	padding:4px;
	border-radius:180px;
	margin-right:20px;
	cursor:pointer;
}
.selector:hover > .selectors, .selector_act {
	width:22px; height:22px;
	min-width:22px; min-height:22px;
	background:#fff;
	border-radius:180px;
	-webkit-transition:all 200ms linear;
	-moz-transition:all 200ms linear;
	-o-transition:all 200ms linear;
	-ms-transition:all 200ms linear
}

.quiz_right {
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	width:50%;
	aspect-ratio:3/2;
}

@media only screen and (max-width:1050px) {
	.quiz_left {
		width:50%;
		padding:40px 20px;
		z-index:2;
		background:rgba(253, 205, 17, .4);
	}
	.quiz_right {min-width:300px;width:50%;aspect-ratio:auto; height:100%; position:absolute; top:0;right:0;z-index:1;}
}
@media only screen and (max-width:680px) {
	.quiz_right {width:100%;aspect-ratio:auto; height:100%; position:absolute; top:0;right:0;z-index:1;}
	.quiz_left {background:rgba(255, 249, 225, .85); width:60%; min-width:280px;}
	.quiz_block {padding:40px 0 20px 0;}
}






.portfolio_block, .portfolio_block2 {
	width:100%;
	background:#fff;
	padding:40px 30px 40px 30px;
}
.portfolio_block h4 {
	margin:0 20px 40px 20px;
	font-weight:400;
	text-align:center;
}
.portfolio_block2 h4 {
	margin:0 20px 40px 0;
	font-weight:400;
	text-align:center;
}
.portfolio_photos {
	width:100%;
}
#pot_container {
	gap:20px;
}
.port_small_photos {
	gap:20px;
	width:calc(50% - 10px);
}
.port_small_photo {
	position:relative;
	width:calc(50% - 10px);
	aspect-ratio:3/2;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
.port_small_cover {
	z-index:1;
	position:absolute;
	top:0; left:0;
	width:100%; height:100%;
	background:rgba(255,255,255,0);
}
.port_small_cover:hover {background:rgba(255,255,255,0.1);}
.port_small_photo span {
	z-index:10;
	position:absolute;
	bottom:20px; left:0;
	opacity:.95;
	font-size:14px;
	color:#111;
	background:#fff;
	padding:10px 20px;
	border-radius:0 7px 7px 0;
	box-shadow:1px 1px 2px 0 rgba(0,0,0,.5);
}
.port_small_photo:hover > span {opacity:1;}
.port_small_photo:hover {cursor:pointer;}
.port_small_ask {
	z-index:10;
	width:28px; height:28px;
	font-size:16px;
	font-weight:bold;
	background:#21ACBF;
	border-radius:180px;
	border:0; color:#fff;
	box-shadow:2px 1px 3px 0 rgba(0,0,0,.5);
	position:absolute;
	top:10px; right:10px;
}
.port_small_ask:hover {box-shadow:3px 3px 8px 0 rgba(0,0,0,.5);}

.port_big_photo {
	position:relative;
	width:calc(50% - 10px);
	aspect-ratio:3/2;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
.port_big_photo span {
	z-index:10;
	position:absolute;
	bottom:20px; left:0;
	opacity:.9;
	font-size:16px;
	color:#111;
	background:#fff;
	padding:10px 20px;
	border-radius:0 7px 7px 0;
	box-shadow:1px 1px 2px 0 rgba(0,0,0,.5);
}
.port_big_photo:hover > span {opacity:1;}
.port_big_photo:hover {cursor:pointer;}

.pot_bottom {
	width:50%; 
	margin-top:40px;
}
.pot_bottom a {
	background:#21ACBF;
	padding:10px 20px;
	border-radius:10px;
	color:#fff;
	padding:10px 30px;
	border:0;
	text-decoration:none;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
}
.pot_bottom a:hover {opacity:.8;}


@media only screen and (max-width:1050px) {
	.port_small_photo span {opacity:1; background:grba(255,255,255,.5); font-size:12px; padding:5px 10px;}
}

@media only screen and (max-width:900px) {
	.pot_bottom {width:70%;}
}
@media only screen and (max-width:800px) {
	#pot_container {gap:10px;}
	.port_small_photos {gap:10px;}
	.port_small_photo {width:calc(50% - 5px);}
	.port_big_photo {width:calc(50% - 5px);}
	.portfolio_block {padding:40px 20px 40px 20px;}
	.portfolio_block2 {padding:20px 20px 40px 20px;}
	.portfolio_block2 h4 {margin:0 0 20px 0;}
}
@media only screen and (max-width:600px) {
	.port_small_photo {width:calc(50% - 5px);}
	.port_big_photo {width:100%;}
	.port_big_photo {order:1;}
	.port_small_photos {order:2;width:100%;}
	.pot_bottom {width:100%;}
}
@media only screen and (max-width:400px) {
	.port_small_photo {width:100%;}
	.port_big_photo {width:100%;}
	.port_big_photo {order:1;}
	.port_small_photos {order:2;width:100%;}
}




.steps_block {
	background:#fff;
	padding:40px 20px 30px 20px;
}
.steps_block h4 {
	font-size:calc(20px + (28 - 20) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	margin:0 20px 40px 20px;
	font-weight:400;
	text-align:center;
}
.steps {
	gap:60px;
	margin:40px 0 60px 0;
}
.step {
	width:160px;
	position:relative;
}
.step img {
	height:80px; width:auto;
	margin-bottom:30px;
}
.step p {
	padding:0;
	margin:0;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	font-weight:normal;
	text-align:center;
}
.step span {
	position:absolute;
	top:-30px; left:-10px;
	background:#D3EEF2;
	color:#21ACBF;
	width:40px;
	height:40px;
	min-width:40px;
	min-height:40px;
	font-size:20px;
	text-align:center;
	border-radius:180px;
	padding-top:7px;
}
.step_line {
	width:60%;
	background:#21ACBF;
	height:1px;
}

@media only screen and (max-width:1100px) {
	.step img {height:60px;}
	.steps {gap:140px;}
	.step {width:170px;}
}
@media only screen and (max-width:720px) {
	.step img {height:50px;}
	.steps {gap:80px;}
	.step {width:170px;}
	.step span {
		top:-30px; left:0;
		width:30px;
		height:30px;
		min-width:30px;
		min-height:30px;
		font-size:18px;
		padding-top:3px;
	}
}
@media only screen and (max-width:500px) {
	.step img {height:45px;}
	.steps {gap:60px;}
	.step {width:calc(50% - 30px);}
}
@media only screen and (max-width:400px) {
	.steps {gap:40px;}
	.step {width:calc(50% - 20px);}
}

footer {
	width:100%;
	border-top:1px solid #21ACBF;
}
footer .container {min-width:320px; width:100%; max-width:1340px; padding:40px 30px 30px 30px;}
.footer_links {
	width:40%;
	min-width:280px;
	gap:40px;
}
.footer_link {
	color:#000;
	text-decoration:none;
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
	margin-bottom:10px;
}
.flb {font-weight:600;}
.footer_link:hover {cursor:pointer;}
.footer_logo {
	min-width:140px;
	width:20%;
}
.footer_logo img {
	width:100%; max-width:140px;
}
.footer_link:hover {opacity:.8;}
.footer_right {
	width:40%;
	min-width:240px;
}
.footer_phone {
	color:#000;
	text-decoration:none;
	font-size:calc(18px + (28 - 18) * ((100vw - 320px) / (1920 - 320)));
	text-align:right;
	white-space:nowrap;
}
.footer_graf {
	color:#aaa;
	font-size:calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320)));
	text-align:right;
}
.footer_right button {
	border:0;
	border-radius:10px;
	padding:10px 30px;
	margin-top:20px;
	background:#FDCD11;
	font-size:16px;
	color:#000;
	max-width:200px;
}
.footer_bottom {
	background:#21ACBF;
	width:100%;
}
.footer_bottom .container {min-width:320px; width:100%; max-width:1340px; padding:20px 30px 20px 30px;}
.copyright {
	color:#fff;
	font-size:14px;	
}
.footer_bottom a {
	color:#fff;
	text-decoration:underline;
	font-size:14px;
}
.footer_bottom a:hover {opacity:.8;}

.footer_soc_links {
	margin-top:10px;
}
.footer_email {
	color:#333;
	text-decoration:none;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	text-align:right;
	white-space:nowrap;
	margin:-4px 0 2px 0;
}
.footer_whatsapp {
	width:25px; height:25px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.footer_telegram {
	margin-left:15px;
	width:26px; height:26px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}
.footer_vk {
	margin-left:15px;
	width:35px; height:27px;
	background-position:center center;
	background-repeat:no-repeat;
	background-size:100% auto;
}

@media only screen and (max-width:800px) {
	.footer_links {order:1;}
	.footer_right {order:2;}
	.footer_logo {order:3; width:100%;}
}
@media only screen and (max-width:720px) {
	footer .container {padding:30px 20px 20px 20px;}
	.footer_bottom .container {padding:15px 20px 15px 20px;}	
}
@media only screen and (max-width:600px) {
	.footer_links {order:2; width:100%;margin-bottom:30px;}
	.footer_right {order:1; width:100%; margin-bottom:30px;}
	.footer_logo {order:3; width:100%;}
	.footer_links {-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
}
@media only screen and (max-width:550px) {
	.footer_bottom a, .copyright {font-size:12px;}.copyright {padding-right:10px;}
}

.popup {
	display:none;
	position:fixed;
	background:rgba(0,0,0,.5);
	top:0; left:0;
	width:100%; height:100vh;
	z-index:9999999999999999;
}
.pop_container {
	width:100%; height:100vh;
}
.pop_forma {
	padding:60px 40px;
	background:#fff;
	box-shadow:0 0 15px -5px rgba(0,0,0,.5);
	border-radius:20px;
	width:calc(100% - 40px);
	max-width:400px;
	gap:10px;
}
.pop_forma span {
	font-size:calc(18px + (24 - 18) * ((100vw - 320px) / (1920 - 320)));
	text-align:center;
	font-weight:400;
	margin-bottom:10px;
}
.pop_forma laber {
	font-size:14px;
	margin-bottom:-5px;
	color:#333;
	width:100%;
	text-align:left;
}
.pop_forma input {
	border-radius:10px;
	border:2px solid #21ACBF;
	padding:10px 20px;
	color:#000;
	font-size:16px;
	width:100%;
}
.pop_forma button {
	border-radius:10px;
	border:2px solid #21ACBF;
	padding:10px 20px;
	color:#fff;
	background:#21ACBF;
	font-size:16px;
	width:100%;
}
.pop_forma button:hover {opacity:.8;}
.pop_forma small {
	font-size:12px; color:#aaa;
	text-align:center; max-width:280px;
}
.pop_forma small a {
	font-size:12px; color:#aaa;
}
.contacts_form small {
	margin-top:10px;
	font-size:12px; color:#fff;
	text-align:center; max-width:240px;
}
.contacts_form small a {
	font-size:12px; color:#fff;
}


.button404 {
	border:1px solid #21ACBF;
	text-decoration:none;
	padding:10px 30px 10px 30px;
	color:#fff;
	font-size:16px;
	border-radius:10px;
	background-color:#21ACBF;
	max-width:220px;
}
.button404:hover {opacity:.8;}


.port_shower {
	display:none;
	position:absolute;
	position:fixed;
	left:0; top:0; width:100%; height:100%;
	z-index:999999999999;
}
.port_shower_con {
	position:relative;
	height:100%; width:100%;
}
.port_shower_cover {
	z-index:1;
	position:absolute;
	top:0; left:0;
	height:100%; width:100%;
	background:rgba(0,0,0,.6);
}

.port_show {
	z-index:10;
	height:auto;
	max-height:90vh;
	min-width:1050px; width:calc(100vw - 40px); max-width:1440px;
	margin:2vh;
	background:#fff;
	border-radius:20px;
	padding:20px;
	position:relative;
}

.port_inform_left {
	padding-left:20px;
	width:30%; min-width:320px;
	height:100%;
}
.port_inform_left h2 {
	text-align:left;
	margin-bottom:20px;
}
.port_inform_left p {
	font-size:16px;
	line-height:160%;
}
.port_inform_right {
	width:70%; min-width:320px;
	height:100%;
}
.port_inform_noslider {
	aspect-ratio:3/2;
	background-position:center center;
	background-size:contain;
	background-repeat:no-repeat;
	background-color:#E8F7F8;
}
.port_inform_center {
	width:100%;
	height:100%;
	max-height:85vh;
}
.port_slider {
	width:100%;
}
.port_slider_photo {
	aspect-ratio:3/2;
	background-position:center center;
	background-size:contain;
	background-repeat:no-repeat;
	width:calc(100% - 80px);
	background-color:#E8F7F8;
	flex-grow: 1;
	flex-shrink: 1;
	flex-basis: auto;
	max-height:80vh;
}
.port_slider_opacity {opacity:.2;}
.port_slider_left, .port_slider_right {
	width:40px;
	-webkit-touch-callout: none;
	-webkit-user-select: none; 
	-khtml-user-select: none;
	-moz-user-select: none; 
	-ms-user-select: none;
	user-select: none;
	background:rgba(33, 172, 191, .1); 
}
.port_slider_left {border-radius:20px 0 0 20px;}
.port_slider_right {border-radius:0 20px 20px 0;}
.port_slider_left img, .port_slider_right img {
	width:20px; opacity:.7;
}
.port_slider_left:hover, .port_slider_right:hover {
	background:rgba(33, 172, 191, .2); cursor:pointer;
}
.port_slider_left:hover > img , .port_slider_right:hover > img {
	opacity:1;
}
.port_bottom_buttons {margin:10px 40px 0 40px; border-top:1px solid #21ACBF;}
.port_proj_left, .port_proj_right {
	padding:10px 30px;
	border:0;
	font-size:16px;
	color:#fff;
}
.port_proj_left:hover, .port_proj_right:hover {
	background:rgba(33, 172, 191, 1);
}
.port_proj_left {
	border-radius:0 0 0 20px;
	background:rgba(33, 172, 191, .8);
}
.port_proj_right {
	border-radius:0 0 20px 0;
	background:rgba(33, 172, 191, .9);
}


.popup_photo {
	display:none;
	background:rgba(0,0,0,.7);
	width:100%; height:100%;
	position:absolute;
	position:fixed;
	top:0; left:0;
	z-index:99999999999999999999;
}
.photo_container {
	margin:20px 0;
	width:100%; height:100%; max-height:calc(99vh - 40px);
	background-size:contain;
	background-repeat:no-repeat;
	background-position:center center;
}

.show_gorizont {
	background-size:100% auto;
}
.show_vertical {
	background-size:auto 95%;
}

@media only screen and (max-width:1050px) {
	.port_show {
		min-width:720px; width:calc(100vw - 40px);
		padding:15px; overflow:auto; margin:20px;
		max-height:calc(95vh - 80px);
	}
	.port_proj_left, .port_proj_right {
		padding:8px 20px;
		font-size:14px;
	}
}
@media only screen and (max-width:900px) {
	.port_inform_left h2 {
		text-align:left;
		margin-bottom:0;
	}
	.port_inform_left p {
		font-size:14px;
		line-height:150%;
	}
	.port_inform_left {
		padding-left:20px;
		width:100%;
		height:100%;
		order:2;
	}
	.port_inform_right {
		width:100%;
		order:1;
	}
	.port_inform {-ms-flex-wrap:wrap;flex-wrap:wrap;}
	.port_slider_left, .port_slider_right {
		width:30px;
	}
	.port_slider_left img, .port_slider_right img {
		width:15px;
	}
}
@media only screen and (max-width:740px) {
	.port_show {
		min-width:320px; width:calc(100vw - 20px);
		padding:15px;
		margin:20px 10px;
		
	}
}
@media only screen and (max-width:600px) {
	.port_slider_left, .port_slider_right {
		width:20px;
	}
	.port_slider_left img, .port_slider_right img {
		width:10px;
	}
	.port_bottom_buttons {margin:10px 0 0 0; border-top:1px solid #21ACBF;}
}
@media only screen and (max-width:480px) {
	.port_proj_left, .port_proj_right {
		padding:10px;
		font-size:14px;
	}
}

.title_page {
	width:100%;
	padding:60px 20px 40px 20px;
}
@media only screen and (max-width:720px) {
	.title_page {padding:40px 20px 20px 20px;}	
}
.port_catss {
	padding:0 20px;
}
.port_cats {
	gap:10px;
	margin-bottom:20px;
}
.port_cat {
	background:#21ACBF;
	padding:10px 20px;
	font-size:16px;
	border-radius:10px;
	color:#000;
	border:0;
	text-decoration:none;
}
.port_cat:hover {opacity:.8;}
.port_cat_act {
	background:#FDCD11;
}.port_cat_act:hover {opacity:1;}



.pot_bottom2 {
	gap:5px;
	width:100%; min-width:300px; max-width:1200px;
	border-top:1px solid #21ACBF;
	position:relative;
	margin:50px 20px 40px 20px;
}
.paginator, .cat_pag {
	background:#21ACBF;
	border-radius:0 0 10px 10px;
	color:#111;
	padding:5px 20px;
	border:0;
	text-decoration:none;
	font-weight:600;
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));
}
.paginator:hover {opacity:.8;}
.paginator_act {
	background:#FDCD11;
	border-radius:0 0 10px 10px;
	color:#111;
	padding:5px 20px;
	border:0;
	text-decoration:none;
	font-weight:600;
	font-size:calc(14px + (18 - 14) * ((100vw - 320px) / (1920 - 320)));	
}
.paginator_act:hover {opacity:1;}

@media only screen and (max-width:800px) {
	.port_catss {padding:0 15px;}
	.port_cat {
		padding:8px 15px;
		font-size:14px;
	}
	.port_cats {
		margin-bottom:0;
	}
	.paginator_act, .paginator {padding:5px 15px;}
}
@media only screen and (max-width:420px) {
	.paginator_act, .paginator {padding:5px 12px;font-size:14px;}
}



/**********/
.feedback_con {
	padding:60px 20px;
	background:#fff;
}
.feedback_con h2 {
	max-width:500px;
	text-align:center;
	color:#000;
	margin-bottom:60px;
}
.feedback_boxes {
	width:100%;
	max-width:1200px;
	gap:80px;
}
.feedback {
	min-width:150px;	
	width:calc(33% - 80px);
	max-width:320px;	
}
.feedback span {
	font-size:calc(16px + (20 - 16) * ((100vw - 320px) / (1920 - 320)));
	color:#000;
	font-weight:500;
	margin-bottom:10px;	
}
.feedback img {
	height:20px;
	margin-right:3px;
}
.feedback small {
	white-space:nowrap;
	font-size:calc(12px + (14 - 12) * ((100vw - 320px) / (1920 - 320)));
	color:#aaa;
	margin-left:17px;
}
.feedback p {
	line-height:140%;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	margin:10px 0;
	max-height:139px;
	overflow:hidden;
	color:#000;
	-webkit-transition:all 300ms linear;
	-moz-transition:all 300ms linear;
	-o-transition:all 300ms linear;
	-ms-transition:all 300ms linear
}
.feedback_a {
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#21ACBF;
	text-decoration:none;
	font-weight:500;
}
.feed_link {
	color:#ccc;
	text-decoration:underline;
	font-size:14px;
	font-weight:500;
}
.feedback_a:hover, .feed_link:hover {opacity:.7;}
.feeds_load_btn {
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
	color:#21ACBF;
	border-bottom:1px solid #21ACBF;
	margin-top:60px;
	padding-bottom:2px;
	text-decoration:none;
	font-weight:500;
}
.feeds_load_btn:hover {opacity:.7;}

@media only screen and (max-width:1050px) {
	.feedback_boxes {gap:40px;}
	.feedback {width:calc(33% - 40px);}
}
@media only screen and (max-width:900px) {
	.feedback_boxes {gap:40px;}
	.feedback {width:calc(50% - 20px);}
}
@media only screen and (max-width:720px) {
	.feedback_con {padding:40px 20px;}
	.feedback_con h2 {margin-bottom:40px;}
	.feeds_load_btn {margin-top:40px;}
}
@media only screen and (max-width:540px) {
	.feed_link {font-size:12px;}
	.feedback_boxes {gap:40px;}
	.feedback {width:100%;}
}
/*******/



.feedback_please {
	width:100%;
	padding:60px 20px;
	background:#D3EEF2;
}
.feedback_please span {
	width:40%;
	font-size:calc(28px + (66 - 28) * ((100vw - 320px) / (1920 - 320)));
}
.fplease_boxes {
	width:60%;
}
.fplease_box {
	gap:20px;
	width:33%;
	padding:10px;
	max-width:280px;
}
.fplease_box img {width:auto; height:50px;}
.fplease_box a {text-decoration:none; padding:10px 20px; background:#FDCD11; color:#000; font-size:14px; border-radius:10px; white-space:nowrap;}
.fplease_box a:hover {opacity:.8;}
@media only screen and (max-width:1000px) {
	.feedback_please span {width:100%; text-align:center; margin-bottom:40px;}	
	.fplease_boxes {width:100%;}	
}
@media only screen and (max-width:800px) {
	.feedback_please {padding:40px 10px;}
	.fplease_box img {width:auto; height:40px;}
}
@media only screen and (max-width:640px) {
	.fplease_boxes {-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; gap:40px 10px;}
	.fplease_box {width:calc(50% - 10px); padding:0;}
}
@media only screen and (max-width:380px) {
	.fplease_box {width:100%;}
}
/*********/


.partners_block {
	padding:0 20px 40px 20px;
}
.partners_block h4 {text-align:center; margin:0;}
.partners_block .container {
	padding-top:20px;
}
.partners_title {
	font-size:calc(22px + (34 - 22) * ((100vw - 320px) / (1920 - 320)));
	text-align:center;
}
.partners_blocks  {
	width:calc(100% - 80px);
	overflow:hidden;
	padding:20px 0;
}
.partners_minus, .partners_plus {
	width:40px;
}
.partners_minus img , .partners_plus img {
	width:25px;
}
.partners_card_t {
	min-width:200px; width:200px; height:100px;
}
.partners_card_t div {
	width:100%; height:100%;
	background-repeat:no-repeat;
	background-size:85% auto;
	background-position:center center;
}

@media only screen and (max-width:1050px) {
	.partners_minus, .partners_plus {width:30px;}
	.partners_minus img , .partners_plus img {width:20px;}
	.partners_blocks  {width:calc(100% - 60px);}
}
@media only screen and (max-width:500px) {
	.partners_minus, .partners_plus {width:20px;}
	.partners_minus img , .partners_plus img {width:15px;}
	.partners_blocks  {width:calc(100% - 40px);}
}

/**********/


.serf_block {
	padding:60px 20px 0 20px;
}
.serf_block h4 {text-align:center; margin:0;}
.serf_block .container {
	padding-top:20px;
}
.serf_blocks  {
	width:calc(100% - 80px);
	overflow:hidden;
	padding:20px 0;
}
.serf_minus, .serf_plus {
	width:40px;
}
.serf_minus img , .serf_plus img {
	width:25px;
}
.serf_card_t {
	min-width:200px; width:200px; height:300px;
}
.serf_card_t div {
	width:100%; height:100%;
	background-repeat:no-repeat;
	background-size:contain;
	background-position:center center;
	margin:0 10px;
}

@media only screen and (max-width:1050px) {
	.serf_minus, .serf_plus {width:30px;}
	.serf_minus img , .serf_plus img {width:20px;}
	.serf_blocks  {width:calc(100% - 60px);}
}

@media only screen and (max-width:500px) {
	.serf_minus, .serf_plus {width:20px;}
	.serf_minus img , .serf_plus img {width:15px;}
	.serf_blocks  {width:calc(100% - 40px);}
}

/**********/




.gallery_block {
	width:100%;
	background:#fff;
	padding:40px 30px 40px 30px;
}
.gallery_block h4 {
	margin:0 20px 40px 20px;
	font-weight:400;
	text-align:center;
}
.portfolio_photos {
	width:100%;
}
#gallery_container {
	gap:20px; width:100%;
}
.gallery_small_photos {
	gap:20px;
	width:calc(50% - 10px);
}
.gallery_small_photo {
	position:relative;
	width:calc(50% - 10px);
	aspect-ratio:3/2;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
.gallery_small_cover {
	z-index:1;
	position:absolute;
	top:0; left:0;
	width:100%; height:100%;
	background:rgba(255,255,255,0);
}
.gallery_small_cover:hover {background:rgba(255,255,255,0.1);}
.gallery_small_photo:hover {cursor:pointer;}
.gallery_big_photo {
	position:relative;
	width:calc(50% - 10px);
	aspect-ratio:3/2;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
.gallery_big_photo span {
	z-index:10;
	position:absolute;
	bottom:20px; left:0;
	opacity:.9;
	font-size:16px;
	color:#111;
	background:#fff;
	padding:10px 20px;
	border-radius:0 7px 7px 0;
	box-shadow:1px 1px 2px 0 rgba(0,0,0,.5);
}
.gallery_big_photo:hover > span {opacity:1;}
.gallery_big_photo:hover {cursor:pointer;}

.gallery_bottom {
	width:50%; 
	margin-top:40px;
}
.gallery_bottom a {
	background:#21ACBF;
	padding:10px 20px;
	border-radius:10px;
	color:#fff;
	padding:10px 30px;
	border:0;
	text-decoration:none;
	font-size:calc(14px + (16 - 14) * ((100vw - 320px) / (1920 - 320)));
}
.gallery_bottom a:hover {opacity:.8;}


@media only screen and (max-width:1050px) {
	.gallery_small_photo span {opacity:1; background:grba(255,255,255,.5); font-size:12px; padding:5px 10px;}
}
@media only screen and (max-width:900px) {
	.gallery_bottom {width:70%;}
}
@media only screen and (max-width:800px) {
	#gallery_container {gap:10px;}
	.gallery_small_photos {gap:10px;}
	.gallery_small_photo {width:calc(50% - 5px);}
	.gallery_big_photo {width:calc(50% - 5px);}
	.gallery_block {padding:40px 20px 40px 20px;}
}

/***********/
.catalog {padding:0 20px 60px 20px;}
.catalog h4 {margin:0 20px 40px 20px;}
.catalog_cats {
	overflow:hidden;
	padding-bottom:20px;
	gap:10px;
}
.catalog_cat {
	padding:15px 30px;
	color:#111;
	border:0;
	border-radius:15px;
	background:#D3EEF2;
}
.catalog_cat_act {background:#21ACBF; color:#fff;}
.catalog_cat:hover {opacity:.8;}
.catalog_cat_act:hover {opacity:1;}
.catalog_con {}
.catalog_body {
	border-radius:0 0 20px 20px;
	overflow:hidden;
	border-top:4px solid #E8F7F8;
	border-bottom:2px solid #E8F7F8;
	border-left:1px solid #E8F7F8;
	border-right:1px solid #E8F7F8;
}
.catalog_left {
	gap:20px;
	width:220px;
}
.catalog_cat2 {
	font-size:18px;
	color:#111;
	background:#D3EEF2;
	border:0;
	padding:5px 15px 5px 15px;
	text-align:left;
}
.catalog_cat2:hover {opacity:.8;}
.catalog_cat2_act {
	color:#fff;
	background:#21ACBF;
}
.catalog_cat2_act:hover {opacity:1;}
.podcats3 {
	background:#E8F7F8;
	gap:5px;
	padding:10px 0;
}
.catalog_cat3 {
	font-size:16px;
	color:#;
	background:#E8F7F8;
	border:0;
	padding:2px 10px 2px 20px ;
	text-align:left;
}
.catalog_cat3:hover {opacity:.8;}
.catalog_cat3_act {
	color:#21ACBF;
	background:#E8F7F8;
}
.catalog_cat3_act:hover {opacity:1;}



.catalog_right {
	gap:20px;
	width:calc(100% - 220px);
}
.catalog_content {gap:10px; padding:10px;}
.catalog_card {
	position:relative;
	width:calc(25% - 8px);
	aspect-ratio:4/3;
	border-radius:10px;
	background-size:cover;
	background-position:center center;
}
.catalog_name {
	position:absolute;
	bottom:20px; left:0;
	width:100%;
	text-align:center;
	padding:5px;
	background:rgba(255,255,255,.7);
}
.catalog_nav {
	border-top:1px solid #21ACBF;
	padding-bottom:20px;
}

@media only screen and (max-width:1100px) {
	.catalog_cat {
		padding:12px 24px;
		font-size:16px;
	}
	.catalog_left {
		gap:15px;
		width:180px;
	}
	.catalog_right {
		gap:15px;
		width:calc(100% - 180px);
	}
	.catalog_cat2 {
		font-size:16px;
		padding:4px 7px 4px 12px;
	}
	.podcats3 {
		background:#E8F7F8;
		gap:3px;
		padding:5px 0;
	}
	.catalog_cat3 {
		font-size:14px;
		padding:2px 7px 2px 15px ;
	}
	.catalog_name {font-size:14px;}
}
@media only screen and (max-width:800px) {
	.catalog_card {
		width:calc(33% - 8px);
	}
	.catalog {padding:0 10px 40px 10px;}
	.catalog h4 {margin:0 10px 40px 10px;}	
}
@media only screen and (max-width:720px) {
	.catalog_name {
		bottom:10px; left:0;
		padding:3px;
	}
}
@media only screen and (max-width:680px) {
	.catalog_name {font-size:14px;}
	.catalog_card {
		width:calc(25% - 8px);
	}
	.catalog_body {
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		-ms-flex-direction:column;
		flex-direction:column;
	}
	.catalog_left {
		padding:0 10px 10px 10px;
		gap:0 10px;
		width:100%;
		-webkit-box-orient:horizontal;
		-webkit-box-direction:normal;
		-ms-flex-direction:row;
		flex-direction:row;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
	}
	.catalog_right {width:100%;}
	.podcat2 {padding-top:10px;}
	.podcats3 {display:none;}
	.catalog_cat2 {border-radius:15px; padding:10px 20px;}
}

.podcats3_act {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
}
@media only screen and (max-width:600px) {
	.catalog {margin-top:-20px;}
	.catalog_card {
		width:calc(33% - 6px);
	}
}
@media only screen and (max-width:400px) {
	.catalog_card {
		width:calc(50% - 5px);
	}	
}
/*****************/


@media only screen and (max-width:1050px) {.page_top{margin-top:20px;}}


.portfolio_cards {gap:20px;}
.portfolio_cat_card {
	width:calc(25% - 15px);
	position:relative;
	aspect-ratio:3/2;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
}
.portfolio_cat_card a {
	background:rgba(255,255,255,0);
	position:absolute;
	top:0; left:0;
	height:100%; width:100%;
	text-decoration:none;
	z-index:20;
}
.portfolio_cat_card a:hover {background:rgba(255,255,255,.1);}
.portfolio_cat_card span {
	z-index:10;
	position:absolute;
	bottom:20px; left:0;
	opacity:.95;
	font-size:14px;
	color:#111;
	background:#fff;
	padding:10px 20px;
	border-radius:0 7px 7px 0;
	box-shadow:1px 1px 2px 0 rgba(0,0,0,.5);
}
@media only screen and (max-width:1050px) {
	.portfolio_cat_card {
		width:calc(50% - 10px);
	}
}
@media only screen and (max-width:480px) {
	.portfolio_cat_card {
		width:100%;
	}
}


.input_blocks {
	padding:15px;
	text-align:center;
	font-size:16px;
	color:#111;
	border:2px solid #21ACBF;
	border-radius:10px;
	width:100%;
	max-width:270px;
	background:#fff;
}
.input_blocks::placeholder {
	color:#aaa;
	font-size:16px;
}
.file_upload {
    position:relative;
    display:inline-block;
}

.file_upload_label {
    display:inline-block;
    padding:15px 20px;
    background:#21ACBF;
    color:#fff;
	font-size:16px;
    border-radius:10px;
    cursor:pointer;
	width:270px;
	text-align:center;
	border:2px solid #21ACBF;
}
.file_upload_label:hover {
   opacity:.85;
}
.file_upload_input {
    display:none;
}