html, body {
	height: 100%;
	margin: 0;
}

body {
	font-family: var(--font-family-base);
	font-size: var(--font-size-base);
	font-weight: var(--font-weight-light);
	line-height: var(--line-height-base);
	color: #ffffff;
	text-rendering: optimizeSpeed;
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	
}
img,video, video source{pointer-events:none}
main {
	flex: 1 0 auto;
	width: 100%;
	border-radius: 0 0 40px 40px;
	box-sizing: border-box;
	background-color: #00052b;
}

.entry-content {
	    max-width: 1400px;
    margin: 0 auto;
    padding: 1em;
}

footer {
	flex-shrink: 0;
	width: 100%;
	background-color: #ffffff;
	padding: 60px 0 40px;
}

header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	z-index: 1000;

}
header:after {content: "";width: 100%;height: 100%;position: absolute;top: 0;bottom: 0;right: 0;left: 0;margin: auto;background-color:#00052b4a;-webkit-backdrop-filter: blur(64px);backdrop-filter: blur(64px);z-index: -1;opacity: 1;transition: .35s;display: block;}
.container{margin:0 auto;padding:1em;}
header .container{display:flex;justify-content:space-between;align-items:center;}
@media (min-width:1440px){
.container{width:100%;max-width:1400px;}
}
header .container {
    padding: 2em 1em;
}
@media (max-width:1439px){
.container{width:calc(100% - 1em);padding:1em .5em;}
}
.logo img {/*min-width: 120px;*/}
.btn {
	font-size: var(--font-size-lg);
	/*font-weight: var(--font-weight-normal);*/
	position: relative;
	text-transform: uppercase;
	text-decoration: none;
	color: #ffffff;
	padding: 15px 20px;
	border: 1px solid #fff;
	border-radius: 10px;
	display: inline-flex;
	line-height: 1;
	align-items: center;
	justify-content: center;
}
.btn:hover {background-color: #fff;color: #00052B;}

/* Навигация */
header nav {flex: 1;margin: 0 40px;}
header nav ul {display: flex;justify-content: center;gap: 48px;list-style: none;margin: 0;padding: 0;}
header nav ul li a {color: #fff;text-decoration: none;font-size: var(--font-size-lg);font-weight: 300;padding: 8px 0;position: relative;transition: color 0.2s ease-in-out;text-transform: uppercase;}
nav li a:hover {text-decoration: none;}
nav ul {list-style: none;padding-left: 0;}
nav li {list-style-type: none;}
ul#menu-menyu li {
    margin-bottom: 0;
}
nav#top-menu{display: none;}
.menu-icon{width:60px;height:60px;border-radius:50%;background-color:rgba(255,255,255,.3);display:flex;justify-content:center;align-items:center;}
#nav-icon6 {width: 28px;height: 18px;position: relative;transition-duration: 1s;cursor:pointer;}
#nav-icon6 span {height: 2px;width: 28px;display: block;margin-top:10px;background-color:#fff;border-radius: 20px;position: relative;transition-duration: .25s;transition-delay: .25s;}
#nav-icon6 span:before,#nav-icon6 span:after{content: "";position:absolute;height:2px;right: 0;border-radius:3px;background-color: #fff;transition-duration: .25s;transition: transform .25s, top .25s .25s;}
#nav-icon6 span,#nav-icon6 span:before,#nav-icon6 span:after{-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;user-select: none;}
#nav-icon6 span:before {top:-8px;width:28px;}
#nav-icon6 span:after {top:8px;width:19px;}
#nav-icon6.open span {transition-duration: 0.1s;transition-delay: .25s;background: transparent;pointer-events:none;}
#nav-icon6.open span:before {transition: top .25s, transform .25s .25s;top: 0px;transform: rotateZ(-45deg);}
#nav-icon6.open span:after {transition: top 0.4s, transform .25s .25s;top: 0px;width: 28px;transform: rotateZ(45deg);}
@media (min-width: 801px){
.menu-icon{display:none}
header .logo{width:17%;}
footer .logo{width:30%;}
.logo a{display:block}
.logo img{width:100%;}
}
div#main-no-image {
    margin-top: 130px;
    margin-bottom: 30px;
    padding: 20px;
    text-align: center;
    text-transform: uppercase;
}
@media (max-width: 800px) {
header nav {display: none;}
.logo{width:33%;}
nav#top-menu.open{width:100%;height:100vh;display:block;position:fixed;top:0;left:0;margin:0;background-color:#00052b;display:flex;flex-wrap:wrap;align-content:space-between;z-index:900}
nav#top-menu.open ul{width:calc(100% - 2em);padding:123px 1em 0 1em;flex-wrap:wrap;}
nav#top-menu.open ul li{width:100%;}
nav#top-menu.open ul li a{color:#fff;font-size: var(--font-size-5xl);}
nav#top-menu.open .cont p,nav#top-menu.open .cont div.phone-item{width:calc(100% - 2em);padding:0 1em;}
nav#top-menu.open .cont div.phone-item{display:flex;justify-content:flex-start;margin:0 0 .5em 0;}
nav#top-menu.open .cont div.phone-item a{color:#fff}
}
@media (max-width: 650px) {
nav#top-menu.open .cont div.phone-item{flex-wrap:wrap;}
nav#top-menu.open .cont div.phone-item a{width:100%;margin:0 0 1em 0;font-size: var(--font-size-2xl);}
nav#top-menu.open .cont p{font-size: var(--font-size-xl);}
div#main-no-image {
    margin-top: 90px;
   }
footer .logo{width:30%;margin:0 auto}
}
section {
margin-top: clamp(20px, 20px + 5vw, 100px);
    margin-bottom: clamp(20px, 20px + 5vw, 100px);
	width: 100%;
	max-width: 100%;
}
/*section:first-of-type {
    margin-top: 0;
}

section:last-of-type {
    margin-bottom: 0;
}*/

#main-image {
	width: 100%;
	height: 90vh;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center;
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
	position: relative;
}

.page-template-uslugi-page.page-parent #main-image
{
	height: 50vh;
	
}
.page-template-uslugi-page.page-parent #main-image > * { 
    margin-top: 80px;
}


#main-image h1 {
	font-size: var(--font-size-6xl);
	text-align: center;
	max-width: 1200px;
	padding: 20px;
	text-transform: uppercase;
	font-weight: 400;
}

#projects h2, #trust-section h2, h2.contact-heading {
	font-size: var(--font-size-4xl);
	text-transform: uppercase;
	margin-bottom: 90px;
	text-align: center;
}
/*div#main-image h1 {
    padding: 2rem 3rem;
    background: rgb(0 13 110 / 49%);
    backdrop-filter: blur(0px);
    border-radius: 16px;
    text-shadow: none;
}*/
article.project-card {
	margin-top: 40px;
	margin-bottom: 40px;
}

article.project-card:nth-of-type(even) {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

article.project-card:nth-of-type(odd) {
	display: flex;
	flex-wrap: nowrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: center;
}

article.project-card img {
	width: 55%;
}

article.project-card:nth-of-type(even) .project-ttl {
	text-align: right;
}

article.project-card img {
	border-radius: 3% / 3%;
}
#true_loadmore{width:100%;display:flex;justify-content:center;align-items:center;}
.project-card img, .image-figure img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16 / 11;
    object-position: top; 
}
.project-ttl a.btn {
	margin-top: clamp(20px, 20px + 1.5vw, 40px);
}

.project-ttl h3, .services-partition-ttl h3 {
	font-size: var(--font-size-4xl);
	/*font-weight: var(--font-weight-medium);*/
	text-transform: uppercase;
	display: block;
}
span.wpcf7-list-item-label {
    font-size: var(--font-size-sm);
}

.project-ttl h3 {
	max-width: 450px;
}

.projects-full {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	width: 100%;
	height: clamp(425px, 425px + 15vw, 620px);
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius:20px;
}

.projects-full::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 1;
	border-radius:20px;
}

.projects-full .btn {
	position: relative;
	z-index: 2;
	padding: 20px 60px;
	border-radius: 15px;
	/*font-weight: var(--font-weight-medium);*/
}

.logos-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 5px;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 100%;
	max-width: 100%;
}

li.logo-item {
	display: flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #fff;
	border-radius: 20px;
	padding: 50px;
	max-width: 333px;
	min-width: 100px;
}

#trust-section a.btn {
	margin-top: 5px;
	display: block;
	padding: 20px;
	text-align: center;
	border: 2px solid;
	border-radius: 15px;
	/*font-weight: var(--font-weight-medium);*/
}

.contact-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.contact-grid * {
	font-size: var(--font-size-lg);
	color: #fff;
}

.contact-info > *:not(:first-child) {
	margin-top: clamp(10px, 10px + 1.5vw, 40px);
}
.info-item.address p {
    max-width: 400px;
}
.contact-info h4, .info-item.phone h4 {
	font-size: var(--font-size-lg);
	text-transform: uppercase;
}

#contact-section .phone-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

#contact-section .phone-link {
	color: inherit;
	text-decoration: none;
	white-space: nowrap;
}
.info-item.phone a {
    display: block;
}

/*#contact-section .phone-link:not(:last-child)::after {
	content: '|';
	margin-left: 15px;
	display: inline-block;
}*/

.phone-link:last-child::after {
	display: none;
}

.arrow::after {
	content: " →";
	margin-left: 8px;
}

.booking-form .checkbox {
	display: flex;
	align-items: flex-start;
	gap: 15px;
	position: relative;
	margin: 40px 0;
	cursor: pointer;
}
.booking-form .checkbox .wpcf7-list-item {margin:0;}
.booking-form .checkbox .wpcf7-list-item-label:after,.booking-form .checkbox .wpcf7-list-item-label:before{display:none}
.booking-form .checkbox .wpcf7-list-item-label{width:calc(100% - 52px);}
.booking-form input[type="checkbox"] {
	opacity: 0;
	width: 42px;
	height: 42px;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	margin: 0;
	pointer-events: none;
	z-index:1
}

.booking-form .checkbox label {
	position: relative;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	user-select: none;
}

.booking-form .checkbox label::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 42px;
	height: 42px;
	border: 1px solid #ffffff;
	border-radius: 8px;
	background-color: transparent;
	transition: all 0.2s ease;
	box-sizing: border-box;
	pointer-events: none;
	z-index:0
}

.booking-form .checkbox label.active::after {
	content: '✔';
	position: absolute;
	left: 0;
	top: 0;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: var(--font-size-base);
	color: #ffffff;
	line-height: 1;
	transition: opacity 0.2s ease;
	pointer-events: none;
	z-index:0
}
.submit-btn {width: 100%;background: none;}

footer .footer-grid {
	width: 100%;
   /* max-width: 950px;*/
	margin: 0 auto;
	padding: 0;
	display: grid;
	grid-template-columns: 2fr 1fr 1fr;
	gap: 40px;
}

.copyright, footer .privacy-policy a {
	font-size: var(--font-size-sm);
	text-transform: uppercase;
	color: #00052b;
	margin-top: clamp(10px, 10px + 0.8vw, 20px);
	    margin-bottom: 0;
}

ul.footer-menu {
	font-size: var(--font-size-md);
	text-transform: uppercase;
}

.footer-col.footer-contact .info-item.phone a, .footer-col.footer-contact  .info-item.address p {
	color: #00052b;
	display: block;
}

.footer-col.footer-contact h4, .footer-col.footer-nav h4, .footer-col .info-item.phone h4 {
	color: #000;
	font-size: var(--font-size-sm);
}

.project-info {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 60px;
	margin: 0 auto;
	align-items: stretch;
}

#project-text {
	display: flex;
	flex-direction: column;
	height: 100%;
}
#project-img img {
    max-width: 760px;
}

h1.page-ttl {
	text-transform: uppercase;
	font-size: var(	--font-size-4xl);
	flex: 1;
	display: flex;
	align-items: flex-start;
	max-width: 100%;
    justify-content: center;
}

.project-info-text {
	flex: 4;
	display: flex;
	flex-direction: column;
	gap: 30px;
}

dt.details-term {
	text-transform: uppercase;
	font-size: var(--font-size-md);
}

dd.details-description {
	text-transform: uppercase;
	margin-left: 0;
	font-size: var(--font-size-2xl);
}

.details-item:not(:first-child) {
	margin-top: 30px;
	margin-bottom: 0px;
}

ul.image-pair {
	display: flex;
	gap: 5px;
	margin-top: 0;
	margin-bottom: 0;
	padding-left: 0;
}

#project-more h2 {
	font-size: var(--font-size-6xl);
	text-transform: uppercase;
	margin-bottom: 50px;
	font-weight: var(--font-weight-semibold);
}


.image-figure {
	position: relative;
	margin: 0;
	width: 100%;
	height: 100%;
}
.image-figure img {
    max-width: 428px;
    border-radius: 20px;
}

.image-link {
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
}

.image-link img {
	width: 100%;
	height: 100%;
	display: block;
}

.image-caption {
	position: absolute;
	top: 20px;
	left: 20px;
	font-size: var(--font-size-2xl);
	text-transform: uppercase;
}
#project-gallery .btn.arrow{width:100%;cursor:pointer}
ul.gallery-grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
list-style: none;
padding: 0;
margin: 0;
width: 100%;
max-width: 100%;
}
ul.gallery-grid li.no-active,#more-photo{display:none}
#more-photo.active{text-align:center;display:block}
#project-img img,ul.gallery-grid img{border-radius:20px}

#services-partition {
	display: flex;
	flex-direction: column;
}

article.services-partition-card {
	display: flex;
	margin: 0 auto;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0;
	width: 100%;
}

#services-partition > article:not(:last-child) {
	border-bottom: 1px solid #ffffff;
}

article.services-partition-card > * {
	width: 50%;
}

section#services-text {
	font-size: var(--font-size-2xl);
	text-transform: lowercase;
}

.footer-col.footer-info.mob {
	display: none;
}
.letter-grid{display: grid;grid-template-columns: repeat(4, 1fr);gap: 5px;list-style: none;padding: 0;margin: 0;width: 100%;max-width: 100%;}
ul.letter-grid li img{width:100%;border-radius:20px;}
ul.letter-grid li a{width:100%;position:relative;display:block}
ul.letter-grid li a h2{width:95%;position:absolute;top:2%;left:2.5%;z-index:2;margin:0;padding:0}
@media screen and (min-width: 801px){
#project-img img.desc,ul.gallery-grid li img.desc{display:block}
#project-img img.no-desc,ul.gallery-grid li img.no-desc{display:none}
}
@media (max-width: 1359px) {
	.entry-content {
		padding: 0 20px;
	}
}

@media screen and (max-width: 800px) {
	header nav {
		display: none;
	}
		nav a.btn{font-size: var( --font-size-base);
	}
	.single .entry-content {padding:0;}
	.project-info {display: block;}
	#project-text{padding: 0 20px;margin-left:auto;margin-right:auto;margin-bottom:2em}
	#project-gallery{padding: 0 20px;margin-left:auto;margin-right:auto;margin-top:2em}
	#project-img{padding: 0 20px;margin:1em auto}
	#project-img img{width:100%}
	#project-img img.desc,ul.gallery-grid li img.desc{display:none}
	#project-img img.no-desc,ul.gallery-grid li img.no-desc{display:block}
	ul.gallery-grid {grid-template-columns: repeat(2, 1fr);}
	#project-more{padding: 0 20px;}
	.cont{width:100%;}
	.project-block-text{padding: 0 20px;margin-left:auto;margin-right:auto;}
	.project-info-text {margin-top:50px;}
}

@media (max-width: 600px) {

	article.project-card:nth-child(odd), article.project-card:nth-child(even) {
		flex-direction: column;
	}

	article.project-card img {
		width: 100%;
	}

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

	.project-ttl a.btn {
		margin-top: 10px;
	}

	.project-ttl h3 {
		margin-top: 20px;
	}

	.logos-grid {
		grid-template-columns: repeat(3, 1fr);
	}

	.contact-grid {
		grid-template-columns: repeat(1, 1fr);
	}

	footer .footer-grid {
		grid-template-columns: repeat(1, 1fr);
	}

	.footer-grid, article.project-card:nth-child(even) .project-ttl {
		text-align: center;
	}

	.footer-grid .logo img {
		width: 100%;
		margin: 0 auto;
	}

	ul.footer-menu {
		display: flex;
		flex-direction: row;
		gap: 20px;
		justify-content: center;
	}

	.copyright, footer .privacy-policy {
		display: none;
	}

	.footer-col.footer-info.mob {
		display: block;
	}

	.footer-col.footer-info.mob .copyright, .footer-col.footer-info.mob .privacy-policy {
		display: block;
	}

	ul.image-pair {
		flex-direction: column;
	}

	h1.page-ttl {
		text-align: left;
	}

	article.services-partition-card {
		gap: 20px;
		flex-direction: column-reverse;
	}

	article.services-partition-card > * {
		width: 100%;
	}
	
	#projects h2, #trust-section h2, h2.contact-heading {
    margin-bottom: 20px;

}
}
@media (max-width: 450px) {
ul.gallery-grid.mobil li{width:77%;}

}




#myvideo {
	width: 100%;
	height: 90vh;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	text-align: center;
	position: relative;
	overflow: hidden;
}

video#player {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: 1;
}




#myvideo h1 {
	font-size: var(--font-size-6xl);
	text-align: center;
	max-width: 1200px;
	padding: 20px;
	text-transform: uppercase;

	position: relative;
	z-index: 3;
	color: white; 
	margin: 0;
}
#main-image h1 {
	font-weight: var(--font-weight-light);
}


@media (max-width: 768px) {
	#myvideo h1 {
		font-size: var(--font-size-3xl); 
		padding: 15px;
	}
}

@media (max-width: 450px) {
header .btn {
    
padding: 9px 7px; 
        font-size: .8rem;
    
}
li.logo-item {
    padding: 30px;
    
}
}