html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}

div {
    position: relative;
}

img {
    display: block;
    pointer-events: none;
    max-width: 100%;
    user-select: none;
}

:root {
  --cols: 4;
  --rows: 3;
  --col-step: calc(100% / var(--cols));
  --row-step: calc(100% / var(--rows));
  --line-color: #000;
  --line-width: 1px;
}

:focus {
	outline: 0;
}

html {
    scroll-behavior: smooth;
}
	
body {
	color: #000;
	font-family: 'Ubuntu', sans-serif;
	background-color: #fff;
    max-width: 100%;
}
	
/*ol, ul {
	list-style: none;
}*/
	
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}

label {
    cursor: pointer;
}

/* reset css*/

  ::-webkit-input-placeholder {color: rgba(105, 105, 105, 1); font-size: 14px; opacity:1;}/* webkit */
  ::-moz-placeholder          {color: rgba(105, 105, 105, 1); font-size: 14px; opacity:1;}/* Firefox 19+ */
  :-moz-placeholder           {color: rgba(105, 105, 105, 1); font-size: 14px; opacity:1;}/* Firefox 18- */
  :-ms-input-placeholder      {color: rgba(105, 105, 105, 1); font-size: 14px; opacity:1;}/* IE */



a {
	text-decoration: none;
	cursor:pointer;
	color:#0500FF;
}

p {
	font-size: 16px;
}

body {
    font-family: Inter;
    color: #000;
/*    max-width: 1920px;
    margin: 0 auto;*/
}

.content-w {
	width: 90%;
    margin: 0 auto;
    position: relative;  
}

.content {
    width: 100%;
    max-width: 1780px;
    margin: 0 auto;
    position: relative;  
}

header {
    border-bottom: solid rgba(63, 63, 63, 0.4) 1px;
    background: rgba(255, 255, 255, 1);
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 99;
}

header .content {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0;
}

#mmenu {
    display: none;
}

.logo {
    display: block;
    width: 82px;
    height: 49px;
    background: url(../img/logo.svg)no-repeat center / contain;
}

.logo.v2 {
    background: url(../img/logo2.svg)no-repeat center / contain;
}

.blocks {
    display: flex;
}

.button {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.3s;
    background: rgb(0 16 255 / 62%);
    width: 100%;
    max-width: 600px;
    height: 80px;
}

.button p {
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
}

.button:not(.dis):hover{
    background: rgb(0 16 255 / 100%);
}

.flex {
    display: flex;
}

.menu ul {
    display: flex;
    gap: 50px;
    list-style: none;
}

.menu a {
    color: #000;
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
    transition: 0.3s;
}

.menu a:hover {
    color: rgba(37, 58, 154, 1);
}

a.tel,
a.mail {
    color: #000;
    font-size: 20px;
    font-weight: 700;
}

h1 {
    background: linear-gradient(180deg, rgba(26, 29, 48, 1), rgba(18, 27, 97, 1) 100%);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 150px;
    font-weight: 700;
    line-height: 143px;
    text-align: center;
    text-transform: uppercase;
}

section {
    padding: 100px 0;
    position: relative;
}

.line:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: 1780px;
    margin: 0 auto;
    top: 0;
    left: 0;
    right: 0;
    background:linear-gradient(90deg, transparent calc(100% - 1px), rgba(63, 63, 63, 0.4) 100%), repeating-linear-gradient(90deg, rgba(63, 63, 63, 0.4) 0 1px, transparent 1px 25%);
}
.line.cw:before {
    background:linear-gradient(90deg, transparent calc(100% - 1px), rgba(241, 241, 241, 0.2) 100%), repeating-linear-gradient(90deg, rgba(241, 241, 241, 0.2) 0 1px, transparent 1px 25%);
}



#main {
    background: #e6e6e6 url(../img/main.webp) no-repeat top center/cover;
    width: 100%;
    height: 1000px;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 150px;
    margin-top: 0px;
    box-sizing: border-box;
}

.main-desc {
    background: linear-gradient(180deg, rgba(26, 29, 48, 1), rgba(18, 27, 97, 1) 100%);
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-size: 36px;
    font-weight: 700;
    line-height: 100%;
    text-align: center;
    text-transform: uppercase;
    margin-top: 40px;
}

#main .button {
    margin: 30px auto 0;
}

.contact {
    display: flex;
    gap: 50px;
}

.sec-desc {
    font-size: 24px;
    font-weight: 500;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 10px;
}
.sec-desc:before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(0, 77, 230, 1);
}

h2 {
    color: rgba(37, 58, 154, 1);
    font-family: Inter;
    font-size: 96px;
    font-weight: 700;
    text-align: left;
    text-transform: uppercase; 
    margin-bottom: 50px;  
}

.color .sec-desc,
.color h2 {
    color: #fff;
}

#service .blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

#service .blocks:before {
    content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    /* вертикальные линии */
    repeating-linear-gradient(
      90deg,
      var(--line-color) 0,
      var(--line-color) var(--line-width),
      transparent var(--line-width),
      transparent var(--col-step)
    ),
    /* горизонтальные линии */
    repeating-linear-gradient(
      180deg,
      var(--line-color) 0,
      var(--line-color) var(--line-width),
      transparent var(--line-width),
      transparent var(--row-step)
    );
  z-index: 2;
}
#service .blocks:after {
content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 3;
  background:
    /* правая линия */
    linear-gradient(
      90deg,
      transparent calc(100% - var(--line-width)),
      var(--line-color) calc(100% - var(--line-width))
    ),
    /* нижняя линия */
    linear-gradient(
      180deg,
      transparent calc(100% - var(--line-width)),
      var(--line-color) calc(100% - var(--line-width))
    );
  background-repeat: no-repeat;
  background-size: 100% 100%;
}



#service .block {
/*    border: #000 solid 1px;
    margin-top: -1px;
    margin-left: -1px;*/
    overflow: hidden;
}



#service .block:hover img {
    opacity: 1;
}

#service .block:before {
    content: "";
    display: block;
    width: 35px;
    height: 35px;
    background: url(../img/arrow.svg) no-repeat center / contain;
    position: absolute;
    top: 20px;
    right: 20px;
    z-index: 1;
    transition: 0.5s;
}

#service .block:hover:before {
    filter: brightness(0) invert(1);
}

#service .block img {
    display: block;
    opacity: 0;
    margin-left: 0px;
    transition: 0.5s;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

#service .block .title {
    position: absolute;
    left: 20px;
    bottom: 20px;
    font-size: 30px;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
    color: #000;
    transition: 0.5s;
}

#service .block:hover .title {
    color: #fff;
}

#advantages {
    background: url(../img/sec3.webp) no-repeat  center/cover;
}

#advantages .blocks {
    display: flex;
    gap: 10px;
}

#advantages .block {
    border-radius: 5px;
    backdrop-filter: blur(30px);
    background: rgba(68, 85, 162, 0.4);
    width: 435px;
    height: 435px;
    padding: 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
}
#advantages .block:nth-child(2) {
    backdrop-filter: blur(40px);
    background: rgba(233, 210, 172, 0.43);
}
#advantages .block:nth-child(3) {
    margin-top: 80px;
    background: url(../img/adv.webp)no-repeat center/cover;
    pointer-events: none;
}
#advantages .block:nth-child(4) {
    border-radius: 5px;
    backdrop-filter: blur(40px);
    background: rgba(17, 22, 47, 0.5);
}

#advantages .num {
    color: rgba(255, 255, 255, 0.4);
    font-size: 150px;
    font-weight: 700;
    text-align: right;
    display: block;
}

#advantages h3 {
    color: #fff;
    font-size: 30px;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
}

#advantages .desc {
    color: rgba(255, 255, 255, 1);
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
    margin-top: 20px;
}

#advantages .text {
    color: #fff;
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
}

#about .blocks {
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

#about .block:nth-child(1) {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#about .block:nth-child(2) {
    flex-shrink: 0;
}

#about .part {
    display: flex;
    gap: 20px;
}

#about h3 {
    font-size: 48px;
    font-weight: 700;
    line-height: 58px;
    text-transform: uppercase;
    margin-bottom: 40px;
}

#about .text {
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
}

#about .bl2 {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#reviews {
    background: linear-gradient(#253a9abd, #253a9abd), url(../img/reviews.webp) no-repeat center/cover;
}

#reviews .blocks {
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 5px;
    backdrop-filter: blur(200px);
    background: rgba(237, 237, 237, 0.5);
    padding: 75px 110px;
    justify-content: space-between;
}

#reviews .block {
    width: 500px;
    height: 425px;
    background: #ffffff;
    padding: 20px;
    box-sizing: border-box;
}

#reviews h3 {
    color: rgba(63, 63, 63, 1);
    font-size: 30px;
    font-weight: 500;
    line-height: 36px;
}

#reviews .text {
    color: rgba(116, 116, 116, 1);
    font-size: 20px;
    font-weight: 500;
    line-height: 146%;
}

#reviews .name {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 40px;
}

#info {
    display: flex;
    flex-direction: column;
    gap: 30px;
    max-width: 446px;
}

#map {
    width: 100%;
}

#info .part {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#info .title {
    color: rgba(112, 111, 111, 1);
    font-size: 24px;
    font-weight: 600;
}

#info .tel,
#info .desc {
    font-size: 30px;
    font-weight: 600;
    line-height: 36px;
}



#consultation {
    background: rgba(237, 237, 237, 1);
}

#consultation .title {
    color: rgba(55, 83, 233, 1);
    font-size: 189px;
    font-weight: 700;
    line-height: 229px;
    text-transform: uppercase;
}

form {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 50px;
}

.form-title { 
    color: rgba(37, 58, 154, 1);
    font-size: 64px;
    font-weight: 700;
    line-height: 77px;
    text-transform: uppercase;
}

.form-desc { 
    color: rgba(112, 111, 111, 1);
    font-size: 24px;
    font-weight: 500;
    line-height: 29px;
    text-align: center;
    max-width: 570px;
}

.inputs {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    width: 100%;
    max-width: 600px;
    margin-top: 20px;
}

.inputs textarea,
.inputs input {
    width: 100%;
    height: 60px;
    padding: 20px 25px;
    box-sizing: border-box;
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    max-width: 600px;
    border: none;
}



.polit {
    display: flex;
    gap: 15px;
    width: 100%;
    max-width: 600px;
    margin: 20px 0;
    color: rgba(112, 111, 111, 1);
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
}

.polit a {
    color: rgba(112, 111, 111, 1);
    text-decoration: underline;

}

.polit .ctp {
    margin: 0;
    transform: scale(1.5);
    margin-left: 4px;
}

.feedback {
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-sizing: border-box;
    transition: 0.3s;
    background: rgba(64, 102, 255, 0.9);
    height: 80px;
    color: #fff;
    font-size: 26px;
    font-weight: 600;
    text-transform: uppercase;
    width: 600px;
    max-width: 100%;
    border: none;
}

.feedback.dis {
    opacity: 0.6;
}

.arcticmodal-container_i2 {
    height: 90%;
}


.arcticmodal-container_i2 #feedback-modal-box {
    background: #4066FF;
    max-width: 900px;
    height: 350px;
    color: #fff;
    font-size: 48px;
    font-weight: 500;
    line-height: 58px;
}

.arcticmodal-container_i2 #feedback-modal-box .buttonC {
    width: 360px;
    max-width: 100%;
    height: 60px;
    background: transparent;
    border: #fff solid 1px;
}

#formModal .polit label p {
    text-align: left;
}








footer {
    background: #1A1D30;
    padding: 100px 0;
    color: #fff;
    position: relative;
}

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

footer .title {
    color: rgba(255, 255, 255, 0.5);
    font-size: 30px;
    font-weight: 500;
    text-transform: uppercase;
    margin-bottom: 40px;
    display: block;
}

#cop {
    color: rgba(255, 255, 255, 0.5);
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
}

.f-menu ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.f-menu a {
    color: rgba(255, 255, 255, 1);
    font-size: 20px;
    font-weight: 700;
    text-transform: uppercase;
}

footer .block .wrap {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

footer .block .wrap a {
    color: #fff;
}

footer .tel {
    display: flex;
    align-items: center;
}

footer .tel:before {
    display: block;
    content: "";
    width: 30px;
    height: 30px;
    background: url(../img/phone.svg) no-repeat center/contain;
}





#overlay {
    position: fixed;
    width: 100%;
    height: 100vh;
    background: #f2e8e4;
    display: block;
    z-index: 9999;
    top: 0;
}

#wrapForm {
    width: 100%;
    height: 100vh;
    position: fixed;
    background: #d6d6d6ad;
    z-index: 555;
    top: 0;
    left: 0;
    display: none;
}

#formModal {
    width: 700px;
    height: 480px;
    background: rgba(237, 237, 237, 1);
    border-radius: 8px;
    margin: auto;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    z-index: 556;
    display: none;
    box-sizing: border-box;
    padding: 50px;
    color: #fff;
}

#formModal > .cancel {
    width: 28px;
    height: 28px;
    position: absolute;
    right: 15px;
    top: 15px;
    font-size: 35px;
    text-align: center;
    line-height: 28px;
    color: #ffffff;
    cursor: pointer;
    font-weight: 300;
    opacity: 0.7;
    transform: scaleY(0.78);
}

#formModal > .cancel:hover {
    opacity: 1;
}

#formModal .wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
}

#formModal .title {
    display: block;
    font-size: 36px;
    font-weight: bold;
    color: #575757;
    text-align: center;
    margin: 0 auto 20px;
}

#formModal .desc {
    display: block;
    font-size: 24px;
    margin-bottom: 20px;
}

#formModal .form1 {
    max-width: 100%;
    width: 600px;
    height: 60px;
    color: rgba(0, 0, 0, 1);
    font-size: 14px;
    font-weight: 400;
    text-transform: uppercase;
    padding: 10px 30px;
    box-sizing: border-box;
    border: none;
}

#formModal .send {
    width: 100%;
    background: #fff;
    transition: 0.3s;
}

#formModal .send:not(.dis):hover {
    background: rgb(149 203 2);
}

#formModal .send:not(.dis):hover input {
    color: #fff;
}

#formModal .send input {
    width: 100%;
    font-size: 26px;
    font-weight: 400;
    padding: 10px 0;
    border: none;
    transition: 0.3s;
}

#done {
    color: #000;
    margin-right: auto;
}

#done .number {
    font-weight: bold;
}

.button.dis {
    opacity: 0.6;
}

#feedback-modal-box {
    justify-content: center;
}

#feedback-modal-box .buttonC {
    width: 250px;
    max-width: 100%;
    height: 40px;
}

#feedback-modal-box .buttonC p {
    color: #fff;
    font-size: 20px;
    font-weight: bold;
}

#mcontent {
    display: none;
}

#policy {
    padding: 80px 20px;
}

#policy ol {
    margin: 15px 0;
    font-size: 20px;
    font-weight: 600;
}

#policy h2 {
    padding: 40px 0;
    font-weight: bold;
    font-size: 50px;
}

#policy p {
    margin-bottom: 15px;
}

footer a {
    transition: 0.3s;
}

footer a:hover {
    color: rgba(37, 58, 154, 1);
}

#mesvid {
    position: fixed;
    bottom: 20px;
    right: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 999;
}

.mesicons {
    display:block;
    position: relative;
    width: 50px;
}

.mesicons img {
    max-width: 100%;
}

.mesicons:hover img{
    transition:0.3s;
}

.mesicons:hover img{
    transform:scale(1.1);
}

#mesbody{
    overflow:hidden;
    max-height: 0;
    text-align: center;
    opacity:0;
    transition:0.3s;
}

.blockactive #mesbody{
    max-height: 400px;
    overflow: visible;
    opacity:1;
    margin-bottom: 15px;
}

#mesbut {
    width: 70px;
    height: 70px;
    background: #3753e9;
    text-align: center;
    position: relative;
    border-radius: 35px;
    cursor: pointer;
}
#mesbut:before {
    content: '';
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    top: 0;
    left: 0;
    animation: sonar-effect 2s ease-in-out .2s infinite;
    /* background-color: #0f2170; */
}

#mesbut.butactive:before {
    display: none;
}


@keyframes sonar-effect {
  0% {
    opacity: 0.3;
  }
  40% {
    opacity: 0.5;
    box-shadow: 0 0 0 2px #3753e9, 0 0 2px 2px #3753e9, 0 0 0 2px #3753e9;
  }
  100% {
    box-shadow: 0 0 0 2px #3753e9, 0 0 2px 2px #3753e9, 0 0 0 2px #3753e9;
    transform: scale(1.2);
    opacity: 0;
  }
}

#mesbut img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    transition:0.3s;
    opacity:1;  
    max-width: 60%;
}

#mesbut #iclose{
    opacity:0;
}



#mesbut.butactive #ionline{
    transform:rotate(-360deg);
    opacity:0;
}

#mesbut.butactive #iclose{
    transform:rotate(-360deg);
    opacity:1;
}

#vidquote {
    position: absolute;
    right: 95px;
    bottom: 0px;
    width: 140px;
    font-weight: 500;
    background: #9c0303;
    text-align: center;
    border-radius: 5px;
    color: #fff;
    opacity: 0;
    transition: 0.3s;
    padding: 12px 16px 12px 12px;
}
#vidquote:before {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent #9c0303;
    margin-left: -1px;
    z-index: 1000;
}

.blockactive #vidquote {
    opacity:1;
}

.mesicons::before { 
    content: attr(data-title);
    position: absolute;
    right: 70px;
    top: 12px;
    color: #fff;
    background: #192e7d;
    width: 0px;
    height: 20px; 
    opacity:0;
    padding:2px 0;
}

.mesicons:hover:before { 
    opacity:1;
    width: 120px;
}


/*media
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////*/
@media screen and (max-width: 1510px) {
    body{
        zoom: 0.9;
        padding: 0 15px;
    }
}
/*media
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////*/
@media screen and (max-width: 1370px) {
    body{
        zoom: 0.8;
    }
}
/*media
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////*/
@media screen and (max-width: 1370px) {
    body{
        zoom: 0.7;
    }
}
/*media
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////*/
@media screen and (max-width: 1090px) {
    body{
        zoom: 0.6;
    }
}
/*media
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////
/////////////////////////////////////////////////*/
@media screen and (max-width: 960px) {

body {
    zoom: 1;
    padding: 0;
}

section {
    padding: 50px 0;
}

.content {
    width: 100%;
    box-sizing: border-box;
    padding: 0 15px;
}

.contact {
    display: none;
}

#main {
    padding: 100px 0 0;
    height: 530px;
    background: #e6e6e6 url(../img/m-main.webp) no-repeat center / cover;
}

.main-desc {
    font-size: 16px;
    margin-top: 20px;
}

footer {
    padding: 40px 0;
}

footer .title {
    font-size: 14px;
    line-height: 19px;
    margin-bottom: 15px;
}

.f-menu a {
    font-size: 12px;
    line-height: 19px;
}

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

#service .block img {
    opacity: 1;
}

#service .block {
    width: 100%;
    border: #fff solid 1px;
    height: 200px;
}

#service .block .title {
    left: 5px;
    bottom: 5px;
    font-size: 15px;
    font-weight: 500;
    line-height: 20px;
    color: #ffffff;
    margin-right: 5px;
    z-index: 2;
}

#service .block:after {
    content: "";
    display: block;
    width: 100%;
    height: 55%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    transition: 0.5s;
    background: linear-gradient(0.00deg, rgba(58, 116, 255, 0.69),rgba(58, 116, 255, 0) 100%);
}

#service .block:before {
    filter: brightness(0) invert(1);
    width: 15px;
    height: 15px;
}

.sec-desc {
    font-size: 15px;
    font-weight: 500;
    line-height: 19px;
    margin-bottom: 15px;
}

#advantages .blocks {
    display: flex;
    flex-direction: column;
}

#advantages .block {
    margin: 0!important;
}

#advantages .block:nth-child(3) {
    display: none;
}

#about .blocks {
    flex-direction: column;
}


#reviews .blocks {
    padding: 20px;
}

#reviews .text {
    font-size: 14px;
    line-height: 146%;
    color: #fff;
}

#reviews h3 {
    font-size: 22px;
    line-height: 27px;
    color: #fff;
}

#reviews .block {
    width: 100%;
    height: 410px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    background: rgba(64, 102, 255, 1);
}

#consultation .title {
    font-size: 70px;
    line-height: 80px;
    margin-bottom: 40px;
}

#about .part {
    flex-direction: column;
}

#advantages {
    background-size: cover;
}

#advantages .block {
    max-width: 100%;
    width: 380px;
    height: 340px;
}

#advantages .num {
    font-size: 100px;
}

#advantages h3 {
    font-size: 24px;
    line-height: 29px;
}

#advantages .desc {
    font-size: 18px;
    line-height: 22px;
}

.send,
.feedback {
    width:100%;
    height: 50px;
    font-size: 20px;
}

.form-title {
    font-size: 40px;
    line-height: 48px;
    text-align: center;
}

.form-desc {
    font-size: 16px;
    line-height: 19px;
}

#contacts .blocks {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

#about h3 {
    font-size: 24px;
    line-height: 29px;
}

footer .blocks {
    display: flex;
    flex-direction: column;
}

h2 {
    font-size: 39px;
    font-weight: 700;
    line-height: 46px;
}

.menu {
    display:none;
}

.button {
    height: 60px;
}

header .content {
    padding: 7px 15px;
}

.line:before {
    display: none;
}

#service .blocks:before,
#service .blocks:after {
    display: none;
}

#main .button {
    margin: 70px auto 0;
}

#about .block:nth-child(1) {
    gap: 20px;
}

#policy h2 {
    font-size: 22px;
    line-height: normal;
}


















img{
    max-width: 100%;
}

#page .block {
    width: 100%;
}


footer .blocks {
    justify-content: space-between;
    gap: 40px;
    flex-wrap: wrap;
}

a.tel, a.mail, #cop {
    font-size: 12px;
    line-height: 15px;
}

#info .title {
    font-size: 16px;
}

#info .tel, #info .desc {
    font-size: 18px;
    line-height: 22px;
}

#about .text {
    font-size: 16px;
    line-height: 19px;
}

h1 {
    font-size: 30px;
    line-height: normal;
    text-align: center;
}

#page .desc {
    color: rgba(107, 121, 70, 1);
    font-size: 30px;
    font-weight: 700;
    line-height: normal;
    text-align: center;
}

#page ul li {
    font-size: 18px;
    line-height: 22px;
}

#main ul li:before {
    width: 10px;
    height: 10px;
    margin-top: 5px;
    margin-right: 15px;
    flex-shrink: 0;
}

.button.t2 span {
    font-size: 24px;
    font-weight: 400;
}

.slide .part-l.images .blocks {
    flex-wrap: wrap;
}

.slide .part-l.images .block {
    width: 45%;
}

#quiz .slide .part-r {
    display: none;
}

.q-control {
    width: 100%;
    position: relative;
    margin-top: 40px;
}

.button.quiz-control {
    padding: 5px 15px;
    border-radius: 14.5px;
}

.line-load {
    height: 15px;
}

.q-control .wrap {
    align-items: center;
}

.slide .quest {
    font-size: 24px;
    font-weight: 400;
    line-height: 28px;
    position: relative;
    margin-bottom: 30px;
}

.part-l.list .text {
    font-size: 18px;
    font-weight: 400;
    line-height: 22px;
}

#quiz .feedback {
    height: 48px;
    font-size: 24px;
}

.part-l.images .image {
    width: auto;
    height: auto;
    padding: 10px;
}

#page .left {
    padding-right: 0;
}

#formModal {
    width: 100%;
    height: 100vh;
    border-radius: 0;
    padding: 100px 15px;
}

#formModal .title {
    margin: 0 auto;
}

#quiz {
    overflow: hidden;
}

.social .fos {
    position: fixed;
    right: 15px;
    bottom: 15px;
}

.send-title {
    font-size: 24px;
    margin-top: 40px;
    line-height: 29px;
}

.send-desc {
    font-size: 24px;
    font-weight: 400;
    line-height: 29px;
}

.desc1 {
    font-size: 18px;
    font-weight: 300;
    line-height: 22px;
    margin-top: 40px;
}

.desc2 {
    font-size: 14px;
    font-weight: 300;
    line-height: 17px;
    margin-top: 120px;
}

#quiz-send .button p {
    font-size: 24px;
    font-weight: 400;
}

#quiz-send .button p:after {
    width: 24px;
    height: 24px;
    margin-left: 20px;
}

#quiz-send .button {
    height: 64px;
    margin-top: 20px;
}

#feedback-modal-box.box-modal {
    height: 100vh;
    border-radius: 0;
}

#feedback-infolist {
    font-size: 24px;
}

#feedback-modal-box.box-modal .buttonC {
    margin-top: 50px;
}

.slide {
    width: 100%;
    min-height: 500px;
}

.polit {
    align-items: flex-start;
}

.polit .ctp {
    margin-top: 6px;
}

header {
    height: 50px;
}

.fl {
    margin-top: 8px;
}

.logo {
    width: 38px;
    height: 22px;
}

#mmenu {
    width: 30px;
    height: 18px;
    position: absolute;
    top: 17px;
    right: 70px;
    z-index: 100;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

#mmenu:after {
    content: "МЕНЮ";
    color: rgba(0, 0, 0, 1);
    font-size: 16px;
    font-weight: 500;
    line-height: 19px;
    text-transform: uppercase;
    position: absolute;
    right: -60px;
    top: 0;
}

#mmenu span {
    display: block;
    width: 100%;
    height: 2px;
    background: #4066FF;
    transition: 0.5s;
}

    #mmenu.acts #msp1 {
        transform: matrix(1, -1, 0, 1, 0, 8);
        width: 75%;
    }

    #mmenu.acts #msp2 {
        display: none;
    }

    #mmenu.acts #msp3 {

        transform: matrix(1, 1, 0, 1, 0, -9);
        width: 75%;
    }

#mcontent {
    position: absolute;
    display: block;
    top: 50px;
    left: 0;
    background: #EDEDED;
    width: 100%;
    height: 100vh;
    z-index: 55;
    visibility: hidden;
    opacity: 0;
    transition: 0.5s;
}

#mcontent > .wrap {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-content: center;
    align-items: flex-start;
    height: 90%;
    gap: 40px;
}

#mcontent ul {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin-top: 40px;
}

#mcontent li a {
    color: rgba(0, 0, 0, 1);
    font-size: 20px;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
}

#mcontent a.tel, #mcontent a.mail {
    font-size: 20px;
    line-height: 24px;
}

#mcontent.mactiv {
    visibility: visible;
    opacity: 1;
}

#mcontent .wrap {
    display: flex;
    flex-direction: column;
    gap: 20px;
    justify-content: space-between;
}

#formModal .form1 {
    width: 100%;
}

}