/*!
Theme Name: light-smart
Theme URI: http://underscores.me/
Author: Underscores.me
 */
@font-face {
	font-family: 'BebasNeue';
	src: url('/wp-content/themes/light-smart/assets/fonts/BebasNeueRegular.woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Geist';
	src: url('/wp-content/themes/light-smart/assets/fonts/Geist-Regular.woff2');
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Geist';
	src: url('/wp-content/themes/light-smart/assets/fonts/Geist-Medium.woff2');
	font-weight: 600;
	font-style: normal;
	font-display: swap;
}
* {
	box-sizing: border-box;
}
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}
body {
	margin: 0;
	overflow-x: hidden;
	font-family: 'Geist', -apple-system, Roboto, sans-serif;
	box-sizing: border-box;
}
main {
	display: block;
}
:root {
	--black: #000000;
	--blue: #2E7EA4;
	--grey: rgba(60, 60, 67, 0.52);
	--dark-grey: rgba(60, 60, 67, 0.72);
	--light: #F7F8FA;
	--dark: #101012
}
h1, .h1 {
	font-size: 4.1667vw; /* 80px */
	margin: 0;
	line-height: 4.1667vw; /* 80px */
	letter-spacing: -0.1042vw; /* -2px */
}
.h1 {
	font-size: 5.8333vw; /* 112px */
}
h2, .h2 {
	font-size: 2.5vw; /* 48px */
	margin: 0;
	letter-spacing: -0.026vw; /* -0.5px */
	line-height: 100%;
}
h3, .h3 {
	font-size: 1.6667vw; /* 32px */
	margin: 0;
	letter-spacing: -0.013vw; /* -0.25px */
	line-height: 100%;
}
h4, .h4 {
	font-size: 1.25vw; /* 24px */
	margin: 0;
	letter-spacing: -0.0521vw; /* -1px */
	line-height: 100%;
}
h5, .h5 {
	font-size: 2.5vw; /* 48px */
	margin: 0;
	letter-spacing: -0.026vw; /* -0.5px */
	line-height: 100%;
}
b,
strong {
	font-weight: bolder;
}
img {
	border-style: none;
}
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}
button,
input {
	overflow: visible;
}
button,
select {
	text-transform: none;
}
fieldset {
	padding: 0.35em 0.75em 0.625em;
}
textarea {
	overflow: auto;
}
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}
body,
button,
input,
select,
optgroup,
textarea {
	color: #101012;
	font-size: 0.8333vw; /* 16px */
	line-height: 1.5;
	letter-spacing: -0.026vw; /* -0.5px */
}

h1, .h1,
h2, .h2,
h3, .h3,
h4,
h6 {
	clear: both;
	font-family: 'BebasNeue';
}

p {
	margin: 0 0 0.8333vw; /* 16px */
}
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 0.0521vw; /* 1px */
	margin-bottom: 1.5em;
}
ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}
img {
	height: auto;
	max-width: 100%;
}
figure {
	margin: 1em 0;
}
a {
	color: inherit;
	text-decoration: none;
}
a:hover,
a:focus,
a:active {

}

a:focus {
	outline: none;
}
button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 0.1563vw; /* 3px */
	padding: 0.1563vw; /* 3px */
}
select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

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

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

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

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

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

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

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

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

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

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

.gallery-caption {
	display: block;
}
/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}
.section-inner {
	width: 92.5vw; /* 1776px */
	max-width: 98.5%;
	margin: 0 auto;
}
.cont-cookie-popup {
	position: fixed;
	right: 3.75vw; /* 72px */
	bottom: 3.75vw; /* 72px */
	z-index: 8;
	width: 26.0417vw; /* 500px */
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.4s ease;
}
.cont-cookie-popup.show {
	visibility: visible;
	opacity: 1;
}
.flex, .rank-math-breadcrumb p {
	display: flex;
}
.flex-col {
	flex-direction: column;
}
.space-between {
	justify-content: space-between;
}
.justify-center {
	justify-content: center;
}
.items-center, .rank-math-breadcrumb p {
	align-items: center;
}
.transition, .mobile-menu.active svg path, .mobile-menu svg path {
	transition: all 0.4s;
}
.relative {
	position: relative;
}
.absolute {
	position: absolute;
}
.sticky {
	position: sticky;
	top: 0;
}
.gap6 {
	gap: 0.3125vw; /* 6px */
}
.gap8 {
	gap: 0.4167vw; /* 8px */
}
.gap12 {
	gap: 0.625vw; /* 12px */
}
.gap16 {
	gap: 0.8333vw; /* 16px */
}
.gap24 {
	gap: 1.25vw; /* 24px */
}
.gap32 {
	gap: 1.6667vw; /* 32px */
}
.gap48 {
	gap: 2.5vw; /* 48px */
}
.w350 {
	width: 18.2292vw; /* 350px */
}
.w100 {
	width: 100%;
}
.b-white {
	background: #fff;
}
.padding32 {
	padding: 1.6667vw; /* 32px */
}
.padding20 {
	padding: 1.0417vw; /* 20px */
}
.padding16 {
	padding: 0.8333vw; /* 16px */
}
.padding12 {
	padding: 0.625vw; /* 12px */
}
.box {
	border-radius: 1.4583vw; /* 28px */
	top: 1.25vw; /* 24px */
	left: 1.25vw; /* 24px */
}
.box1 {
	border-radius: 1.4583vw; /* 28px */
	top: 3.75vw; /* 72px */
	left: 3.75vw; /* 72px */
}

.pointer {
	cursor: pointer;
}
.collection-btn, .collection-btn.active:hover {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.00) 100%),  #2E7EA4;
	border: none;
}
.collection-btn.active svg path{
	fill: #101012;
}
.collection-btn svg path, .collection-btn:hover svg path, .social svg path, .front-page .mobile-menu svg path{
	fill: #fff;
}
.collection-btn.active, .back-light {
	background: var(--light);
}
.border16 {
	border-radius: 0.8333vw; /* 16px */
}
.border24 {
	border-radius: 1.25vw; /* 24px */
}
.border32 {
	border-radius: 1.6667vw; /* 32px */
}
.weight600{
	font-weight: 600;
}
.font20{
	font-size: 1.0417vw; /* 20px */
	letter-spacing: -0.0172vw; /* -0.33px */
	line-height: 100%;
}
.font12{
	font-size: 0.625vw; /* 12px */
	letter-spacing: 0;
	line-height: 100%;
}
.h900 {
	height: 46.875vw; /* 900px */
}
.overflow-hidd {
	overflow: hidden;
}
.upper {
	text-transform: uppercase;
}
.flex1 {
	flex: 1;
}
.h2 span, .grey, h2 span, .rank-math-breadcrumb a, .separator {
	color: var(--grey);
}
.dark-grey {
	color: var(--dark-grey);
}
.padding72 {
	padding: 3.75vw 0; /* 72px */
}
.back-blue {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.20) 0%, rgba(255, 255, 255, 0.00) 100%),  #2E7EA4;
}
.color-white {
	color: #fff;
}
.color-blue {
	color: var(--blue);
}
.news-img {
	height: 13.0208vw; /* 250px */
	width: 100%;
}
.cover {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.cat {
	padding: 0.2083vw 0.4167vw; /* 4px 8px */
}
.z-2 {
	z-index: 2;
}
.z-1 {
	z-index: 1;
}
.z-index {
	z-index: 10;
}
.h100 {
	height: 100%;
	box-sizing: border-box;
}
.overlay {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%);
	z-index: 1;
}
.left0 {
	top: 0;
	left: 0;
}
.item-end {
	justify-content: flex-end;
}
.align-end {
	align-items: flex-end;
}
.w651 {
	width: 33.9063vw; /* 651px */
	min-width: 33.9063vw; /* 651px */
}
.h900 {
	height: 46.875vw; /* 900px */
}
.vh100 {
	height: 100vh;
}
.btn {
	gap: 0.4167vw; /* 8px */
	padding: 0.8333vw; /* 16px */
}
.height56 {
	height: 2.9167vw; /* 56px */
}
.main-menu, .site-footer ul, .dropdown-menu ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 1.25vw; /* 24px */
}
.site-header .section-inner{
	height: 5.4167vw; /* 104px */
}
.front-page  .main-menu li a {
	color: #fff;
	font-weight: 600;
}
.hero-banner {
	margin-top: -5.4167vw; /* -104px */
}
.dark {
	background: var(--dark);
}
.small-text {
	font-size: 0.7292vw; /* 14px */
	letter-spacing: 0;
	line-height: 85.714%;
}
.color-light {
	color: rgba(176, 176, 185, 0.72);
}
.site-footer ul, .dropdown-menu ul {
	flex-direction: column;
}
.h920{
	height: 47.9167vw; /* 920px */
}
.icon {
	height: 2.9167vw; /* 56px */
	width: 2.9167vw; /* 56px */
	background: var(--light);
}
.social .icon {
	background: rgba(120, 120, 128, 0.12);
}
.grey-btn {
	background: rgba(120, 120, 128, 0.12);
}
.small-inner {
	width: 45.625vw; /* 876px */
}
.margin0, .rank-math-breadcrumb p {
	margin: 0;
}
.separator {
	padding: 0 0.5208vw; /* 10px */
}
.cont-cookie-popup {
	right: 3.75vw; /* 72px */
	bottom: 3.75vw; /* 72px */
	width: 26.0417vw; /* 500px */
}
.border {
	border: 1px solid rgba(120, 120, 128, 0.08);
}
.tabs {
	display: flex;
	padding: 0.2083vw; /* 4px */
	background: rgba(120, 120, 128, 0.08);
}

.tab {
	padding: 0.625vw; /* 12px */
	flex: 1;
	border: none;
	cursor: pointer;
	transition: all 0.4s ease;
}
.tab.active, .tab:hover {
	background: #fff;
	border-radius: 0.625vw; /* 12px */
	font-weight: 600;
}
.tab-content .tab-panel {
	display: none;
	padding: 0.4167vw 0; /* 8px 0 */
}
.tab-content .tab-panel.active {
	display: block;
}
.projects-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}
.info-row  {
	width: 25%;
	border-right: 1px solid rgba(120, 120, 128, 0.16);
}
.info-row:nth-last-child(1) {
	border-right: none;
}
.flat-info {
	max-width: 57.2917vw; /* 1100px */
}
.flat-slider-wrapper {
	display: flex;
	flex-direction: column;
	gap: 0.8333vw; /* 16px */
}
.flat-slider {
	order: 1;
}
.flat-slider .slider-item {
	display: flex !important;
	justify-content: center;
}
.flat-slider .slider-item img {
	height: 20.8333vw;
	width: auto;
}
.flat-info-grid {
	margin-top: 0.8333vw; /* 16px */
}
.project-item {
	border: 2px solid #fff;
}
.project-item.active {
	border: 2px solid var(--blue);
}
.mobile-menu {
	display: none;
}
.underline {
	text-decoration: underline;
}
.mobile-menu.active svg path:nth-child(1) {
	transform: rotate(45deg) translate(4px, -17px);
}
.mobile-menu.active svg path:nth-child(2) {
	transform: rotate(-45deg) translate(-10px, 7px);
}
.dropdown-menu {
	position: fixed;
	top: 80px;
	right: -100%;
	width: 320px;
	height: 100vh;
	visibility: hidden;
	opacity: 0;
	transition: right 0.4s ease-in-out;
	z-index: 9;
	overflow-y: auto;
}
.dropdown-menu.active {
	right: 0;
	opacity: 1;
	visibility: visible;
}
.menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 8;
}
.menu-overlay.active {
	opacity: 1;
	visibility: visible;
}
.dropdown-menu .header-contacts svg path {
	fill: var(--dark);
}
.dropdown-menu .header-contacts .icon {
	height: 45px;
	width: 45px;
	min-width: 45px;
}
.dark1 {
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.dark1 .main-menu li a {
	color: var(--dark);
	transition: all 0.4s;
}
.dark1 .logo svg path {
	fill: var(--dark);
	transition: all 0.4s;
}
.preloader {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 999999999;
	opacity: 1;
	contain: layout paint;
	max-width: 100%;
}
.preloader-remove {
	opacity: 0;
	transition: all 0.3s ease-out;
	backface-visibility: hidden;
}
.cube {
	height: 18.229vw;
	width: 18.229vw;
}
.top15 {
	top: 0.781vw;
}
.left35 {
	left: -1.823vw;
}
.right35 {
	right: -1.823vw;
}
/* Начальные состояния для анимации */
.hero-banner img {
	opacity: 0;
	transform: scale(1.1);
	will-change: transform, opacity;
}
.logo {
	opacity: 0;
	transform: scale(0.8);
	will-change: transform, opacity;
}
.consult {
	opacity: 0;
	transform: scale(0.8);
	will-change: transform, opacity;
}
.desc {
	opacity: 0;
	transform: scale(0.9);
	will-change: transform, opacity;
}
.main-navigation {
	opacity: 0;
	transform: scale(0.9);
	will-change: transform, opacity;
}