/***********************************
***Общие стили**********************
***********************************/
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-Regular.eot');
    src: local('Value Sans Pro Regular'), local('ValueSansPro-Regular'),
        url('../fonts/ValueSansPro/ValueSansPro-Regular.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-Regular.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-Regular.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-MediumItalic.eot');
    src: local('Value Sans Pro Medium Italic'), local('ValueSansPro-MediumItalic'),
        url('../fonts/ValueSansPro/ValueSansPro-MediumItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-MediumItalic.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-MediumItalic.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-MediumItalic.ttf') format('truetype');
    font-weight: 500;
    font-style: italic;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-Italic.eot');
    src: local('Value Sans Pro Italic'), local('ValueSansPro-Italic'),
        url('../fonts/ValueSansPro/ValueSansPro-Italic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-Italic.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-Italic.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-Bold.eot');
    src: local('Value Sans Pro Bold'), local('ValueSansPro-Bold'),
        url('../fonts/ValueSansPro/ValueSansPro-Bold.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-Bold.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-Bold.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-Bold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-BlackItalic.eot');
    src: local('Value Sans Pro Black Italic'), local('ValueSansPro-BlackItalic'),
        url('../fonts/ValueSansPro/ValueSansPro-BlackItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-BlackItalic.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-BlackItalic.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-BlackItalic.ttf') format('truetype');
    font-weight: 900;
    font-style: italic;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-Black.eot');
    src: local('Value Sans Pro Black'), local('ValueSansPro-Black'),
        url('../fonts/ValueSansPro/ValueSansPro-Black.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-Black.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-Black.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-Medium.eot');
    src: local('Value Sans Pro Medium'), local('ValueSansPro-Medium'),
        url('../fonts/ValueSansPro/ValueSansPro-Medium.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-Medium.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-Medium.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Value Sans Pro';
    src: url('../fonts/ValueSansPro/ValueSansPro-BoldItalic.eot');
    src: local('Value Sans Pro Bold Italic'), local('ValueSansPro-BoldItalic'),
        url('../fonts/ValueSansPro/ValueSansPro-BoldItalic.eot?#iefix') format('embedded-opentype'),
        url('../fonts/ValueSansPro/ValueSansPro-BoldItalic.woff2') format('woff2'),
        url('../fonts/ValueSansPro/ValueSansPro-BoldItalic.woff') format('woff'),
        url('../fonts/ValueSansPro/ValueSansPro-BoldItalic.ttf') format('truetype');
    font-weight: bold;
    font-style: italic;
}


:root {
  --max-w       : 1440px;
  --workspace     : 1416px;
  
  --white-color   : #FFFFFF;
  --black-color   : #000000;   
  --bc-color      : #A4B1BA;
  
  --primary-color   : #2785D0;
  --secondary-color : #195E95;
  --third-color   : #4795D1;
  --text-color    : #181818;
  --content-color   : #34383F;
  --header-color    : #010E25;
  
  --cyan-color    : #46D9F4;
  --red-color     : #DA1F27;
  --beige-color   : #F1ECE9;
  --gray-color    : #A8A8A8;  
  --lightgray-color : #F8F9FD;
  --dark-color    : #020F28;

  --text-size     : 16px;
  --border-radius   : 32px;
}

.cyan {     color: var(--cyan-color); }
.white {    color: var(--white-color); }

.black {    color: var(--black-color); }   
.primary {    color: var(--primary-color); }
.secondary {  color: var(--secondary-color); }
.third {    color: var(--third-color); }
.text {     color: var(--text-color); }
.cyan {     color: var(--cyan-color); }
.red {      color: var(--red-color); }
.beige {    color: var(--beige-color); }
.gray {     color: var(--gray-color); }
.gray-gradient{ color: radial-gradient(#FFFFFF, #999999);}
.lightgray {  color: var(--lightgray-color); }
.dark {     color: var(--dark-color); }
.button-border{ border-radius: var(--border-radius);}

html,
body
 {
    margin        : 0;
    padding       : 0;
    border        : 0;
    outline       : 0;
    vertical-align: baseline;
  color: var(--text-color);
  font-family: "Inter";
  font-weight: 400;
  line-height : normal; 
  font-size: var(--text-size);
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
section  {
    display : block;
}

html {
  font-size               : 100%;
    overflow-y              : scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust    : 100%;
  font-optical-sizing   : auto;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
    box-sizing: border-box;
    margin: unset;
    padding: unset;
    font: unset;
    letter-spacing: unset;
    word-spacing: unset;
    text-transform: unset;
    text-decoration: unset;
    color: unset;
    background: unset;
    border: unset;
    border-radius: unset;
    outline: unset;
    opacity: unset;
}

body {
  max-width: 100%;
  overflow-x: hidden;
  position: relative;
  background: radial-gradient(ellipse 69.54% 154.47% at 49.13% 50.79%, #DDDEE4 0%, #F8F9FD 50%, #DDDEE4 100%), white;
}

header {
    height: 75px;
    width: 100%;
    z-index: 100;
    position: relative;
    transition: all 1s ease;
}

main {
  min-height: 63.9vh;
  position: relative;
}

section  {
  position: relative;
}

h1 {
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 42px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  margin: 0;
}

.block-1-top h1 {
  background: radial-gradient(#FFFFFF, #999999);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
  font-weight: 400;
}

.block-1-top h1 span {
  font-size: 42px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}

h2 {
  position: relative;
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 32px;
    font-weight: 700;
  line-height: normal;
  margin: 0 0 20px 0;
}

h3 {
  position: relative;
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 26px;
    font-weight: 400;
  line-height: normal;
  margin: 0;
}

h4 {
  position: relative;
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 22px;
    font-weight: 400;
  line-height: normal;
  margin: 0;
}

h5 {
  position: relative;
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 20px;
    font-weight: 400;
  line-height: normal;
  margin: 0;
}

h6 {
  position: relative;
  color: var(--text-color);
  word-wrap: break-word; 
  font-size: 18px;
    font-weight: 400;
  line-height: normal;
  margin: 0;
}

.font-32 {
  font-size: 32px;
}

.font-200 {
  font-weight: 200;
}
.font-500 {
  font-weight: 500;
}

.tablet {
  display: none;
}

.desktop {
  display: none;
}


@media (min-width: 768px) {
  h1, .block-1-top h1 span {font-size: 58px; font-weight: 400;}
  h2 {font-size: 50px; }
  h3 {font-size: 38px; }
  header .tablet {
    display: flex; 
        flex: 1;
        justify-content: space-around;
  }
  .tablet {display: flex;}
}

@media (min-width: 1200px) {
  h1, .block-1-top h1 span {font-size: 96px; font-weight: 400;}
  h2 {font-size: 50px; }
  h3 {font-size: 38px; }
  .desktop {display: block;}
}

p {
  text-align: left;
    font-size: 16px;
  line-height: 26px;
}

a {
  color: var(--link-color);
  transition: 0.5s linear;
  font-weight: 500;
  text-decoration: underline;
}

a:hover {
  color: var(--gray-color);
}

.fancybox__container {
  z-index: 10012 !important;
}

img {
    max-width: 100%;
    height: auto;
}

input, select, button {
  outline: 0;
}

ul, ol {
  list-style-position: inside;
}

.container {
   padding-inline: max((100cqi - var(--container-inner-width, 1420px)) / 2, clamp(16px, 16px + 8 * ((100vw - 375px) / 393), 24px));
}
@media (min-width: 768px) and (max-width: 1200px){
  .container {
    max-width: 100%;
    padding:15px 20px;
  }
}
@media (max-width: 767px){
  .container {
    padding:15px;
  }
}
.workspace {
  width: 100%;
  max-width: var(--workspace);
  margin: 0 auto;
  position: relative;
}

.lightblock {
  background: radial-gradient(ellipse 69.54% 154.47% at 49.13% 50.79%, #DDDEE4 0%, #F8F9FD 50%, #DDDEE4 100%), white;
}

.blueblock {
  background: radial-gradient(81.63% 62.63% at 24.71% 35.68%, #002646 0%, #010E25 100%);
}

.lightblock h2{
  font-weight: 500;
  font-size: 32px;
  margin: 0;
}

.lightblock h2 span{
  font-size: 32px;
  font-weight: 300; 
}

.flex-row {display: flex; flex-direction: row;}
.flex-column {display: flex; flex-direction: column;}
.space-between {justify-content: space-between;}
.justify-center {justify-content: center;}
.align-center {align-items: center;}
.align-start {align-items: start;}
.align-content-center{align-content: center;}
.space-evenly {justify-content: space-evenly;}
.pmb-0 {margin-bottom: 0;padding-bottom: 0;}
.mobile991, .mobile {display: block;} 
.fancybox__carousel {
  max-width: 100vw;
    max-height: 100vh;
}
.fancybox__container {
  max-width: 100vw;
}


/***********************
*****Стрелка вверх******
************************/

.scroll-up {
  position: fixed;
    background: var(--primary-color);
    right: 20px;
    bottom: 0;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 50px;
    z-index: 1000;
    transition: 1s;
}

.scroll-up:hover {
  background-color: var(--secondary-color);
  transform: scale(1.1);
}

.scroll-up::before {
    content: "";
    width: 40px;
    height: 40px;
    background: transparent no-repeat center center;
    background-size: 100% 100%;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z'/%3E%3C/svg%3E");

}

.scroll-up:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M7.646 4.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1-.708.708L8 5.707l-5.646 5.647a.5.5 0 0 1-.708-.708l6-6z'/%3E%3C/svg%3E");
}

.mobile-menu .mobile-header-contacts .button,
.modal input.wpcf7-submit {
    width: 340px;
    height: 60px;
    display: flex;
  cursor: pointer;
  max-width: 100%;
  font-size: 16px;
  font-weight: 300;
  position: relative;
  text-align: center;
  border-radius: 32px;
  align-items: center;
  text-transform: none;
  word-wrap: break-word;
  transition: 0.5s linear;
  justify-content: center;
  color: var(--white-color);
  background: var(--primary-color);
  text-decoration: none;
}

.button:hover,
.button:focus {
  background: var(--red-color);
  color: var(--white-color);
}

.error404 .content {
  text-align: center;
}

.error404 h1 {
  color: var(--primary-color);
    word-wrap: break-word;
    font-size: 42px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin: 0;
  text-align: center;
  width: 100%;
}

.fixedtop {
  position: fixed;
  background: var(--white-color); 
  top: 0;
  width: 100%;
  z-index: 1001;
  animation: slideDown 1s ease forwards;
}

@keyframes slideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}

/**********************
*****МЕНЮ в ШАПКЕ******
**********************/

#menu-toggle {
  z-index: 100;
  -webkit-user-select: none;
  user-select: none;
  position: unset;
  height: 60px;
    width: 60px;
}

#menu-toggle input {
  display: flex;
  width: 55px;
  height: 55px;
  position: absolute;
  cursor: pointer;
  opacity: 0;
  z-index: 100;
}

#menu {
    position: fixed;
    width: 100vw;
    max-width: 1440px;
    max-height: 800px;
    height: 100vh;
  border-radius: 0 0 16px 16px;
    /* min-height: 100%; */
    text-align: left;
    left: 0px;
    top: 0px;
    padding: 15px 15px 60px 15px;
    background: linear-gradient(0deg, #010E25 0%, #010E25 100%), radial-gradient(ellipse 69.54% 154.47% at 49.13% 50.79%, #DDDEE4 0%, #F8F9FD 50%, #DDDEE4 100%);
  box-shadow: 3px 3px 10px 2px rgba(0, 0, 0, 0.15);
    -webkit-font-smoothing: antialiased;
    transform-origin: 0% 0%;
    /* transform: translate(100vw, 0); */
    display: none;
    transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0);
    list-style-type: none;
    overflow: auto;
    margin: 0 auto;
    left: 0;
    z-index: 100;
    right: 0;
}

#menu .menu-bg {
    position: absolute;
    right: 0;
  width: 200px;
}

#menu,
#menu-mobilnoe-menyu {
  list-style: none;
}

#menu-icon-white{
  display: none;
}

#menu-icon-close{
  cursor: pointer;
}

#menu .top-menu {
  margin-left: 10px;
}

#menu #menu-mobilnoe-menyu li{
  padding: 20px 0px;
  transition-delay: 2s;
  width: 300px;
  position: relative;
}

#menu li a{
  color: var(--third-color);
  font-size: 20px;
  font-weight: 300;
  text-transform: uppercase;
  word-wrap: break-word;
  text-decoration: none;
  transition: 0.5s linear;
  width: 100%;
}

#menu li a:hover{
  background: radial-gradient(#FFFFFF, #999999);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}


#menu .sub-menu {
  list-style: none;
    margin-top: 20px;
}
  
#menu #menu-mobilnoe-menyu .sub-menu li {
    padding: 0px;
}

#menu .sub-menu a {
    color: var(--white-color);
    font-size: 18px;
    font-weight: 300;
    line-height: 40px;
    word-wrap: break-word;
    text-decoration: none;
    text-transform: none;
    transition: 0.5s linear;
}

#menu li.menu-item-has-children:after{
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 17'%3E%3Cpath fill='white' d='M15.92 8.04V9.44H8.84V16.48H7.48V9.44H0.4V8.04H7.48V0.959998H8.84V8.04H15.92Z'/%3E%3C/svg%3E");
  position: absolute;
  right: 0;
  top: 20px;
  width: 16px;
  height: 17px;
  z-index: 11;
  cursor: pointer;
  transition: 0.5s linear;
}

#menu li.menu-item-has-children.active:after{
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 2' %3E%3Cpath fill='white' d='M0.4 0.04H13.6V1.44H0.4V0.04Z'/%3E%3C/svg%3E");
  transition: 0.5s linear;
}

#menu li.activeli a:after {
  transform: unset;
}

#menu li.menu-item-has-children .sub-menu a {
  font-weight: 300;
}

#menu li.menu-item-has-children .sub-menu a:after{
  content: '';
}

#menu .sub-menu {
  display: none;
}

#menu li .mobile-header-contacts .mobile-header-phone{
  color: rgba(255, 255, 255, 0.56);
    font-size: 30px;
    font-weight: 300;
    line-height: 26px;
    word-wrap: break-word;
    margin: 0px auto 25px auto;
    width: 100%;
    display: block;
    text-align: center;
}

#menu li .mobile-header-contacts .hourschbox {
  color: rgba(255, 255, 255, 0.56);
  font-size: 14px;
  font-weight: 300;
  line-height: 18px;
  word-wrap: break-word;
  margin: 15px 0 30px 0;
}

.h-block {
    align-items: center;
  display: flex;
    flex-direction: row;
}

#menu-toggle-close {
    position: absolute;
    width: 60px;
    height: 60px;
    top: 23px;
    right: 23px;
    z-index: 100;
    cursor: pointer;
}

@media (min-width: 768px) { 
  #menu .menu-bg {
    width: unset;
  }
}

/**********************
********ПОДВАЛ*********
**********************/

footer {
  background-color: var(--header-color);
  color: var(--white-color);
}

footer .workspace {
  display: flex;
  flex-direction: column;
  text-align: left;
  margin: 30px 0;
}

footer a {
  color: var(--white-color);
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.48px;
  text-decoration: none;
}
.footer-1,
.footer-2,
.footer-3,
.footer-4 {
  color: var(--white-color);
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  letter-spacing: 0.48px;
  text-decoration: none;
  display: flex;
    justify-content: flex-start;
    align-items: center;
    margin: 10px 0;
}
.footer-4 svg{
    margin: 10px;
}

@media (min-width: 1350px) {
  footer .workspace {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
  
    .footer-3 {
        top: 0;
        right: 0;
        justify-content: center;
        height: 100%;
        margin: 0 0 10px 0;
    }
  
  .footer-2 {
    margin-right: 200px;
  }
  
  .footer-1 {
    width: 200px;
  }
}

/**********************
*****ФОРМА ЗАПИСИ******
**********************/

.modal-wrapper {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 1110;
  overflow-y: auto; 
    -webkit-overflow-scrolling: touch; 
}

.modal {
    max-width: 500px; 
  width: 90%;
  background-color: var(--white-color);
  position: relative;
  height: auto;
  border-radius: 15px;
  max-height: 90vh; 
    overflow: scroll; 
    margin: 5% auto; 
    transform: translateZ(0); 

}

.black-white {
  filter: grayscale(100%);
}

.modalform {
  display: none;
}

.pre-modal {
    width: 100%;
    max-width: 1000px;
  height: auto;
    overflow: hidden;
  top: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  left: 0;
  right: 0; 
  display: flex;
    align-items: center;
    justify-content: center;
}
.modal h2{
  color: var(--text-color);
  font-size: 42px;
  font-weight: 300;
  word-wrap: break-word;
  margin-top: 35px;
}

.modal h2 span{
  color: var(--text-color);
  font-size: 42px;
  font-family: Inter;
  font-weight: 500;
  word-wrap: break-word;
}

.modal-content {
  text-align: center;
  overflow: visible; 
  max-height: none;
}

.modal-close {
    right: 15px;
    cursor: pointer;
    color: var(--black-color);
    font-size: 40px;
  position: absolute;
    top: 10px;
    align-self: flex-end; 
    z-index: 120;
}

.success-wrapper {
  display: none;
  border-radius: 6px;
  max-width: 400px;
  margin: 45vh auto;
}

.modal-content.block-send {
  background: #FAFAFA;
  height: 100%;
  border-radius: 15px;
}

.form-contacts {
    display: flex;
    flex-direction: column;
    height: 100%;
    align-items: center;
}

.form-contacts-left {
  width: 90%;
  position: relative;
  margin: 20px auto;
  max-width: 400px;
}

.fp-forms input,
.modal .wpcf7 input {
  background: rgba(255, 255, 255, 0.50);
    box-shadow: 0px 0px 5.7px -4px #3d3e47 inset;
    border: 1px solid rgba(0, 0, 0, 0.20);
    display: flex;
    padding: 10px 20px;
    width: 100%;
    height: 70px;
    align-items: center;
    border-radius: 50px;
}

.modal input.wpcf7-submit {
  background: var(--red-color);
  position: relative;
  max-width: 400px;
  width: 100%;
  height: 70px;
}

.modal input.wpcf7-submit:hover {
    background: var(--primary-color);
    position: relative;
    max-width: 390px;
    width: 100%;
    height: 70px;
}

.wpcf7-text {
  margin-bottom: 15px;
}

.submit-wrapper {
    position: relative;
    display: inline-block;
    position: relative;
    max-width: 390px;
    width: 100%;
    height: 70px;
  border-radius: 60px;
}
.submit-wrapper::after {
  pointer-events: none;
  content: url(/wp-content/uploads/2025/09/fluent_arrow-right-24-regular.svg);
    background: #FFFFFF33;
    width: 57px;
    height: 57px;
    border-radius: 50%;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    align-items: center;
    justify-content: center;
  padding-top:4px;
}
.fp-forms .submit-wrapper {
  background-color: var(--red-color);
  max-width: unset;
}

.fp-forms .submit-wrapper::after {
    content: url('/wp-content/uploads/2025/06/arrow4.svg');
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
}

.modal .wpcf7-submit {
  position: relative;
  padding-right: 40px;
}

.fp-forms .submit-wrapper,
.fp-forms input {
  height: 60px;
  color: var(--white-color);
  font-size: 18px;
  font-weight: 400;
}

.fp-forms .wpcf7-submit {
  color: var(--white-color);
  background: var(--red-color);
  font-size: 20px;
  font-weight: 300;
  line-height: 18px;
}

.submit-consult .wpcf7-submit {
  text-align: left;
  padding-left: 45px;
}
  
.fp-forms .wpcf7-submit:hover {
  background-color: var(--primary-color);
  cursor: pointer;
  transition: 0.5s linear;
} 
  
.form-contacts-bottom p{
  color: #3D3E47;
  font-size: 14px;
  font-weight: 300;
  line-height: 26px;
  text-decoration: none;
}

.form-contacts-bottom-tel {
  width: 50%;
  text-align: left;
}

.form-contacts-bottom-soc {
    width: 50%;
    text-align: right;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.form-contacts-bottom-soc .soc-links {
    margin-top: 5px;
}

.form-contacts-bottom-soc .soc-links a {
  margin: 15px 0px 0px 15px;
}

.form-contacts-bottom p.form-contacts-bottom-worktime {
  color: #3D3E47;
  font-size: 14px;
  line-height: normal;
  font-weight: 200;
}

.fp-forms .form-contacts-bottom p,
.fp-forms .form-contacts-bottom p.form-contacts-bottom-worktime,
.fp-forms .form-contacts-bottom .form-contacts-bottom-tel a {
  color: var(--white-color);
}

.form-contacts-bottom .form-contacts-bottom-tel a {
  text-decoration: none;
    font-weight: 300;
}

.modal .wpcf7 .wpcf7-file {
    padding: 22px 20px;
    margin-bottom: 20px;
}

.modalform,
.modalform .wpcf7,
.modalform .wpcf7-form {
  height: 100%;
  overflow: auto;
  overflow-x: hidden;
}
#successform{
  
}
.agreeform {
  display: none !important;
}

  
.wpcf7-not-valid {
    border: 1px solid red !important;
  position: relative;
}

span.wpcf7-not-valid-tip:after {
  content: url(/wp-content/uploads/2024/10/weui_error-outlined.svg);
    position: absolute;
    visibility: visible;
    top: 10px;
    right: -450px;
}

.form-contacts-bottom {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 90%;
    position: relative;
  margin: 0 auto 20px auto;
    max-width: 400px;
}

.wpcf7 form .wpcf7-response-output {
  display: none !important;
}

.fp-forms .privacy-text,
.modal .privacy-text{
    color: #3D3E47;
    font-size: 12px;
    text-decoration: none;
    font-weight: 300;
    line-height: 16px;
    word-wrap: break-word;
    text-align: center;
    display: block;
    margin: 20px auto 0px auto;
}

.fp-forms .privacy-text span,
.modal .privacy-text span {
  color: var(--cyan-color); 
  font-size: 12px; 
  font-weight: 400;
}

.fp-forms .privacy-text {
  color: var(--white-color);
}

.wpcf7-spinner {
  display: none;
}

.wpcf7-textarea {
  padding: 25px 20px;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.50);
    box-shadow: 0px 0px 5.7px -4px rgba(0, 0, 0, 0.20) inset;
    border: 1px solid rgba(0, 0, 0, 0.20);
    max-height: 70px;
    border-radius: 50px;
    width: 100%;
  resize: none;
}

.successform {
  display: flex;
  padding: 32px;
  flex-direction: column;
  align-items: center;
  background: var(--white-color);
  box-shadow: 10px 10px 30px 0px rgba(0, 0, 0, 0.25);
  border-radius: 15px;
}

.successform h2 {
  color: var(--text-color);
  text-align: center;
  font-size: 32px;
  font-style: normal;
  font-weight: 500;
  width: 100%;
}

.successform p {
  color: var(--dark-color);
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 24px;
  width: 100%;
}

.fp-forms a.button,
.successform a.button {
    text-decoration: none;
    background: var(--red-color);
    margin-top: 20px;
}

.wpcf7-not-valid-tip {
    color: var(--red-color);
    font-size: 12px;
    font-weight: normal;
    display: block;
    width: 100%;
    text-align: left;
    position: absolute;
    top: 10px;
    left: 26px;
}
.modal-wrapper .wpcf7-not-valid-tip,
.form-contacts .wpcf7-not-valid-tip {
  position: relative;
  top: auto;
  left: auto;
  padding: 0 0 15px 20px;
}
.modal-wrapper .wpcf7-acceptance {
  display: none;
}

span.wpcf7-not-valid-tip:after {
    display: none;
  content: '';
}

.fp-block8 input::placeholder,
.fp-block4 input::placeholder {
    color: var(--white-color);
    opacity: 1;
    position: relative;
    z-index: 10;
    transition: all 0.3s ease;
}

@media (max-width: 361px) { 
  .modal h2,
  .modal h2 span {
    font-size: 32px;
    margin-top: 25px;
  }
  
  .form-contacts-bottom .form-contacts-bottom-tel a {
    font-size: 14px;
  }
  
  .modal-close-x img {
    width: 20px;
    height: 20px;
  }
  
  .modal .wpcf7 input,
  .modal input.wpcf7-submit {
    height: 55px;
  }
  
  .form-contacts-bottom-soc .soc-links a img {
    width: 40px;
  }
  
  .form-contacts-bottom p.form-contacts-bottom-worktime {
    font-size: 12px;
  }
  
  .submit-wrapper::after {
    right: 7px;
    top: 17%;
    transform: translateY(-50%);
    pointer-events: none;
    max-height: 15px;
  }
  
  .fp-forms .wpcf7-submit {
    font-size: 16px;
  } 
  
  .fp-forms .submit-wrapper::after {
    top: 25%;
  }
}

@media (min-width: 768px) {
  
  .mobile {
    display: none;
  }
  
	.fp-block1 .container .block-1-top {
		position: absolute;
		top: 20px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
 
  #headermodalbutton {
    width: 250px;
    padding-right: 40px;
  }
  
  .phoneblock a.mobile-header-phone {
    color: var(--white-color);
    font-size: 23px;
    font-weight: 300;
    line-height: 26px;
    text-decoration: none;    
  }
  
  .phoneblock a.mobile-header-phone:hover {
    color: var(--primary-color);
  }
  
  .phoneblock .hourschbox {
    color: rgba(255, 255, 255, 0.80);
    font-size: 10px;
    font-weight: 300;
    line-height: 20px;
    letter-spacing: 0.35px;
  }
  
  .phoneblock {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  
  #menu-icon {
      width: 60px;
    height: 60px;
  }
  
  #menu-mobilnoe-menyu {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
  
  /*#menu li.menu-item-has-children:after {
    content: '';
    display: none;
  }*/
  #menu li.menu-item-has-children a{
    padding-left: 25px;
  }
  #menu li.menu-item-has-children:after {
    left: 0;
  }
  
  #menu {
    position: fixed;
    width: 100vw;
    max-width: 1440px;
    max-height: 800px;
    height: fit-content;
    overflow: hidden;
    border-radius: 0 0 16px 16px;
  }
  
  #menu .top-menu  .mobile-header-contacts {
    display: none;
  }
  
  #menu-icon-close {
    width: 60px;
    height: 60px;
  }
  
  .fixedtop .h-block .desktop li a,
  .fixedtop .phoneblock a.mobile-header-phone,
  .fixedtop .phoneblock .hourschbox{
    color: var(--text-color);
  }
  
  .fixedtop .h-block .desktop li li a {
    color: var(--white-color);
  }
  
  .fixedtop #headermodalbutton {
    background: var(--red-color);
  }
  
  .fixedtop #headermodalbutton:hover {
    background: var(--primary-color);
  }
}

@media (max-width: 1380px) and (min-width: 1200px) {
  #headermodalbutton {
        width: 260px;
        font-size: 14px;
    }
  
  .phoneblock a.mobile-header-phone {
    font-size: 18px;
  }

  body .h-block .desktop li a {
        font-size: 12px;
  }
}

@media (min-width: 1200px) {
  
  .modal { 
    overflow: hidden;
  }
  
  /*#menu .sub-menu {
    display: flex;
    flex-direction: column;
  }*/
  
  .fp-block1 .container .block-1-top {
        position: absolute;
        top: 150px;
        left: 0;
        right: 0;
        margin: 0 auto;
  }
  
  
  .h-block .desktop ul {
    display: flex;
    flex-direction:row;
    list-style: none;
  }

  .h-block .desktop li a {
    color: var(--white-color);
    font-size: 16px;
    font-weight: 400;
    text-decoration: none;
  }
  
  .h-block .desktop li a:hover {
    color: var(--primary-color);
  }
  
  
  #headermodalbutton {
    width: 260px;
  }
  
  #menu #menu-mobilnoe-menyu li {
    width: 400px;
  }
  
  .menu-item {
    margin: 0 10px;
  }
  
  #desktop-menu .menu-item-has-children {
    position: relative;
    padding-right: 15px;
  }
  
  #desktop-menu .menu-item-has-children:after{
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 17'%3E%3Cpath fill='white' d='M15.92 8.04V9.44H8.84V16.48H7.48V9.44H0.4V8.04H7.48V0.959998H8.84V8.04H15.92Z'/%3E%3C/svg%3E");
        position: absolute;
        width: 10px;
        height: 12px;
        right: 0px;
    top: 10%;
        z-index: 11;
        cursor: pointer;
        transition: 0.5s linear;
  }

  #desktop-menu .menu-item-has-children.active:after{
    content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 2' %3E%3Cpath fill='white' d='M0.4 0.04H13.6V1.44H0.4V0.04Z'/%3E%3C/svg%3E");
    transition: 0.5s linear;
  }
  
  #desktop-menu .menu__subMenu {
        flex-direction: column;
        position: absolute;
        z-index: 100;
        background: var(--primary-color);
        list-style: none;
        border-radius: 15px;
        left: 15%;
        top: 30px;
        min-width: 200px;
        display: none;  
    padding: 20px;
        min-width: 200px;
  }
  
  #desktop-menu .menu__subMenu li {
    padding: 10px;
  }
  
  .fp-block1 .workspace h2 {  
        font-size: 24px;
        text-transform: uppercase;
        line-height: 32px;
        width: 100%;
        text-align: center;
        position: absolute;
        bottom: 25px;

        padding: 0;
  }
  
  .fp-block1 h2 span.desktop {  
    display: inline-block;
    color: var(--cyan-color);
    font-size:inherit;
  }
  
  .lightblock h2{
    font-weight: 700;
    font-size: 60px;
    margin: 0;
  }

  .lightblock h2 span{
    font-size: 60px;
    font-weight: 200; 
  }
  
  .fixedtop { 
    height: 95px;
  }
}
.custom_map_wrapper{
  position:relative;
}
.custom_map_wrapper .tooltip{
  position:absolute;
  display: flex;
    justify-content: center;
    align-items: center;
  gap:12px;
  border: 7px solid rgba(255, 255, 255, 0.53);
    border-radius: 0px 52px 52px;
    box-shadow: rgba(13, 40, 62, 0.33) 0px 33px 35.5px 0px;
    backdrop-filter: blur(13px);
    height: 82px;
  padding:19px 32px;
  text-decoration:none;
  transition:none;
  opacity:0;
  transition:opacity 0.4s;
  transform: translate(-60px, 10px);
  pointer-events:none;
  visibility:hidden;
}
.custom_map_wrapper .tooltip.is_show{
  opacity:1;
  pointer-events:all;
  visibility:visible;
}
.custom_map_wrapper .tooltip span{
  font-weight: 400;
  font-size: 26px;
  color:#fff;
}
.custom_map_wrapper .tooltip_link{
  width:46px;
  height:46px;
  border-radius:50%;
  background:#FFFFFF70;
  display:flex;
  justify-content:center;
  align-items: center;
}
.footer-3{
	display:flex;
	flex-direction:column;
	gap:10px;
}