/*
Theme Name: polygraph
*/
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
body {
  font-family: "Noto Sans", sans-serif;
  color: #252b42;
	position: relative;
}
body.open{
	overflow: hidden;
}
.container {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 0 15px;
  height: 100%;
}
ul {
  display: flex;
}
li {
  list-style: none;
}
a {
  text-decoration: none;
}
path {
  transition: all 0.2s linear;
}

.shad {
  z-index: -1;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}
.open {
     background: rgba(21, 21, 21, 0.47);
  z-index: 5;
}

.header {
  padding-top: 10px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1;
}
.header_inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo {
  display: flex;
  align-items: center;
}
.logo_text {
  margin-left: 15px;
  max-width: 320px;
  width: 100%;
  font-weight: bold;
  font-size: 16px;
  line-height: 22px;
  /* identical to box height, or 137% */

  color: #ffffff;
}
.header_phone a {
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;
  /* or 137% */

  display: flex;
  align-items: center;

  /* Заголовки */

  color: #252b42;
}
.header_phone a img {
  margin-right: 10px;
}
.geo img {
  margin-right: 10px;
}
.geo {
  margin-right: 100px;
  display: flex;
  align-items: center;
  font-weight: 600;
  font-size: 16px;
  line-height: 22px;

  color: #ffffff;
}
.recall a {
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  /* identical to box height, or 143% */

  letter-spacing: 0.01em;
  text-transform: uppercase;

  color: #2091f9;
  padding: 12px 24px;
  border: 1px solid #2091f9;
  transition: all 0.2s linear;
}
.recall a:hover {
  color: #fff;
  background-color: #2091f9;
}
.header_info {
  display: flex;
  align-items: center;
}

.intro {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: linear-gradient(111.31deg, #212290 2.75%, #0c5dcf 69.48%);
  position: relative;
  padding-top: 120px;
  padding-bottom: 15px;
}
.pulse {
  pointer-events: none;
  position: absolute;
  bottom: 0;
  right: 47%;
}
.intro_img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 45%;
}
.intro_content {
  max-width: 665px;
  width: 100%;
}
.intro_content h1 {
  font-weight: bold;
  font-size: 60px;
  line-height: 118.68%;
  /* or 71px */
  color: #ffffff;  
} 
.intro_text {
  max-width: 360px;
  width: 100%;
  font-size: 20px;
  line-height: 26px;
  /* or 130% */
  margin: 26px 0 60px;

  color: #cfd4ff;
}
.intro_btn a {
  display: inline-block;
  font-weight: 600;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.01em;
  text-transform: uppercase;

  color: #ffffff;
  padding: 15px 38px;
  background: #2091f9;
  border: 1px solid #2091f9;
  transition: all 0.2s linear;
}
.intro_btn a:hover {
  background: transparent;
  border-color: #fff;
}

.advantages {
  padding: 140px 0;
}
.title_uppertext {
  margin-bottom: 12px;
  font-weight: 500;
  font-size: 14px;
  line-height: 19px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
h2 {
  /*max-width: 740px; */
  width: 100%;
  font-weight: bold;
  font-size: 44px;
  line-height: 118.68%;
}
.advantages_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.advantages_item {
  margin-top: 70px;
  width: 45%;
  display: flex;
  align-items: center;
}
.advantages_item-content {
  margin-left: 30px;
}
.advantages_content-title {
  font-weight: 600;
  font-size: 22px;
  line-height: 122.18%;
  margin-bottom: 12px;
}
.advantages_content-text {
  font-size: 16px;
  line-height: 122.18%;

  color: #374754;
}

.info_inner {
  display: flex;
}
.info_img {
  width: 50%;
}
.info_img img {
  display: block;
  width: 100%;
}
.info_content {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
}
.info_title {
  font-weight: 600;
  font-size: 22px;
  line-height: 122.18%;
  margin-bottom: 13px;
}
.info_text {
  font-size: 16px;
  line-height: 154.18%;

  color: #374754;
}
.info_content-inner {
  max-width: 440px;
  width: 100%;
}
.info_content.right .info_content-inner {
  margin-left: 47px;
}
.info_content.right {
  background: #fafafa;
}
.info_content.right:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;

  border-top: 40px solid transparent;
  border-right: 50px solid #fafafa;
  border-bottom: 40px solid transparent;
  top: 16px;
  left: -25px;
}
.info_content.left {
  background: #0968da;
}
.info_content.left:before {
  position: absolute;
  content: "";
  width: 0;
  height: 0;

  border-top: 40px solid transparent;
  border-left: 50px solid #0968da;
  border-bottom: 40px solid transparent;
  top: 16px;
  right: -25px;
}
.info_content.left .info_content-inner {
  margin-left: auto;
  margin-right: 155px;
}
.info_content.left .info_text {
  color: rgba(255, 255, 255, 0.81);
}
.info_content.left .info_title {
  color: #fff;
}

.services {
  background: #fafafa;
  padding:0 0 140px;
}
.services > .container:first-child{
	padding-top: 140px;
}
.services .poligraph{
	padding: 100px 0;
	background: url(./assets/img/polyfon2.jpg) no-repeat center center;
	background-size: cover; 
}
.services_inner {
  /*margin-top: 115px;*/
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
}
.services_item {
  margin-bottom: 47px;
  max-width: 368px;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.6);
  box-shadow: 0px 15px 30px rgba(240, 240, 240, 0.33);
}
.services_item:hover .services_item-content {
  background-color: #0968da;
}
.services_item:hover .services_item-text,
.services_item:hover .services_item-link a,
.services_item:hover .services_item-link a path {
  color: #fff;
  stroke: #fff;
}
.services_item img {
  display: block;
  width: 100%;
}
.services_item-content {
  padding: 42px 30px 36px 30px;
  transition: all 0.2s linear;
}
.services_item-text {
  max-width: 268px;
  width: 100%;
  font-weight: 600;
  font-size: 22px;
  line-height: 122.18%;
  min-height: 55px;
  margin-bottom: 30px;
  transition: all 0.2s linear;
}
.services_item-link a {
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  line-height: 122.18%;
  letter-spacing: 0.01em;
  text-transform: uppercase;

  color: #4089ed;
  margin-right: 4px;
  transition: all 0.2s linear;
}

.certificates {
  padding: 0 0 140px;
}
.certificates_inner {
  max-width: 100%;
  width: 100%;
  margin-top: 60px;
}
.certificates_item {
  outline: none;
  margin-bottom: 15px;
}
.certificates_item img {
  margin: 0 auto;
  max-width: 96%;
}

.consult {
  padding: 140px 0;
  background-size: cover;
}
.consult_title {
  font-weight: bold;
  font-size: 44px;
  line-height: 118.68%;
  /* or 52px */

  color: #ffffff;
 /* max-width: 670px;*/
  width: 100%;
  margin-bottom: 30px;
}
.consult_text {
  font-size: 16px;
  line-height: 122.18%;

  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 72px;
}

.form_inner{
  display: flex;
  justify-content: space-between;
}
form label {
  font-size: 16px;
  line-height: 146.9%;

  color: #ffffff;
}

form input {
  width: 100%;
  padding: 15px;
  outline: none;
}
.form_input {
  position: relative;
  max-width: 370px;
  width: 100%;
}
.form_input label {
  position: absolute;
  top: -28px;
  left: 0;
}
.form_btn {
  max-width: 370px;
  width: 100%;
}
.form_btn label {
  display: block;
	margin-top: 7px;
}
.form_btn input {
	cursor: pointer;
  display: inline-block;
  max-width: 370px;
  width: 100%;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
  line-height: 122.18%;
  padding: 16px 0;

  letter-spacing: 0.065em;
  text-transform: uppercase;

  color: #ffffff;
  background: #2091f9;
  border: 1px solid #2091f9;
  transition: all 0.2s linear;
}
.form_btn input:hover {
  background: transparent;
  border-color: #fff;
}

.partners {
  padding: 140px 0;
}
.partners_inner {
  margin-top: 60px;
}
.partners_item a {
  outline: none;
}
.partners_item img {
  margin: 0 auto;
}

.contact {
      display: flex;
    margin-top: 140px;
    /* min-height: 680px; */
    flex-direction: column;
	margin-bottom: 140px;
}
.imap {
  width: 50%;
}
.contact h2 {
  max-width: 435px;
  width: 100%;
  text-align:center;
}
.contact .map{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-top: 1em;
}
.contact .map img{
	margin:0 1%;
}
.contact_content {
  width: 100%;
  display: flex;
  flex-direction: column;
 justify-content: center;
 align-items: center;
  background: #fafafa;
}
.contact_content-inner {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
  max-width: 530px;
  width: 100%;
}
.contact_adress {
  max-width: 225px;
  width: 100%;
}
.contact_adress img {
  width: 100%;
}
.contact_adress-title {
  font-weight: 600;
  font-size: 22px;
  line-height: 122.18%;

  color: #252b42;
  margin-bottom: 8px;
}
.contact_adress-text {
  font-size: 16px;
  line-height: 122.18%;
  color: #374754;
}
.contact_avatar{
	margin-top: 30px;
	margin-bottom: 30px;
	display: flex;
	width: 100%;
	justify-content: center;
	flex-direction: column;
	align-items:center;
}
.contact_avatar img.avatar{
	max-width: 200px;
	height: auto;
	margin:0.5em 0;
}
.contact_avatar .undername {
  text-align: center;
  padding-top: 0.5em;
}
.contact_adress .social{
	display: flex;
	justify-content: space-around;
	margin-top:1em;
}
.contact_adress .social img{
	max-width: 2em;
	height: auto;
}

.footer {
  background: #001949;
  padding: 17px 0;
}
.footer_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.footer_logo img {
  width:  200px;
}
.footer_year {
  font-size: 12px;
  line-height: 122.18%;
  /* identical to box height, or 15px */

  color: rgba(255, 255, 255, 0.6);
}
.footer_privacy a {
  font-size: 12px;
  line-height: 122.18%;
  /* identical to box height, or 15px */

  color: rgba(255, 255, 255, 0.6);
}

.slick-dots {
  justify-content: center;
}
.slick-dots button {
  font-size: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  outline: none;
  border: 0;
  background-color: #eee;
  margin: 0 3px;
}
.slick-dots .slick-active button {
  background-color: #001949;
}
.slick-arrow{
  width: 2em;
  height: 2em;
  border: none;
    border-top: 0.33em solid #0968da;
    border-right: 0.33em solid #0968da;
    text-indent: -9999px;
    background: none;
	position: absolute;
    top: calc(50% - 1em);
	cursor:pointer
}
.slick-arrow:hover{
	opacity:0.6;
}
.slick-arrow:focus{
	outline: none;
}
.slick-arrow.slick-prev{
	left:-2.5em;
	transform: rotate(-135deg);
}
.slick-arrow.slick-next{
	right: -2.5em;
	transform: rotate(45deg);
}

.modal {
  display: none;
  max-width: 770px;
  width: 100%;
  padding: 64px 80px 80px 80px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
	z-index: 10;
	overflow-y: auto;
	box-sizing: content-box;
}
.modal.small{
	max-width: 350px;
	padding: 34px 40px 40px 40px;
	height: auto;
	top: 30%;
}
.modal.bg-blue{
	background-color: #0968da;
	color:#fff;
}
.modal.active,
.price.active{
	display: block;
}
.modal p{
	margin: 0.5em 0;
}
.modal ul li{
	list-style: circle inside;
}
.modal ol li{
	list-style: decimal inside;
} 
.modal ul{
	display: block;
}
.price{
	  display: none;
	padding: 40px 30px;
	max-width: 520px;
  width: 100%;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #fff;
	z-index: 10;
	overflow: auto;
}
.price_title{
	font-weight: 500;
	font-size: 38px;
	line-height: 123.5%;
}
.price_text{
	font-size: 18px;
	line-height: 155.9%;
	margin: 6px 0 25px;
}
.price_input{
	margin-bottom: 25px;
}
.price_input input{
	border: 1px solid #D0D0D0;
box-shadow: 0px 4px 8px rgba(44, 39, 56, 0.04);
border-radius: 2px;
}
.price label{
	font-size: 16px;
	line-height: 146.9%;
	color: #646364;
	margin-bottom: 4px;
}
.price_textarea textarea{
	outline: none;
	width: 100%;
	height: 100px;
	resize: none;
	border: 1px solid #D0D0D0;
	padding: 15px;
box-shadow: 0px 4px 8px rgba(44, 39, 56, 0.04);
border-radius: 2px;
}
.price_textarea{
	margin-bottom: 35px;
}
.price_checkbox label{
	display: flex;
	align-items: center;
}
.price_checkbox{
	margin-bottom: 30px;
}
.price_checkbox span{
	margin: 0;
	display: block;
}
.price_checkbox span input{
	width: 25px;
	height: 25px;
}
.price_checkbox label span{
	font-size: 14px;
	line-height: 19px;
	/* identical to box height */
	margin-left: 6px;

	color: #646364;
}
.price_btn input{
	width: 100%;
	text-align: center;
	font-weight: 600;
	font-size: 14px;
	line-height: 19px;
	text-align: center;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: #2091F9;
	color: #FFFFFF;
	padding: 15px;
	border: 1px solid #2091F9;
	transition: all .2s linear;
	cursor: pointer;
}
.price_btn input:hover{
	color: #2091F9;
	background: transparent;
	
}
 
.close {
  position: absolute;
  top: 23px;
  right: 25px;
  width: 20px;
  height: 20px;
  cursor: pointer;
}
.close:after {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 20px;
  width: 1px;
  background-color: #374754;
  transform: rotate(45deg);
}
.close::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  height: 20px;
  width: 1px;
  background-color: #374754;
  transform: rotate(-45deg);
}
.modal.bg-blue .close:after, .modal.bg-blue .close::before{
	background-color: #fff; 
}
.modal img {
  width: 100%;
}
.modal img.nosize {
	width: auto;
}
.modal_content {
  margin-top: 60px;
  /*max-width: 540px;*/
  width: 100%;
  font-size: 16px;
  line-height: 154.18%;
  padding-bottom:100px;
}
.modal.small .modal_content {
  margin-top: 20px;
  /*max-width: 540px;*/
  width: 100%;
  font-size: 16px;
  line-height: 154.18%;
  padding-bottom:20px;
}
@media (max-width: 1400px) {
	.modal {
		height: 100vh;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
	.price {
		height: 100vh;
		top: 0;
		left: 50%;
		transform: translate(-50%, 0);
	}
}
@media (max-width: 1170px) {
  .intro_img {
    display: none;
  }
  .header_phone a {
    color: #fff;
  }
  .recall a {
    color: #fff;
    border: 1px solid #fff;
  }
  .pulse {
    position: absolute;
    bottom: 0;
    right: 2%;
    width: 100%;
    z-index: 0;
  }
  .intro_content {
    position: relative;
  }
  .geo {
    margin-right: 30px;
  }
  .info_content.left .info_content-inner {
    margin-left: 0;
    margin-right: 0;
  }
  .info_content.right .info_content-inner {
    margin-left: 0;
    margin-right: 0;
  }
  .info_content.right:before {
    left: -41px;
  }
  .info_content.left:before {
    right: -41px;
  }
  .info_content {
    padding: 20px 15px;
  }
  .info_img img {
    height: 100%;
  }
  .form_inner {
    flex-wrap: wrap;
  }
  .form_btn {
    margin-top: 20px;
    max-width: 100%;
    text-align: center;
  }
  .form_input {
    max-width: 46%;
  }
  .contact_content {
    padding-left: 15px;
  }
  .contact {
    min-height: 555px;
  }
}
@media (max-width: 970px) {
  .header_inner {
    flex-wrap: wrap;
  }
  .logo_text {
    font-size: 12px;
    line-height: 18px;
    max-width: 230px;
  }
  .header_info {
    order: 3;
    max-width: 100%;
    width: 100%;
    margin-top: 5px;
    justify-content: flex-end;
  }
  .intro {
    padding-top: 155px;
  }
  .advantages_item {
    width: 100%;
  }
  .contact {
    flex-wrap: wrap;
  }
  .imap {
    width: 100%;
    height: 325px;
  }
  .contact_content {
    width: 100%;
    padding: 20px 15px;
  }
  .contact_content-inner {
    margin: 40px auto 40px;
  }
  .contact_adress.last {
    margin: 0 auto;
  }
  .contact .title_uppertext {
    text-align: center;
  }
  .contact h2 {
    max-width: 100%;
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 765px) {
  .services_inner {
    justify-content: center;
    margin-top: 55px;
  }
  h2 {
    font-size: 36px;
  }
}
@media (max-width: 640px) {
  .intro_content h1 {
    font-size: 44px;
	text-align: center;
  }
  .intro_text, .intro_btn{
	  text-align: center;
  }
  .container{
	  height: auto;
  }
  .intro_text {
	max-width: 100%;
    padding: 0 30px;
    font-size: 16px;
    line-height: 26px;
  }
  .contact iframe {
    width: 100%!important;
    max-height: 70vh;
  }
  .intro {
    padding-top: 300px;
  }
  .logo{
	  flex-direction: column;
  }
  .logo_text{
	  text-align: center;
  }
  .logo img {
    width: 250px;
  }
  .logo_text {
    font-size: 18px;
    line-height: 25px;
    max-width: 145px;
  }
  .recall{
	  margin-bottom:10px;
  }
  .recall a {
    font-size: 12px;
  }
  .geo {
    font-size: 14px;
  }
  .header_phone a {
    font-size: 18px;;
  }
  .advantages,
  .services,
  .certificates,
  .consult,
  .partners {
    padding: 60px 0;
  }
  .info_inner {
    flex-wrap: wrap;
  }
  .info_img {
    width: 100%;
  }
  .info_content {
    width: 100%;
  }
  .info_content.left:before,
  .info_content.right:before {
    display: none;
  }
  h2 {
    font-size: 28px;
  }
  .consult_title {
    font-size: 28px;
  }
  .form_input {
    max-width: 100%;
    margin-bottom: 15px;
  }
  .form_input label {
    position: initial;
  }
  .consult_text {
    margin-bottom: 55px;
  }
  .header_info {
		justify-content: center;
		margin-top: 7px;
		align-items: center;
		flex-direction: column;
	}
	.modal {
    padding: 64px 20px 80px 20px;
	}
}
@media (max-width: 480px) {
  .intro_content h1 {
    font-size: 28px;
  }
  .intro_text {
    font-size: 14px;
    margin: 20px 0 40px;
  }
  .intro_btn a {
    font-size: 12px;
    padding: 14px 38px;
  }
  .recall {
    width: 100%;
    padding: 12px 0;
    text-align: center;
  }
  .logo {
    margin: 0 auto 1em;
  }
  .intro {
    
  }
  .logo_text {
    margin-left: 0px;
  }
  .header_info img{
	  display: none;
  }
  .advantages_item {
    display: block;
    text-align: center;
  }
  .advantages_item-content {
    margin-left: 0;
    margin-top: 5px;
  }
  .advantages_content-title {
    font-size: 20px;
  }
  h2 {
    font-size: 22px;
  }
  .services_item-content {
    padding: 16px 15px 24px 15px;
  }
  .services_item-text {
    min-height: initial;
  }
  .consult_title {
    font-size: 22px;
  }
  form label {
    font-size: 13px;
  }
  .consult_text {
    font-size: 13px;
  }
  .contact_content-inner {
    display: block;
    margin: 20px auto 0;
  }
  .contact_adress {
    margin: 0 auto 15px;
  }
  .footer_inner {
    flex-wrap: wrap;
    text-align: center;
  }
  .footer_year {
    order: 2;
    margin-top: 7px;
    width: 100%;
  }
  .footer_logo {
    margin: 0 auto;
  }
  .footer_privacy {
    order: 3;
    margin-top: 7px;
    width: 100%;
  }
  .map img{
	  max-width: 100%;
  }
  .slick-arrow{
	  display:none !important;
	  margin: 0;
  }
  .geo{
	  width: 100%;
	  text-align: center;
	  justify-content: center;
		display: flex;
		align-items: center;
		margin: 0 0 1em;
  }
  header.header{
	  background: linear-gradient(90deg, #212290 2.75%, #0c5dcf 69.48%);
	  position:relative;
  }
  .intro{
	  min-height: auto;
	background: linear-gradient(90deg, #212290 2.75%, #0c5dcf 69.48%);
	text-align: center;
	  justify-content: center;
		display: flex;
		align-items: center; 
		padding-top: 2em;
		padding-bottom: 3em;
	 }
	 
	 .info .info_inner .info_img{
		 order:1
	 }
	 
	 .info .info_inner .info_content{
		 order:2
	 }
	 
	 .services .poligraph {
		padding: 0px 0;
	 }
	 .modal {
		max-width: 100%;
		padding: 50px 10px 10px;
		box-sizing: inherit;
	 }
	 .modal.small {
    max-width: 100%;
    padding: 30px 10px 10px;
	 }
	 .modal_content {
    margin-top: 30px;
	 }
	 .contact {
		margin: 0px;
	 }
	 
	 .poligraph .services_item{
		 background-color: #0968da;
	 }
	.poligraph .services_item-text, .poligraph .services_item-link a,.poligraph .services_item-link a path{
		color: #fff;
		stroke: #fff;
	}
	.contact .map img {
		margin: 1em 0;
		width: 100%;
	}
	.contact .map {
		padding-bottom: 1em;
	}
	 

}
@media (max-width: 750px) and (max-height: 700px){
	.modal {
		height: 100vh;
		top: 0;
		left: 0;
		transform: translate(0, 0);
	}
	.price {
		max-width: 100%;
		height: 100vh;
		top: 0;
		left: 0;
		transform: translate(0, 0);
	}
}