/*Общие стили*/
@import url('https://fonts.googleapis.com/css2?family=Bitter&family=Roboto&display=swap');
* {
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
}
body::-webkit-scrollbar {
 	background: #f1f1f1;
 	width: 10px;
}
body::-webkit-scrollbar-thumb {
 	background-color: var(--color-primary);
 	-webkit-box-shadow: inset 0 0 2px #333;
        box-shadow: inset 0 0 2px #333;
 	border-radius: 3px;
}
body::-webkit-scrollbar-corner {
 	background: transparent;
}
body {
	width: 100%;
	padding: 0;
	margin: 0;
}
body.no_scroll {
	overflow: hidden;
}
:root {
  --color-primary: #0f8cc4;
  --color-primary-2: #7cb010;
  /*#7cb010 #0f8cc4*/
}
/*НАЧАЛО СТИЛЕЙ HEADER`а-----------------------------------------------------------------*/
	/*Десктопный header*/
	header {
		display: flex;
		width: 100%;
		padding: 5px 0;
		align-items: center;
		height: 85.69px;
		justify-content: center;
  	box-shadow: rgb(6 5 50 / 12%) 0px 4px 20px;
  	transition: 0.3s;
		border-top: 3px solid var(--color-primary);
	}
	header .header_inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 1280px;
	}
	header .top {
		width: 30%;
		text-align: left;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	header .top .column img {
		width: 103px;
	}
	header .top>a {
		color: black;
		text-decoration: none;
	}
	header .top .header_title {
		font-size: 30px;
		font-weight: bold;
		margin:0;
		font-family: 'Bitter', serif;
		margin-bottom: 10px;
	}
	header .top .header_description {
		margin: 0;
		font-family: 'Bitter', serif;
		font-style: italic;
		font-size: 20px;
	}
	header .bottom {
		width: 70%;
		transition: 0.3s;
	}
	header .bottom ul {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: flex-end;
		list-style: none;
		margin: 0;
		margin-top: 1em;
		padding: 0;
		margin-bottom: 0.5em;
		transition: 0.3s;
	}
	header .bottom ul a {
		color: black;
		text-decoration: none;
		position: relative;
		padding-bottom: 4px;
		margin-right: 5%;
		font-size: 17px;
	}
	header .bottom ul a:last-child {
		margin-right: 0;
	}
	header .bottom ul a:hover::after {
	    width: 100%;
	    left: 0;
	}
	header .bottom ul a::after {
	    content: "";
	    position: absolute;
	    bottom: 0;
	    left: 50%;
	    display: block;
	    height: 3px;
	    width: 0;
	    background-image: linear-gradient(45deg,var(--color-primary), var(--color-primary-2), #0CBABA, #0D324D, #2A2A72);
	    background-size: 200%;
	    animation: animateborder 3s ease infinite;
	    transition: width 0.3s ease 0s, left 0.3s ease 0s;
	}
	@keyframes animateborder {
	    0% {
	        background-position: 0%;
	    }
	    50% {
	        background-position: 100%;
	    }
	    100% {
	        background-position: 0%;
	    }
	}
	/*Фиксированный header при прокрутке*/
	header .fixed_bottom {
		  width: 100%!important;
	    min-height: 65px;
	    border-top: 3px solid var(--color-primary);
	    display: flex;
	    align-items: center;
	    margin: 0;
	    left: 0;
	    background-color: white;
	    z-index: 10;
	    position: fixed;
	    top: 0;
	    box-shadow: rgb(6 5 50 / 10%) 0px 4px 30px;
	}
	.fixed_header_activated {
		padding-bottom: 0;
	}
	header .fixed_bottom .bottom_inner {
		width: 1280px;
	}
	header .bottom_inner {
		display: flex;
	    width: 100%;
	    min-height: 51px;
	    margin: 0 auto;
	    align-items: center;
	    /* position: sticky; */
	    top: 0;
	    z-index: 10;
	    justify-content: space-between;
	}
	header .bottom_logo {
		display: flex;
		width: 0;
		transition: 0.3s;
	}
	header .fixed_bottom ul {
	    width: calc((64.63px + 4vw)*7);
	}
	header .bottom ul a {
		transition: 0.6s;
	} 
	header .fixed_bottom ul a {
		margin-right: 4vw;
	}
	header .fixed_bottom ul a:last-child {
		margin: 0;
	}
	header .fixed_bottom .bottom_logo {
		width: 43px;
	}
	/*Мобильное меню*/
	.mobile_header {
		display: none;
	    width: 100%;
	    height: 0;
	    border-top: 3px solid;
	    align-items: center;
	    margin: 0;
	    transition: 0.3s;
	    background-color: white;
	    z-index: 10;
	    position: fixed;
	    top: 0;
	    box-shadow: rgb(6 5 50 / 10%) 0px 4px 30px;
	}
	.mobile_header.active {
	   height: 51px;
	}
	.mobile_header_inner {
	    display: flex;
	    width: 90%;
	    margin: 0 auto;
	    align-items: center;
	    transition: 0.3s;
	    /* position: sticky; */
	    top: 0;
	    z-index: 10;
	    justify-content: space-between;
	}
	.mobile_header_inner .mobile_logo {
        display: flex;
	    width: 0;
	    transition: 0.3s;
	}
	.mobile_header.active .mobile_logo {
	    width: 43px;
	}
	/*Иконка бургер-меню*/
	header>#burger-menu {
		display: none;
	}
	#burger-menu {
	  cursor: pointer;
	  height: 27px;
	  width: 27px;
	  overflow: visible;
	  position: relative;
	  transition: 0.3s;
	  z-index:12;
	}
	#burger-menu span,
	#burger-menu span:before,
	#burger-menu span:after {
	  background: black;
	  display: block;
	  height: 4px;
	  opacity: 1;
	  position: absolute;
	  transition: 0.3s ease-in-out;
	}
	#burger-menu span:before,
	#burger-menu span:after {
	  content: "";
	}
	#burger-menu span {
	  right: 0px;
	  top: 13px;
	  width: 27px;
	}
	#burger-menu span:before {
	  left: 0px;
	  top: -10px;
	  width: 16px;
	}
	#burger-menu span:after {
	  left: 0px;
	  top: 10px;
	  width: 20px;
	}
	#burger-menu.close span {
	  transform: rotate(-45deg);
	  top: 13px;
	  width: 27px;
	}
	#burger-menu.close span:before {
	  top: 0px;
	  transform: rotate(90deg);
	  width: 27px;
	}
	#burger-menu.close span:after {
	  top: 0px;
	  left:0;
	  transform: rotate(90deg);
	  opacity:0;
	  width:0;
	}
	/*Непосредственно меню*/
	#menu{
	  z-index:2;
	  min-width:100%;
	  min-height:100%;
	  position: fixed;
	  top:0;
	  height:0;
	  visibility: hidden;
	  opacity: 0;
	  text-align:center;
	  overflow: auto;
	  padding-top:20px;
	  transition: all 0.3s ease-in-out;
	  
	}
	#menu ul {
	    padding: 0;
	    margin: 0 auto;
	    display: flex;
	    flex-direction: column;
	    align-items: flex-start;
	    justify-content: flex-start;
	}
	#menu.overlay{
	  visibility: visible;
	  opacity: 1;
	  padding-top:86px;
	  background:var(--color-primary);
	}
	#menu a{
	  width: 100%;
	  color:#fff;
	  display:block;
	  font-size: 28px;
	  padding-top:30px;
	  text-decoration:none;
	  border-bottom: 4px solid var(--color-primary-2);
	}
	#menu a:first-child {
	  padding-top: 0;
	}
	#menu li{
      width: 80%;
      margin: 0 auto;
      padding-bottom: 30px;
      text-align: left;
      font-family: 'Bitter', serif;
	  list-style:none;
	}
	/*Суб-меню*/
	#menu .submenu {
		width: 100%;
	}
	#menu .open_submenu {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#menu .open_submenu li {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#menu .open_submenu img {
		width: 30px;
		transition: 0.3s;
	}
	#menu .open_submenu img.active {
		transform: rotate(180deg);
	}
	#menu .submenu a {
		border-color: silver;
		border-width: 1px;
	}
	#menu .submenu li {
		padding-left: 8vw;
	    font-size: 20px;
	}	
	/*Медиа-запросы*/
	@media (max-width: 1439px) {
		header .header_inner {
		    width: 1024px;
		}
		header .fixed_bottom .bottom_inner {
			width: 1024px;
		}
		header .bottom ul a {
			font-size: 16px;
		}
	}
	@media (max-width: 1279px) {
		header>.top {
		    width: 960px;
		}
	}
	@media (max-width: 1030px) {
		header .bottom_inner {
			width: 100%;
		}
		header .bottom {
			width: 80%;
		}
		header .bottom ul a {
			font-size: 15px;
		}
		header .top {
		    flex-direction: column;
		    text-align: center;
		    justify-content: center;
		    align-items: center;
		    margin: 0;
		}
		header .top .header_contacts {
			display: none;
		}
		header .top .column img {
			display: none;
		}
		header .top .column .mobile_logo {
			display: block!important;
			height: 50px;
			width: auto;
		}
		header {
	    border-top: 3px solid var(--color-primary);
			padding: 5px 0;
		}
		header .header_inner {
			width: 90%;
			flex-direction: row;
			justify-content: space-between;
		}
		header .top {
			width: fit-content;
		}
		header .fixed_bottom .bottom_inner {
			width: 90%;
		}
		.mobile_header {
			border: 0;
			height: 0;
			display: flex;
		}
		header>#burger-menu {
			display: none;
			width: 27px;
			position: absolute;
			top: 18px;
			left: 90%;
			height: 27px;
		}
		header>#burger-menu.active {
			top: 12px;
		}
		header>#burger-menu span {
		  right: 0px;
		  top: 13px;
		  width: 27px;
		}
		header>#burger-menu span:before {
		  left: 0px;
		  top: -10px;
		  width: 16px;
		}
		header>#burger-menu span:after {
		  left: 0px;
		  top: 10px;
		  width: 20px;
		}

		header>#burger-menu.close span {
		  transform: rotate(-45deg);
		  top: 13px;
		  width: 27px;
		}
		header>#burger-menu.close span:before {
		  top: 0px;
		  transform: rotate(90deg);
		  width: 27px;
		}
		header>#burger-menu.close span:after {
		  top: 0px;
		  left:0;
		  transform: rotate(90deg);
		  opacity:0;
		  width:0;
		}
		#burger-menu {
			width: 0;
			height: 0;
		}
		#burger-menu span {
		  right: 0px;
		  top: 13px;
		  width: 0;
		}
		#burger-menu span:before {
		  left: 0px;
		  top: -10px;
		  width: 0;
		}
		#burger-menu span:after {
		  left: 0px;
		  top: 10px;
		  width: 0;
		}
		.mobile_header.active #burger-menu {
			height: 27px;
    		width: 27px;
		}
		.mobile_header.active #burger-menu span {
		  right: 0px;
		  top: 13px;
		  width: 27px;
		}
		.mobile_header.active #burger-menu span:before {
		  left: 0px;
		  top: -10px;
		  width: 16px;
		}
		.mobile_header.active #burger-menu span:after {
		  left: 0px;
		  top: 10px;
		  width: 20px;
		}
		.mobile_header.active #burger-menu.close span {
		  transform: rotate(-45deg);
		  top: 13px;
		  width: 27px;
		}
		.mobile_header.active #burger-menu.close span:before {
		  top: 0px;
		  transform: rotate(90deg);
		  width: 27px;
		}
		.mobile_header.active #burger-menu.close span:after {
		  top: 0px;
		  left:0;
		  transform: rotate(90deg);
		  opacity:0;
		  width:0;
		}
		header .mobile_header_inner {
			width: 90%;
			margin: 0 auto;
			border-top:0;
			min-height: auto;
			justify-content: space-between;
		}
		.mobile_header ul {
			display: none;
		}
		header .plug.active {
			height: 0;
		}
		.mobile_header.active {
			position: fixed;
			display: flex;
		}
		.fixed_header_activated {
			padding-bottom: 10px;
		}
	}
	@media (max-width: 865px) {
		header .bottom_inner {
			width: 100%;
		}
		header .bottom {
			width: 85%;
		}
	}
	@media(max-width: 930px) {
		  header {
		  	height: auto;
		  }
			header .bottom {
				display: none;
			}
			header>#burger-menu {
				display: block;
			}
	}
	@media (max-width: 385px) {
		header .top {
			text-align: left;
			align-items: flex-start;
			padding-left: 10px;
		}
		header>#burger-menu {
			left: 87%;
		}
	}
/*КОНЕЦ СТИЛЕЙ HEADER`а-----------------------------------------------------------------*/
/*НАЧАЛО СТИЛЕЙ FOOTER`а-----------------------------------------------------------------*/
	footer {
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: center;
    	box-shadow: rgb(6 5 50 / 12%) 0px 4px 20px;
    	padding-bottom: 10px;
    	margin-top: 40px;
	}
	footer .footer_inner {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 1280px;
	}
	footer .left ul {
		width: 100%;
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		flex-direction: column;
		list-style: none;
		margin: 0;
		margin-top: 1em;
		margin-bottom: 0.5em;
		padding: 0 10px;
	}
	footer .left ul li {
		width: fit-content;
	}
	footer .left ul>li {
		font-weight: bold;
		font-size: 17px;
		padding-bottom: 4px;
		margin-bottom: 5px;
		font-family: 'Bitter', serif;
	}
	footer .left ul a {
		color: black;
		text-decoration: none;
		position: relative;
		padding-bottom: 4px;
		width: fit-content;
		font-size: 15px;
		margin-bottom: 5px;
	}
	footer .left ul a:hover::after {
	    width: 100%;
	    left: 0;
	}
	footer .left ul a::after {
	    content: "";
	    position: absolute;
	    bottom: 0;
	    left: 50%;
	    display: block;
	    height: 3px;
	    width: 0;
	    background-image: linear-gradient(45deg,var(--color-primary), var(--color-primary-2), #0CBABA, #0D324D, #2A2A72);
	    background-size: 200%;
	    animation: animateborder 3s ease infinite;
	    transition: width 0.3s ease 0s, left 0.3s ease 0s;
	}
	footer .right .row{
		display: flex;
		align-items: flex-end;
		justify-content: flex-end;
		flex-direction: column;
	}
	footer .right {
		margin-top: 16px;
	}
	footer .right .row:first-child p:first-child {
		color: black;
    font-family: 'Bitter', serif;	
		text-decoration: none;
		position: relative;
		padding-bottom: 4px;
		width: fit-content;
		font-weight: bold;
		text-align: right;
		margin: 0;
		font-size: 17px;
		margin-bottom: 5px;
	}
	footer .right .row a {
		color: black;
		text-decoration: none;
		position: relative;
		padding-bottom: 4px;
		width: fit-content;
		text-align: right;
		font-size: 15px;
		margin-bottom: 5px;
	}
	footer .right button {
		height: 40px;
		border-radius: 10px;
		cursor: pointer;
		border: 2px solid black;
		font-size: 15px;
		background: none;
		transition: 0.3s;
		color: white;
		border-color: var(--color-primary-2);
		background:var(--color-primary-2);
	}
	footer .right button:hover {
		background:transparent;
		color: black;
	}
	@media (max-width: 1439px) {
		footer .footer_inner {
			 width: 1024px;
		}	
	}
	@media (max-width: 1030px) {
		footer .footer_inner {
			 width: 80%;
		}	
	}
	@media (max-width: 569px) {
		footer .footer_inner {
			flex-direction: column;
		}	
		footer .left ul {
			justify-content: center;
			align-items: center;
		}
		footer .right {
			margin-top: 0px;
		}
		footer .right .row {
			justify-content: center;
			align-items: center;
		}
	}
		/*Футер Контактная форма*/
	.footer_contact_form {
		width: 1280px;
		margin: 20px auto;
		margin-top: 70px;
		padding: 20px;
	    box-shadow: rgb(6 5 50 / 12%) 0px 4px 20px;
	    border-radius: 10px;
	}
	.footer_contact_form>p:first-child {
		font-size: 1.5em;
	    margin-block-start: 0.83em;
	    margin-block-end: 0.83em;
	    font-family: 'Bitter',serif;
	    margin-inline-start: 0px;
	    margin-inline-end: 0px;
	    font-weight: bold;
	}
	.footer_contact_form>p:nth-child(2) {
		font-size: 1.2em;
	}
	@media (max-width: 1439px) {
		.footer_contact_form {
		    width: 1024px;
		}
	}
	@media (max-width: 1030px) {
		.footer_contact_form {
	    	width: 90%;
		}
	}
	.footer_contact_form .form_block {
		box-shadow: rgb(6 5 50 / 12%) 0px 4px 20px;
		border-radius: 10px;
		padding: 20px;
		margin-top: 30px;
	}
	.footer_contact_form .form_block h2 {
		margin: 0;
	}
	   .footer_contact_form .col-25 {
	  float: left;
	    width: 100%;
	  margin-top: 6px;
	  color: #212121;
	}
	.footer_contact_form form button {
			all:unset;
		float: right;
		margin-top:20px;
		height: fit-content;
		border: 2px solid black;
		padding: 10px;
		border-radius: 6px;
		cursor: pointer;
		transition: 0.3s;
		width: fit-content;
	}
	.footer_contact_form form button:hover {
		border-color: var(--color-primary);
	}
	.footer_contact_form .col-75 {
	  float: left;
	  width: 100%;
	  margin-top: 6px;
	}
	.footer_contact_form .phone_block {
		max-width: 90%;
	}
	 /*@media screen and (max-width: 600px) {
	  .col-25, .col-75, input[type=submit] {
	    width: 95%;
	    margin-top: 0;
	  } }*/
	 .footer_contact_form col-25, .col-75, input[type=submit] {
	    width: 100%;
	    margin-top: 0;
	  } 
	.footer_contact_form form .row:after {
	  content: "";
	  display: table;
	  clear: both;
	}
	.footer_contact_form form label {
	  padding: 10px 10px 10px 0;
	  display: inline-block;
	}
	.footer_contact_form form label i {
		margin-right: 5px;
	}
	.footer_contact_form  textarea {
	 	max-height: 90px;
	 }
		.footer_contact_form form input, select, textarea {
	  width: 100%; /* ширина полей*/
	  padding: 10px; /* отступы*/
	  border: 1px solid #bdbdbd; /* толщина стиль цвет рамки*/
	  border-radius: 5px; /* скругление углов*/
	  transition: 0.3s;
	  resize: vertical; /* Можно изменять размеры элемента по вертикали*/
	      font-family: 'Rubik', sans-serif!important;
	}
	.footer_contact_form form input:focus, .footer_contact_form form textarea:focus {
		outline: 0;
		border: 2px solid var(--color-primary);
	}
/*КОНЕЦ СТИЛЕЙ FOOTER`а-----------------------------------------------------------------*/