/*!
Theme Name: photo-pixel
Theme URI: http://underscores.me/
Author: ITCrafter
Author URI: http://itcrafter.ru
Description: photo studio
Version: 1.0.0
Tested up to: 7.4
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: photo-pixel
03Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

photo-pixel is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

:root {
    /* 
    --fs-12: 12px;
    --fs-15: 15px;
    --fs-16: 16px;
    --fs-24: 24px;
    --fs-28: 28px;
    --fs-36: 36px;
    --fs-43: 43px; */
	/* --shadow: 4px 4px 30px rgba(0, 0, 0, .15);
	--margin-default: 16px;
	--main-padding: 10px; */
	--violet: #473477;
	--orange: #E8AB24;
	--ff: 'TT Norms';
	--shadow: 4px 4px 40px 0px #0000001A;

}

html {
	font-size: 16px;
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}
html * {
	box-sizing: border-box;
}
.site {
	display: flex;
	flex-direction: column;
}
.site main {
	flex-grow: 1;
}
body {
	margin: 0;
	display: flex;
	flex-direction: column;
	color: #252525;
	font-family: 'TT Norms';
    font-style: normal;
	font-weight: normal;
	/* background: radial-gradient(78.09% 318.52% at 78.09% 50.07%, #FFF0F0 0%, #FBFAFF 100%); */
	background-color: #FAFAFA;
}
.container {
	max-width: 1400px;
	padding-left: 10px;
	padding-right: 10px;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
}
a {
	color: inherit;
	text-decoration: none;
	transition: all .2s ease-in-out;
}
a:hover {
	text-decoration: underline;
}
button:hover {
	cursor: pointer;
}
.btn-action {
	background: var(--violet);
	box-shadow: 4px 4px 26px rgba(0, 0, 0, 0.18);
	border: none;
	color: #fff;
	font-weight: 700;
	font-size: 16px;
	padding: 10px;
	border-radius: 5px;
	font-family: var(--ff);
	transition: box-shadow .2s ease-in-out;
}
.btn-action:hover {
	box-shadow: 4px 4px 26px rgba(0, 0, 0, 0.35);
}
.form-action {
	background: var(--orange);
	color: #fff;
	box-shadow: 4px 4px 26px #0000002E;
	border: none;
	border-radius: 5px;
	padding: 10px 30px;
	font-weight: 700;
	font-size: 16px;
	font-family: var(--ff);
	outline: none;
}
.img-decor {
	position: absolute;
	width: auto;
	height: auto;
	object-fit: contain;
}
input[type="text"],
input[type="tel"],
input[type="date"],
input[type="number"] {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 5px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	color: #fff;
}
/* input:not([type="submit"]) */
input::placeholder {
	color: #ffffff83;
	font-size: 16px;
	font-family: var(--ff);
}
input:focus {
	outline: none;
}
.form-row {
	display: flex;
	align-items: flex-start;
	column-gap: 10px;
	margin-bottom: 20px;
}
.form-row .label,
.form-row label {
	flex: 1;
}
.form-row label .wpcf7-form-control-wrap {
	margin-top: 11px;
	display: block;
}
.d-flex.col {
	margin-right: 10px;
}
.wpcf7-form-control.wpcf7-radio {
	display: flex;
	column-gap: 20px;
}
.wpcf7 input[type="tel"],
.form-row .wpcf7-form-control-wrap > input {
	width: 100%;
}
.d-flex {
	display: flex;
}
.d-grid {
	display: grid;
}
label {
	position: relative;
}
input[type="radio"],
input[type="checkbox"] {
	position: absolute;
	width: 0;
	height: 0;
}
input[type="radio"] + span.wpcf7-list-item-label,
input[type="checkbox"] + span.wpcf7-list-item-label {
	padding-left: 20px;
}
input[type="radio"] + span.wpcf7-list-item-label::before,
input[type="checkbox"] + span.wpcf7-list-item-label::before {
	width: 15px;
	height: 15px;
	position: absolute;
	left: 0;
	background: var(--orange);
	border-radius: 2px;
	/* display: flex;
	align-items: center;
	justify-content: center; */
}
input[type="radio"]:checked + span.wpcf7-list-item-label::before,
input[type="checkbox"]:checked + span.wpcf7-list-item-label::before {
	content: '\2713';
	color: #fff;
	font-weight: bold;
	text-align: center;
}
.wpcf7-list-item {
	margin: 0;
}
input[type="file"] {
	position: absolute;
	width: 0;
	height: 0;
}
.input-file-label {
	display: flex;
	column-gap: 13px;
	align-items: center;
	margin-top: 11px;
}
.input-file-label:hover {
	cursor: pointer;
}
.input-file-label::after {
	content: '';
	display: block;
	width: 17px;
	height: 19px;
	background: url(./images/icons/upload.svg)no-repeat center;
	background-size: contain;
}
.block-title {
	font-size: 32px;
	font-weight: 700;
	margin-bottom: 35px;
	margin-top: 0;
}
.block-subtitle {
	font-size: 20px;
	font-weight: 700;
	margin-top: 0;
}
.block-desc {
	font-size: 20px;
}
.form-subtitle {
	font-size: 12px;
	font-weight: 700;
}
.wpcf7-spinner {
	display: none;
}
.accept-privacy {
	margin-top: 14px;
	color: #FCFCFC75;
	font-size: 12px;
}
.order-box .accept-privacy a {
	color: #FFB818;
}
.wpcf7-form-control-wrap:not(:last-child) {
	display: block;
	margin-bottom: 14px;
}
.form-title {
	font-size: 14px;
	font-weight: 700;
	margin-bottom: 6px;
}
.form-desc {
	font-size: 14px;
	margin-bottom: 9px;
}
.btn-action-orange {
	background: var(--orange);
	color: #FFF;
}
/*=================== HEADER =====================*/
.site-header {
	width: 100%;
	background-color: #fff;
}
.site-header .header-top-line {
	background-color: var(--violet);
}
.header-top-line-content {
	padding-top: 6px;
	padding-bottom: 6px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #FCFCFCC7;
	font-size: 13px;
}
.ask-ii {
	color: #fff;
	font-weight: 700;
}
.header-nav-block {
	display: flex;
	justify-content: space-between;
	align-items: center;
	column-gap: 20px;
	padding: 18px 0;
}
.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	column-gap: 20px;
}
.main-navigation ul li {
	color: #252525;
}
.main-navigation ul li:hover a {
	color: var(--violet);
}
.phone-box a {
	display: flex;
	column-gap: 7px;
	font-weight: 700;
	font-size: 20px;
}
/* FOOTER */
.site-footer {
	background-color: var(--violet);
	padding-top: 39px;
	padding-bottom: 39px;
	color: #fff;
	position: relative;
}
.site-footer .img-decor.left {
	left: 0;
	top: 0;
	z-index: 0;
}
.site-footer .img-decor.right {
	right: 0;
	bottom: 0;
	z-index: 0;
}
.site-copyright {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
	color: #FFFFFF85;
}
.footer-logo {
	max-width: 30%;
}
.footer-wrapper {
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
	column-gap: 3rem;
}
.footer-navigation {
	display: flex;
	flex-grow: 1;
}
.footer-navigation > div {
	flex: 1;
}
.footer-navigation ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}
.footer-nav-title {
	font-weight: 700;
}
.fixed-button-calc {
	background-color: var(--violet);
	box-shadow: 4px 4px 26.4px 0px #000000B5;
	border-radius: 5px;
	width: 73px;
	height: 73px;
	padding: 9px;
	position: fixed;
	z-index: 99;
	bottom: 30px;
	right: 30px;
}
.fixed-button-calc img {
	height: 100%;
	width: auto;
	object-fit: contain;
}
/* MAIN PAGE */
.page-header {
	display: grid;
	grid-template-columns: 50% 50%;
	column-gap: 10px;
}
.page-title {
	font-size: 48px;
	font-weight: 600;
}
.orange-border {
	border: 1px solid #FFB818;
	border-radius: 5px;
	text-transform: uppercase;
	font-size: 20px;
	padding: 10px 14px;
}
.page-header-content .d-flex {
	display: flex;
	align-items: center;
	column-gap: 12px;
	row-gap: 11px;
	flex-wrap: wrap;
	font-size: 20px;
}
.page-header-content .desc {
	font-size: 20px;
}
.page-header-image {
	display: flex;
	align-items: center;
}
.page-header-image img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
.page-header-pill {
	display: flex;
	justify-content: space-between;
	column-gap: 20px;
	margin-bottom: 56px;
}
.page-header-pill .item {
	flex: 1;
	box-shadow: 4px 4px 40px 0px #0000001A;
	background-color: #fff;
	padding: 24px 31px;
	border-radius: 5px;
}
.page-header-pill .item .title {
	font-size: 20px;
	font-weight: 700;
	margin-bottom: 6px;
}
.main-form {
	background-color: var(--violet);
	padding: 36px 59px;
	border-radius: 10px;
	display: grid;
	grid-template-columns: 40% 60%;
	color: #fff;
	margin-bottom: 60px;
	position: relative;
}
.main-form .content-box {
	padding-right: 44px;
	border-right: 1px solid #FCFCFC;
}
.main-form .form-box {
	padding-left: 56px;
}
.main-form .title {
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 14px;
}
.main-form .sub-title {
	margin-bottom: 24px;
}
.main-form .text {
	margin-bottom: 20px;
}
.main-form .info {
	color: #FCFCFC75;
	position: relative;
	padding-left: 15px;
}
.main-form .info::before {
	content: '';
	position: absolute;
	left: 0;
	top: 5px;
	width: 9px;
	height: 9px;
	background-color: var(--orange);
	border-radius: 50%;
}
.main-form::after,
.main-form::before {
	content: '';
	position: absolute;
	display: block;
	width: 50%;
	height: 95px;
	bottom: 0;
	transform: translateY(100%);
	left: 0;
	background: url(./images/decor/pixel-decor.webp)no-repeat center;
	background-size: contain;
	z-index: -1;
}
.main-form::after {
	left: 50%;
	transform: translateY(100%) scale(-1, 1);
}
/*============ SERVICES ========================*/
.services-section {
	margin-bottom: 60px;
}
.fb-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
}
.service-list {
	padding: 19px;
	box-shadow: 4px 4px 40px 0px #0000001A;
	border: 1px solid #47347738;
	border-radius: 5px;
	background-color: #fff;
}
.service-list-title {
	display: flex;
	column-gap: 60px;
	margin-bottom: 27px;
}
.service-list-title .block-subtitle {
	text-transform: uppercase;
}
.service-list-grid {
	display: flex;
	flex-wrap: wrap;
	column-gap: 12px;
	row-gap: 8px;
}
.service-list-box {
	border: 1px solid #DDD6FF;
	/* padding: 11px 13px 0px 0px; */
	padding-top: 11px;
	border-radius: 5px;
	background: url(./images/decor/pixel-box.svg)no-repeat right bottom;
	background-size: contain;
	display: flex;
  	flex-direction: column;
}
.fb-grid .service-list-box {
	width: calc(33% - 6px);
}
.fb-grid .service-list-box:first-child {
	width: calc(40% - 6px);
}
.fb-grid .service-list-box:nth-child(2) {
	width: calc(60% - 6px);
}
.service-list-box:nth-child(3),
.service-list-box:nth-child(5) {
	background: url(./images/decor/pixel-box-revers.svg)no-repeat left top;
	background-size: contain;
}
.service-list-box .d-flex {
	flex-grow: 1;
}
.service-list-box ul {
	padding: 0;
}
.fb-grid .service-list:nth-child(2) .service-list-box ul {
	padding-left: 10px;
}
.service-list-box ul li {
	font-size: 14px;
	margin-bottom: 1.5px;
}
.service-list-box .box-title {
	font-size: 16px;
	color: var(--violet);
	padding-left: 13px;
}
.service-box-img {
	width: fit-content;
	height: 100%;
	display: flex;
	align-items: flex-end;
}
.sb {
	display: grid;
	grid-template-columns: 1fr 3fr;
	column-gap: 20px;
	margin-top: 8px;
	margin-bottom: 59px;
}
.sb .service-editor-block ol {
	padding-left: 20px;
}
.sb .list-column-2 {
	column-gap: 8px;
}
.sb ul {
	padding-left: 20px;	
}
.sb .service-editor-block .btn-action {
	display: block;
	text-align: center;
	width: 100%;
}
.service-list-flex {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 12px;
}
.service-list-flex .service-list-box {
	width: 100%;
}
.service-editor-block .block-subtitle {
	text-transform: uppercase;
	margin-bottom: 8px;
}
.tb {
	display: grid;
	grid-template-columns: 3fr 1fr;
	column-gap: 17px;
}
.order-box {
	background-color: var(--violet);
	border-radius: 10px;
	color: #fff;
	padding: 20px 22px 23px 22px;
}
.tb .form-title {
	margin: 11px 0;
	font-weight: normal;
}
.tb .order-box .img-wrap img {
	margin-top: -30px;
	border-bottom-left-radius: 5px;
}
.tb .form-action {
	width: 100%;
	padding: 10px;
}
.tb .wpcf7-form-control-wrap {
	width: 100%;
}
.list-column-2 {
	columns: 2;
}
.link-grid {
	grid-template-columns: 1fr 1fr;
	column-gap: 5px;
}
.order-box img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
.service-list-pill {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	column-gap: 17px;
	row-gap: 11px;
}
.service-list-pill  .service-list-box {
	width: 100%;
}
.service-list-pill  .service-list-box ul {
	padding-left: calc(13px + 1rem);
}

.gallery-section {
	background-color: #FBF2DD;
	padding-top: 56px;
	padding-bottom: 73px;
}
.gallery-grid {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: 20px;
	row-gap: 23px;
}
.gallery-grid .item-box {
	background-color: #FFFFFF;
	border-radius: 5px;
	overflow: hidden;
	box-shadow: 4px 4px 40px 0px #0000001A;
	aspect-ratio: 1.5 / 1;
	transition: all .2s ease-in-out;
	position: relative;
}
.gallery-grid .item-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.gallery-grid .item-box a {
	display: flex;
	height: 100%;
	width: 100%;
	position: relative;
	z-index: 3;
}
.gallery-grid .item-box:hover {
	transform: scale(1.2);
	cursor: pointer;
}
.gallery-grid .item-box:hover a::after {
	content: '';
	position: absolute;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: url(./images/icons/lupa.svg)no-repeat center;
	left: 0;
  	top: 0;
}
.section-title-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
}
.complex-section {
	padding-top: 91px;
	padding-bottom: 82px;
}
.complex-section .order-box {
	padding: 9px 13px;
}
.complex-section .box-title {
	margin-bottom: 5px;
}
.complex-grid .grid-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 16px;
	row-gap: 11px;
}
.complex-grid .order-box {
	grid-column: span 2;
}
.complex-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
	margin-bottom: 22px;
}
.complex-section .block-subtitle {
	margin-bottom: 5px;
}
.complex-flex .grid-block {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	column-gap: 16px;
}
.complex-flex > .service-list {
	display: flex;
	/* display: grid;
	grid-template-columns: 2fr 1fr; */
	column-gap: 20px;
}
.complex-flex > .service-list .order-box {
	max-width: 30%;
	width: 100%;
}
.complex-flex > .service-list > .d-grid {
	flex-grow: 1;
}
.complex-flex .service-list-box {
	padding: 11px 0 0 0;
}
.complex-section .form-action {
	width: 100%;
}
.complex-section .img-box {
	display: flex;
	height: 100%;
	align-items: flex-end;
}



.section-s {
	background-color: #F4F0FF;
	padding-top: 71px;
	padding-bottom: 95px;
}
.section-s .block-title-wrap {
	flex-shrink: 0;
}
.solutions-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
	row-gap: 17px;
}
.solutions-grid .grid-block {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 16px;
}
.section-s .form-wrap {
	max-width: 60%;
}
.section-s .form-wrap .block-title {
	margin-bottom: 11px;
}
.section-s .form-wrap .block-desc {
	margin-bottom: 15px;
}
.section-s .form-wrap .form-subtitle {
	margin-bottom: 18px;
}
.section-s .form-wrap {
	padding-top: 19px;
}
.section-s .form-wrap .wpcf7-form-control-wrap,
.section-s .form-wrap .form-action {
	width: 80%;
}
.img-wrap {
	display: flex;
	align-items: flex-end;
	border-bottom-right-radius: 5px;
	border-bottom-left-radius: 5px;
	background: linear-gradient(to top, #ffba188a 0%, #473477 70%);
}
.section-s .box-title {
	margin-bottom: 20px;
}
.section-s .service-list-box {
	background: url(./images/decor/pixel-box.svg)no-repeat right bottom;
	background-size: contain;
}
.section-s .service-list-box:nth-child(even){
	background: url(./images/decor/pixel-box-revers.svg)no-repeat left top;
	background-size: contain;
}
.section-s .service-list .block-desc {
	max-width: 50%;
}
.section-s .service-list > .d-grid {
	grid-template-rows: auto 1fr;
}
.section-s .service-list .img-box {
	display: flex;
	align-items: center;
	height: 100%;
}


.reviews {
	padding-top: 70px;
	padding-bottom: 72px;
}
.review-header {
	column-gap: 16px;
}
.review-ava-box {
	width: 69px;
	height: 69px;
	border-radius: 50%;
	background-color: #D9D9D9;
}
.review-meta {
	flex-grow: 1;
	justify-content: space-between;
}
.review-author-name {
	font-size: 20px;
	font-weight: 700;
	color: #252525;
}
.review-author-date {
	color: #25252552;
	font-size: 14px;
}
.reviews-reiting-count {
	font-size: 40px;
	color: var(--violet);
}
.reviews .section-title-grid {
	margin-bottom: 30px;
	align-items: center;
}
.reviews .section-title-grid .block-title {
	margin-bottom: 0;
}
.reviews .section-title-grid .d-flex {
	column-gap: 18px;
	align-items: center;
	justify-content: flex-end;
}
.review-slide {
	background-color: #fff;
	box-shadow: 4px 4px 40px 0px #0000001A;
	border-radius: 5px;
	padding: 20px 29px;
	height: auto;
}
.read-more-rev {
	background: #4734770D;
	padding: 7.5px 14px;
	border-radius: 5px;
	color: #473477;
	width: fit-content;
}
.read-more-rev:hover {
	cursor: pointer;
}
.review-author {
	display: flex;
	flex-direction: column;
	row-gap: 5px;
}
.review-star {
	display: block;
	width: 17px;
	height: 15px;
	background: url(./images/icons/star.svg)no-repeat center;
	background-size: contain;
}
.reviews-slider-wrapper {
	position: relative;
}
.reviews-slider-wrapper .slider-control {
	background: var(--violet);
	border-radius: 50%;
	width: 49px;
	height: 49px;
	top: auto;
	bottom: -14px;
	margin: 0;
}
.reviews-slider-wrapper .slider-control svg {
	display: none;
}
.reviews-slider {
	padding: 50px 30px;
	margin: 0 -30px;
}
.reviews-platform img,
.review-meta-platform img {
	filter: drop-shadow(4px 4px 6px rgba(0, 0, 0, 0.25));
}


.employees {
	background-color: #FBF2DD;
	padding: 50px 0;
}
.employees .block-subtitle,
.employees .block-title {
	margin-bottom: 7px;
}
.employees-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 15px;
	margin-top: 70px;
}
.employee-box {
	display: flex;
  	flex-direction: column;
	row-gap: 15px;
}
.employee-box .employee-img {
	position: relative;
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	border-radius: 5px;
	padding-top: 89%;
	line-height: 0;
	height: 0;
}
.employee-box .employee-img::after {
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
}
.employee-box .employee-img img {
	position: absolute;
	bottom: 0;
	height: 120%;
	width: auto;
	object-fit: contain;
	-webkit-filter: drop-shadow(4px -12px 28px rgba(0, 0, 0, 0.102));
  	filter: drop-shadow(4px -12px 28px rgba(0, 0, 0, 0.102))
			drop-shadow(16px -48px 51px #00000017)
			drop-shadow(37px -108px 69px #0000000D)
			drop-shadow(65px -192px 81px #00000003)
			drop-shadow(102px -301px 89px #00000000);
	z-index: 3;
}
.employee-box:nth-child(even) .employee-img::after {
	background: url(./images/decor/pixel-box-revers.svg)no-repeat;
	background-position: left top;
	background-size: contain;
}
.employee-box:nth-child(even) .employee-img {
	background-color: var(--violet);
}
.employee-box:nth-child(odd) .employee-img::after {
	background: url(./images/decor/pixel-box.svg)no-repeat;
	background-position: right bottom;
	background-size: contain;
}
.employee-box:nth-child(odd) .employee-img {
	background-color: #fff;
}
.employee-meta {
	display: grid;
	row-gap: 10px;
	text-align: center;
}
.employee-job-name {
	background: #4734770D;
	border-radius: 5px;
	padding: 7.5px 10px;
	width: 100%;
	color: var(--violet);
	font-size: 16px;
	font-style: italic;
	font-weight: 700;
}
.employee-name {
	font-size: 20px;
}


.steps-work {
	padding-top: 69px;
	padding-bottom: 40px;
}
.steps-wrap {
	grid-template-columns: .55fr .45fr;
	column-gap: 60px;
}
.steps-table-head {
	background-color: #FFB81821;
	color: var(--violet);
	font-weight: 700;
}
.steps-table-row {
	grid-template-columns: 30% 40% 30%;
}
.steps-table-row:nth-child(even){
	background-color: #F4F0FF;
}
.steps-block {
	grid-template-columns: 1fr 1fr;
	padding-right: 15%;
}
.steps-table-head .steps-table-td {
	padding: 14px 22px;
	display: flex;
	align-items: center;
}
.steps-table-body .steps-table-td {
	padding: 7px 22px;
}
.step-count {
	background-color: var(--violet);
	border-radius: 50%;
	width: 33px;
	height: 33px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
}
.step-head {
	column-gap: 17px;
	align-items: center;
}
.step-title {
	color: #252525;
}
.steps-item img {
	margin: 0 auto;
}
.steps-item {
	position: relative;
	aspect-ratio: 1.2 / 1;
}
.steps-item::before {
	content: '';
	position: absolute;
	z-index: -1;
	background: radial-gradient(circle,rgba(255, 184, 24, .5) 0%, rgba(250, 250, 250, 0) 50%);
	backdrop-filter: blur(57.5px);
	width: 100%;
	padding-top: 100%;
	border-radius: 50%;
	margin: auto;
	top: 50%; left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}
.steps-item:nth-child(3)::before,
.steps-item:nth-child(2)::before {
	background: radial-gradient(circle,rgba(71, 52, 119, .5) 0%, rgba(250, 250, 250, 0) 50%);
}
.steps-item:nth-child(3),
.steps-item:nth-child(4) {
	transform: translateX(30%);
}
.steps-work h2 {
	margin-bottom: 5px;
}
.steps-work .block-subtitle {
	margin-bottom: 27px;
}
.steps-work .block-desc {
	margin-bottom: 16px;
}


.contacts-map {
	background-color: #F4F0FF;
	padding-top: 64px;
	padding-bottom: 91px;
}
.map-grid {
	grid-template-columns: repeat(4, 1fr);
	column-gap: 20px;
	row-gap: 10px;
}
.map-frame {
	margin-bottom: 19px;
	width: 100%;
	min-height: 438px;
	border-radius: 5px;
	overflow: hidden;
	background-color: white;
}
.map-frame iframe {
	width: 100%;
	/* height: 100%; */
}
.branches-box {
	flex-direction: column;
	row-gap: 10px;
	background: white;
	border-radius: 5px;
	padding: 20px;
	box-shadow: 4px 4px 40px 0px #0000001A;
}
.branches-title {
	color: var(--violet);
	font-size: 20px;
	font-weight: 700;
}
.branches-item {
	column-gap: 10px;
	align-items: center;
}
.branches-icon {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: var(--violet);
	display: flex;
	align-items: center;
	justify-content: center;
}
/*========= CALCULATORS =================*/
.calc-form {
	padding: 1rem;
	border: 1px solid silver;
	border-radius: 1rem;
	/* width: 100%; */
	margin: 2rem 0;
}

/* ======== MODAL ============*/
.modal {
    position: fixed;
    top: 0;
    left: 0;
    visibility: hidden;
    width: 100%;
    height: 100%;
}
.modal.is-visible {
    visibility: visible;
	z-index: 110;
}
.no-scroll {
    overflow: hidden;
}
.modal-overlay {
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s ease 0.3s, opacity 0.3s ease;
}
.modal-overlay {
    background: rgba(0, 0, 0, 0.5);
}
.modal.is-visible .modal-overlay {
    opacity: 1;
    visibility: visible;
    transition-delay: 0s;
}
.modal-wrapper {
    position: absolute;
    z-index: 110;
    margin: auto;
    top: 0; left: 0; bottom: 0; right: 0;
	padding: 1rem;
    width: fit-content;
	min-width: 300px;
	height: fit-content;
    max-width: 800px;
    max-height: 600px;
    background-color: #fff;
    box-shadow: 0 0 1.5em rgba(0, 0, 0, 0.35);
}
.modal-wrapper::before,
.modal-wrapper::after {
	content: '';
	position: absolute;
	display: block;
	width: 40%;
	height: 100%;
	z-index: -1;
}
.modal-wrapper::before {
	top: 0;
	left: 0;
	background: url(./images/decor/pixel-box-revers.svg)no-repeat;
    background-size: auto;
 	background-size: contain;
}
.modal-wrapper::after {
	bottom: 0;
	right: 0;
	background: url(./images/decor/pixel-box.svg)no-repeat right bottom;
    background-size: auto;
  	background-size: contain;
}
.modal-transition {
    transition: visibility 0.3s 0.12s, opacity 0.3s 0.12s, transform 0.3s 0.12s;
    transform: translateY(-10%);
    opacity: 0;
}
.modal.is-visible .modal-transition {
    transform: translateY(0);
    opacity: 1;
}
.modal-header,
.modal-content {
    padding: 1em;
}
.modal-content .privacy {
	margin-top: 3%;
}
.modal-header {
    position: relative;
    background-color: #fff;
}
.modal-heading {
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 30px;
  	height: 30px;
    background: none;
    border: 0;
}
.modal-close:hover {
    color: #777;
}
.modal-content > *:first-child {
    margin-top: 0;
}
.modal-content > *:last-child {
    margin-bottom: 0;
}
.modal-content .wpcf7 {
	margin: 2rem;
	text-align: center;
}
.modal-content .wpcf7 .btn-action {
	min-width: 200px;
}
.modal-content .wpcf7 .modal-form-title {
	font-size: 32px;
	font-weight: 700;
}
.modal-content .wpcf7 .modal-form-desc {
	font-size: 20px;
	font-weight: normal;
	margin-bottom: 36px;
}
.modal-content input[type="text"],
.modal-content input[type="tel"] {
	border: 1px solid #DDD6FF;
	color: #252525;
	background: #fff;
}
.modal-content input::placeholder {
	color: #252525;
}
.modal-content .accept-privacy {
	color: #252525;
}
.modal-content  .btn-area {
	display: flex;
	justify-content: center;
}
@media (max-width: 780px) {
    .modal-wrapper{
        width: calc(100% - 20px);
        max-height: 400px;
    }
}

/*-------- Требование к макету ----------*/
.layout-requirements {
	background-color: #FBF2DD;
	padding-top: 57px;
	padding-bottom: 57px;
}
.grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	margin-bottom: 20px;
}

.grid-bottom {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

/* Карточки */
.card {
	background-color: #ffffff;
	border-radius: 5px;
	padding: 13px;
	box-shadow: var(--shadow);
	display: flex;
	flex-direction: column;
}

.card-title{
	font-size: 20px;
	font-weight: normal;
	margin-bottom: 8px;
	margin-top: 0;
	color: #473477;
}

.card p {
	font-size: inherit;
	color: #252525;
	margin-bottom: 16px;
	margin-top: 0;
}

/* Списки в карточке "Общие требования" */
.requirements-list {
	list-style: none;
	font-size: inherit;
	color: #252525;
	margin: 0;
  	padding: 0;
}

.requirements-list li {
	margin-bottom: 6px;
	position: relative;
	padding-left: 12px;
}

.requirements-list li::before {
	content: "•";
	position: absolute;
	left: 0;
	color: #888;
}

/* Иконки форматов файлов */
.file-icons-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
	margin-top: auto;
	padding-top: 10px;
}

.file-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/* Высота подстраивается под картинку, можно задать фиксированную */
}

/* Стили для самих картинок */
.file-icon img {
	width: 100%;
	max-width: 60px; /* Ограничиваем максимальную ширину иконки */
	height: auto;
	display: block;
	/* Добавляем легкую тень, как на макете */
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

/* Цвета бейджей (имитация) */
.file-icon span {
	padding: 2px 6px;
	border-radius: 3px;
}

/* Блок "Примеры макетов" */
.download-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
	margin-top: auto;
	align-content: center;
	height: 100%;
}

.download-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.download-item .mock-icon {
	width: 60px;
	height: 70px; /* Задаем высоту, чтобы выровнять иконки */
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

.download-item .mock-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain; /* Картинка вписывается, сохраняя пропорции */
	filter: drop-shadow(0 4px 6px rgba(0, 0, 0, 0.1));
}

.download-item .mock-label {
	font-weight: 700;
	font-size: 10px;
	padding: 2px 8px;
	border-radius: 4px;
	color: #fff;
	margin-bottom: 4px;
}

.download-item .download-text {
	color: #4a4a4a;
	font-weight: 500;
}

/* Блок "Вылеты и линии резки" */
.bleed-content {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: auto;
	flex-wrap: wrap;
}

.bleed-text {
	flex: 1;
	min-width: 200px;
}

.bleed-images {
	display: flex;
	gap: 15px;
}

.bleed-img-wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.bleed-placeholder {
	width: 80px;
	height: 80px;
	position: relative;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.bleed-img-wrapper span {
	font-size: 12px;
	font-style: italic;
	color: #252525;
}
/* Адаптивность */
@media (max-width: 992px) {
	.grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.grid-bottom {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.grid {
		grid-template-columns: 1fr;
	}
	.bleed-content {
		flex-direction: column;
		align-items: flex-start;
	}
	.bleed-images {
		width: 100%;
		justify-content: center;
	}
}
/*============== offcanvas ===================*/
.offcanvas {
    position: fixed;
    bottom: 0;
    z-index: 1045;
    display: flex;
	justify-content: center;
	align-items: center;
    flex-direction: column;
    color: #212121;
    visibility: hidden;
    background-color: var(--violet);
    background-clip: padding-box;
    outline: 0;
    transition: all 0.3s ease-in-out;
	top: 0;
    right: 0;
    left: 0;
	width: 100%;
	max-width: 500px;
    transform: translateX(-100%);
	border-radius: 0 20px 20px 0;
}
.offcanvas.show {
    transform: none;
	visibility: visible;
}
.btn-close {
	position: absolute;
	right: 20px;
	top: 10px;
	width: 28px;
	height: 28px;
	background: transparent;
	border: none;
	outline: none;
}
.offcanvas-info {
	color: #fff;
	display: flex;
	flex-direction: column;
	row-gap: 15px;
	margin: 20px 0;
}
.wpcf7-response-output {
	display: none;
}
.order-layout-box {
	padding: 63px 0;
}
.desktop-only {
	display: block;
}
.mobile-only {
	display: none;
}
.site-footer .container {
	position: relative;
	z-index: 1;
}
select[name="place"] {
	background: rgba(255, 255, 255, 0.2);
	border-radius: 5px;
	padding: 10px 14px;
	border: 1px solid rgba(255, 255, 255, 0.65);
	color: #fff;
}
select[name="place"] option {
	color: #212121;
}
.main-navigation-mobile {
	margin-top: 34px;
}
.main-navigation-mobile ul {
	list-style: none;
	padding: 0;
	display: flex;
	flex-direction: column;
	row-gap: 20px;
}
.main-navigation-mobile ul li a {
	font-size: 16px;
	color: #fff;
	position: relative;
	display: flex;
	align-items: center;
	column-gap: 20px;
}
.main-navigation-mobile ul li a::after {
	content: '';
	width: 20px;
	height: 20px;
	background: url(./images/icons/pixel-arrow-next.svg)no-repeat center;
	background-size: contain;
}
.offcanvas-body {
	padding: 10px;
}
.offcanvas-body .live-search {
	max-width: 320px;
	margin-top: 30px;
}
/* Landscape - телефоны */
@media (max-width: 480px) {
	.photo-editor-grid {
		grid-template-columns: none;
	}
	.list-column-2 {
		columns: 1;
	}
	.reviews-slider {
		padding: 50px 0;
		margin: 0;
	}
	
}
/* От ландшафтного экрана телефона до потретного планшета */
@media (max-width: 767px) {

	.mobile-only {
		display: block;
	}
	.desktop-only {
		display: none;
	}
	.page-header {
		grid-template-columns: none;
	}
	.page-header-pill {
		flex-direction: column;
		margin-top: 24px;
		row-gap: 6px;
	}
	.main-form {
		grid-template-columns: none;
		padding: 10px;
	}
	.main-form .content-box {
		padding-right: 0;
		border-right: none;
		border-bottom: 1px solid #FCFCFC;
		padding-bottom: 32px;
		margin-bottom: 19px;
	}
	.main-form .form-row {
		row-gap: 10px;
		flex-wrap: wrap;
	}
	.main-form .form-row label:first-child {
		flex: 0 0 100%;
	}
	.form-row .label.load-mok-box {
		flex: 0 0 100%;
	}
	.submit-flex {
		flex-direction: column;
		row-gap: 10px;
	}
	.submit-flex .col {
		flex-direction: column;
		margin-right: 0;
		row-gap: 10px;
	}
	.service-list-title {
		flex-direction: column;
		margin-bottom: 14px;
	}
	.service-list-grid {
		grid-template-columns: none;
		flex-direction: column;
	}
	.fb-grid .service-list-box:first-child,
	.fb-grid .service-list-box:nth-child(2),
	.fb-grid .service-list-box {
		width: 100%;
	}
	.service-list-box .d-flex {
		column-gap: 15px;
	}
	.service-list-box ul {
		/* padding-left: 15px; */
	}
	.sb {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.service-list-flex {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.service-list-pill {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.gallery-grid {
		grid-template-columns: 1fr 1fr;
	}
	.tb {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.fb-grid {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.section-title-grid {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.complex-section {
		padding-top: 57px;
		padding-bottom: 40px;
	}
	.complex-grid .grid-block {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.complex-grid {
		grid-template-columns: none;
		margin-top: 17px;
		row-gap: 10px;
	}
	.desc {

	}
	.block-desc {
		font-size: 16px;
	}
	.complex-flex .grid-block {
		grid-template-columns: 1fr 1fr;
		row-gap: 6px;
	}
	.complex-flex > .service-list {
		flex-direction: column;
		row-gap: 10px;
	}
	.complex-flex > .service-list .order-box {
		max-width: 100%;
	}
	.solutions-grid .grid-block {
		grid-template-columns: 1fr 1fr;
		row-gap: 6px;
	}
	.reviews .section-title-grid .d-flex {
		justify-content: space-between;
		margin-top: 12px;
	}
	.solutions-grid {
		grid-template-columns: none;
		margin-top: 17px;
		row-gap: 10px;
	}
	.section-s .service-list .block-desc {
		width: 100%;
		max-width: 100%;
	}
	.order-box .d-flex {
		flex-direction: column;
	}
	.section-s {
		padding-top: 57px;
		padding-bottom: 40px;
	}
	.section-s .form-wrap {
		width: 100%;
		max-width: 100%;
	}
	.employees-grid {
		grid-template-columns: none;
		row-gap: 80px;
	}
	.steps-work {
		padding-top: 47px;
	}
	.steps-work .block-desc {
		margin-bottom: 22px;
	}
	.steps-wrap {
		grid-template-columns: none;
		row-gap: 40px;
	}
	.steps-item:nth-child(3), .steps-item:nth-child(4) {
		transform: none;
	}
	.contacts-map .map-frame {
		margin-top: 27px;
		min-height: 228px;
		max-height: 300px;
	}
	.map-grid {
		grid-template-columns: none;
	}
	.footer-wrapper {
		flex-direction: column;
	}
	.footer-logo {
		max-width: 100%;
	}
	.footer-contacts {
		text-align: center;
		margin-bottom: 22px;
		display: flex;
		flex-direction: column;
		row-gap: 7px;
	}
	.footer-navigation {
		display: grid;
    	grid-template-columns: 1fr 1fr;
		row-gap: 10px;
	}
	.main-form .form-box {
		padding-left: 0;
	}
	.steps-table-head .steps-table-td {
		padding: 10px;
	}
	.steps-table-body .steps-table-td {
		padding: 10px;
	}
	.open-mobile-menu {
		background: none;
		border: none;
		width: auto;
		height: auto;
		outline: none;
	}
	.page-title {
		font-size: 28px;
	}
	.orange-border {
		font-size: 14px;
	}
	.block-title {
		font-size: 24px;
		margin-bottom: 9px;
	}
	.block-subtitle {
		font-size: 16px;
		margin-bottom: 5px;
	}
	.site-copyright {
		grid-template-columns: none;
		row-gap: 10px;
	}
	.img-decor {
		width: 100%;
	}
	/* .footer-navigation ul {
		display: grid;
	}
	.footer-navigation .footer-nav-company ul {
		grid-template-columns: 1fr 1fr;
	} */
	.service-category-header {
		flex-direction: column-reverse;
	}
	.service-category-header .cat-title-wrap {
		max-width: 100%;
	}
	.fd-grid-row {
		grid-template-columns: none;
		display: flex;
    	flex-direction: column;
	}
	.grid-line .order-box {
		grid-column: 1;
	}
	.form-wrap {
		width: 100%;
		padding-right: 0;
	}
	.form-wrap .wpcf7 input[type="tel"] {
		width: 100%;
	}
	.form-wrap .form-action {
		width: 100%;
	}
	.tag-services-block {
		padding: 13px 10px;
	}
	.single-header-grid {
		display: flex;
		flex-direction: column-reverse;
	}
	.page-navigation {
		flex-wrap: wrap;
		row-gap: 12px;
	}
	.caclulator-block-grid {
		display: flex;
		flex-direction: column;
	}
	.choosen-values {
		border-right: none;
		border-bottom: 1px solid #fff;
		padding-bottom: 15px;
		margin-bottom: 15px;
		padding-right: 0;
	}
	.add-to-cart-wrapper {
		padding-left: 0;
	}
}