*, *:before, *:after 
{ box-sizing: border-box; }

body.blur-effect {
    filter: blur(5px);
    transition: filter 0.5s ease;
}

label.h .menu {
  position: fixed;
  right: -100px;
  top: -100px;
  z-index: 100;
  width: 200px;
  height: 200px;
  background: #2a639b;
  border-radius: 50% 50% 50% 50%;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  box-shadow: 0 0 0 0 #2a639b, 0 0 0 0 #2a639b;
  cursor: pointer;
  
}

label.h .hamburger {
  position: absolute;
  top: 135px;
  left: 50px;
  width: 30px;
  height: 2px;
  background: #fff;
  display: block;
  -webkit-transform-origin: center;
  transform-origin: center;
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}

label.h .hamburger:after, label.h .hamburger:before {
  -webkit-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff;
}

label.h .hamburger:before { top: -10px; }

label.h .hamburger:after { bottom: -10px; }

label.h input { display: none; }

label.h input:checked + .menu {
  box-shadow: 0 0 0 100vw #2a639b, 0 0 0 100vh #2a639b;
  border-radius: 0;
  
}

label.h input:checked + .menu .hamburger {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  
}

label.h input:checked + .menu .hamburger:after {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  bottom: 0;
  
}

label.h input:checked + .menu .hamburger:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  top: 0;
  
}

label.h input:checked + .menu + div { opacity: 1;   top: 50%; }
  
label.h div {
	 
  z-index: 200;
  position: fixed;
  top: -600px; 
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
  -webkit-transition: .25s 0s ease-in-out;
  transition: .25s 0s ease-in-out;
	max-width:320px;
  

}
 
label.h a {
  margin-bottom: 5px;
  display: block;
  color: #fff;
  text-decoration: none;
  
}


        
@font-face {
            font-family: 'Gilroy';
            src: url('/fonts/Gilroy-Light.woff') format('woff2'),
                 url('/fonts/Gilroy-Light.woff') format('woff');
            font-weight: normal;
            font-style: normal;
            font-display: swap;
        }
        
		@font-face {
            font-family: 'GilroyBold';
            src: url('/fonts/Gilroy-Regular.woff') format('woff2'),
                 url('/fonts/Gilroy-Regular.woff') format('woff');
            font-weight: normal;
            font-style: normal;
            font-display: swap;
        }
		@font-face {
            font-family: 'GilroyVeryBold';
            src: url('/fonts/Gilroy-Bold.woff') format('woff2'),
                 url('/fonts/Gilroy-Bold.woff') format('woff');
            font-weight: normal;
            font-style: normal;
            font-display: swap;
        }
        html, body {
            margin: 0;
            padding: 0;
            width: 100%;
            height: 100%;
            font-family: 'Gilroy', Arial, sans-serif;
			font-size:20px;
			font-weight:300;
			line-height: 28px;
        }
		a{color:#26619b;}
		*{font-family: 'Gilroy', Arial, sans-serif;}
        
        /* Основной контейнер с синим фоном */
        .full-size-block {
            width: 100%;
            height: 100%;
            background-color: #2a639b;
            position: relative;
            overflow: hidden;
        }
        
        /* Фоновое изображение (справа снизу) */
        .image-background {
            width: 100%;
            height: 100%;
            background-image: linear-gradient(to right, rgba(42, 99, 155, 0.6) 0 100%), url('https://optim.tildacdn.pub/tild3536-6365-4936-a566-313232363232/-/format/webp/849__.png.webp');
            background-position: right bottom;
            background-repeat: no-repeat;
            background-size: cover;
			 
        }
		
		 #map{filter: grayscale(1);}
        
        /* Центрированный блок 1120px с левым выравниванием */
        .centered-content {
            width: 1000px;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            color: white;
            padding-left:  0px;
            box-sizing: border-box;
        }
        
        /* Логотип 400px */
        .logo {
            width: 400px;
            margin-bottom: 40px;
            display: block;
        }
        
        /* Текстовый блок с левым выравниванием */
        .text-block {
            max-width: 800px;
            margin-bottom: 40px;
            text-align: left;
        }
        
        .text-block h1 {
            font-size: 42px;
            margin-bottom: 20px;
            font-weight: 700;
        }
        
        .text-block p {
            font-size: 20px;
            line-height: 1.6;
            font-weight: 400;
        }
        
        /* Кнопка */
        .button {
            display: inline-block;
            padding: 15px 30px;
            background-color: #ffffff;
            color: #2a639b;
            text-decoration: none;
            font-weight: 700;
            border-radius: 10px;
            transition: all 0.3s ease;
            font-size: 20px;
			border:1px solid white;
        }
        
        .button:hover {
            background-color: rgba(0,0,0,0);
            transform: translateY(-4px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
			border:1px solid white;
			color:white;
        }
		
		.button-r {
            display: inline-block;
            padding: 15px 30px;
            background-color: #2a639b;
            color: white;
            text-decoration: none;
            font-weight: 700;
            border-radius: 10px;
            transition: all 0.3s ease;
            font-size: 20px;
			border:1px solid white;
        }
        
        .button-r:hover {
            background-color: rgba(0,0,0,0);
            transform: translateY(-4px);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
			border:1px solid #2a639b;
			color:#2a639b;
        }
		
		.tb{font-size:48px; font-weight:bold; font-family:'GilroyBold'}
		.ts{font-size:20px; font-weight:400}
		.pad-big{padding-bottom:60px;}
		.pad-sm{padding-bottom:30px;}
		        .about-container {
            width: 100%;
            padding: 100px 0;
            font-family: Arial, sans-serif;
        }
        
        .about-inner-container {
            width: 1000px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
        }
		.about-inner-container-text {
            width: 1000px;
            margin: 0 auto;
            
        }
        
        .about-card {
            width: 23.333%;
            text-align: center;
        }
		.about-xcard {
            width: 15%;
            text-align: center;
        }
        
        .about-avatar {
            width: 100%;
            height: auto;
            border-radius: 50%;
            object-fit: cover;
            margin-bottom: 20px;
        }
        
        .about-name {
            font-weight: bold;
            margin-bottom: 5px;
            font-size: 18px;
        }
        
        .about-greeting {
            font-weight: normal;
            color: #555;
        }
		        .need-outer-block {
            width: 100%;
            background-color: #26619b;
            padding: 60px 0;
        }
        
        .need-inner-block {
            width: 1000px;
            margin: 0 auto;
            display: flex;
        }
        
        .need-text-block {
            width: 70%;
            padding-right: 20px;color: white;
  font-size: 28px;
  line-height: 42px;
        }
        
        .need-hello-block {
            width: 30%;
           
            padding: 20px;
            box-sizing: border-box;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 24px;
            color: white;
        }
		.strong{font-weight:bold;}
		        .advantages-container {
            width: 100%;
            padding: 100px 0;
            font-family: Arial, sans-serif;
			background:#26619b;
        }
        
        .advantages-inner-container {
            width: 1000px;
            margin: 0 auto;
            display: flex;
            justify-content: space-between;
        }
		.advantages-inner-container-text {
            width: 1000px;
            margin: 0 auto;
            
        }
        
        .advantages-card {
            width: 30%;
            text-align: left;
        }
		.advantages-xcard {
            width: 5%;
            
        }
        
        .advantages-name {
            font-weight: bold;
            margin-bottom: 5px;
            font-size: 26px;
			color:white;
			padding-left:36px;
        }
        
        .advantages-greeting {
            font-weight: normal;
            color: #555;
			color:white;
        }
		        .video-container {
            width: 1000px;
            margin: 0 auto;
            overflow: hidden; 
           
        }
        
        .video-block-60 {
            width: 60%;
            float: left;
            
            padding: 20px;
            box-sizing: border-box;
        }
        
        .video-block-40 {
            width: 40%;
            float: left;
            
            padding: 20px;
            box-sizing: border-box;
        }
        
        /* Очистка float после блоков */
        .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }
		        .payment-container {
            width: 100%;
            display: flex;
        }
        
        .payment-block {
            width: 50%;
            padding: 100px 0;
            color: white;
            box-sizing: border-box; /* Чтобы padding не влиял на общую ширину */
        }
        
        .payment-block-left {
            background-color: #316ca6;
            text-align: right;
            padding-right: 30px; /* Отступ справа 30px */
        }
        
        .payment-block-right {
            background-color: #26619b;
            text-align: left;
            padding-left: 30px; /* Отступ слева 30px */
        }
		        .portfolio-container {
            width: 100%;
            display: flex;
            justify-content: space-between;
            padding: 20px 0;
           
        }
        
        .portfolio-image-block {
            width: calc(20% - 10px);
            display: flex;
            justify-content: center;
            transition: transform 0.3s ease;
        }
        
        .portfolio-image-block img {
            max-width: 100%;
            height: auto;
            display: block;
            border-radius: 8px;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s ease;
			opacity:0.6
        }
        
        .portfolio-image-block:hover img {
            transform: translateY(-10px);
            box-shadow: 0 14px 18px rgba(0, 0, 0, 0.15);
        }
		        .map-container {
            width: 100%;
            overflow: hidden; /* Создает контекст для float */
        }
        
        .map-half {
            width: 50%;
            float: left;
            box-sizing: border-box; /* Учитывает padding и border в ширине */
        }
        
        /* Стили для наглядности */
        .map-half:first-child {
             
        }
        
        .map-half:last-child {
            background-color: #f2f6fc;
            padding: 60px;
        }
		#req-form *{box-sizing:border-box;  }
			#req-form input[type=text], #req-form textarea{font-family:'Gilroy';margin-bottom:20px;resize: none; display:block; width:100%; background:white; padding:15px; border:1px solid #fff; border-radius:10px; font-size:20px; font-weight:300; outline:none;}

			#req-form input[type=text]:hover, #req-form textarea:hover{ border:1px solid #ececec;}
			#req-form input[type=text]:focus, #req-form textarea:focus{ border:1px solid #ececec;}


			.upload-div{margin-bottom:20px; display:block; width:100%; text-align:center; background:white; padding:13px;font-family:'Roboto'; border:2px dashed #ccc; border-radius:10px; font-size:20px; font-weight:300; outline:none;}

  .footer-main-block {
            width: 100%;
            background-color: #26619b;
            padding: 60px 0;
        }
		.footer-main-block *{color:white;}
        
        /* Внутренний контейнер 1000px */
        .footer-inner-container {
            width: 1000px;
            margin: 0 auto;
        }
        
        /* Блок с контактами */
        .footer-contacts-block {
            display: flex;
            align-items: center;
            padding-bottom: 30px;
            
        }
        
        /* Логотип */
        .footer-logo {
            width: 260px;
            padding-right: 30px;
            margin-right: 30px;
            border-right: 1px solid rgba(255,255,255,0.6);
        }
        
        .footer-logo img {
            width: 100%;
            height: auto;
            display: block;
        }
        
        /* Контактная информация */
        .footer-contact-info {
            display: flex;
            flex-direction: column;
            gap: 10px;
        }
        
        .footer-phone, .footer-email {
            display: flex;
            align-items: center;
            font-size: 18px;  opacity:0.6
        }
        .footer-phone{font-size: 22px;}
        /* Блок с приветствием */
        .footer-greeting {
            width: 100%;
            padding: 30px 0;
            font-size: 16px; opacity:0.6
        }
        
        /* Блок с кнопкой */
        .footer-button-block {
            width: 100%;
            position: relative;
          
           
            border-radius: 8px;
            overflow: hidden;
        }
        
        .footer-button-block a {
            display: inline-block;
            color: white;
            text-decoration: none;
            font-size: 12px;
             text-decoration:underline;
            z-index: 2;
            position: relative; padding-right:15px;
        }
        
        .footer-button-bg {
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 100%;
            opacity: 0.7;
        }


.soc-icons .fab {
  padding: 10px;
  font-size: 20px;
  width: 20px;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
  
    background: #none;
  color: #fff;
  border:1px solid #fff;
}

/* Add a hover effect if you want */
.soc-icons .fab:hover {
  opacity: 0.7;
}

.soc-icons .fas {
  padding: 10px;
  font-size: 20px;
  width: 20px;
  text-align: center;
  text-decoration: none;
  border-radius: 50%;
    background: none;
  color: #fff;
  border:1px solid #fff;
}

/* Add a hover effect if you want */
.soc-icons .fas:hover {
  opacity: 0.7;
}

.soc-icons a{color:white !important;}
.soc-icons2 a{border:1px solid #26619b !important; background:#26619b !important; color:#fff !important;width: 42px !important;}
 .soc-icons a{ width: 42px !important; margin-top:15px;}


 .loader {
  border : 3px solid #26619b;
  border-radius: 50%;
  border-top: 3px solid rgba(255,255,255,0); 
  width: 120px;
  height: 120px;
  -webkit-animation: spin 0.5s linear infinite; /* Safari */
  animation: spin 0.5s linear infinite;
margin: 0 auto;
}

 .loader2 {
  
  width: 120px;
  height: 120px;
  -webkit-animation: spin2 0.5s linear infinite; /* Safari */
  animation: spin2 0.5s linear infinite;
margin: 0 auto;
}
 
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@-webkit-keyframes spin2 {
  0% { -webkit-transform: rotate(360deg);  }
  100% { -webkit-transform: rotate(0deg);   }
}

@keyframes spin2 {
  0% { transform: rotate(360deg);  }
  100% { transform: rotate(0deg);   }
}

.post-navigation{display:flex}
.nav-previous, .nav-next{flex: 1 1 50%;}
.nav-previous{text-align:left}
.nav-next{text-align:right;}

.snoska{font-size:18px; opacity:0.6; line-height:12px;}