/* pre-header */
.pre-header {
   padding: 0.375rem 0;
   transition: 200ms ease-out;
   transition-property: margin-top;
	-webkit-transform: translateZ(0);
}
.ph_content {
   gap: 2rem;
}
.ph_work {
   font-size: 0.725rem;
   font-weight: 500;
   gap: 0.35em;
}
.ph_dot {
   width: 0.875em;
   height: 0.875em;
   flex: 0 0 0.875em;
   border-radius: 0.875em;
	margin-top: -0.2em;
}
.working .ph_dot {
   background: #04cf19;
}
.notworking .ph_dot {
   background: #eb5757;
}
.ph_socials {
   gap: 0.625rem;
}
.ph_contucts,
.ph_phones {
   gap: 1.25rem;
}
.ph_socials a {
   width: 1.5rem;
   transition: 250ms ease-out;
   transition-property: opacity;
}
.ph_socials a:hover {
   opacity: 0.65;
}
.ph_socials a img{
	white-space:nowrap;
	text-overflow:ellipsis;
}
.ph_phones a {
   font-size: 0.825rem;
   font-weight: 500;
   margin-bottom: -0.125em;
}
@media screen and (max-width: 678px) {
   .ph_phones {
      display: none;
   }
}
@media screen and (max-width: 420px) {
   .ph_content {
      gap: 1rem;
   }
   .ph_contucts,
   .ph_phones,
   .ph_socials {
      gap: 0.5rem;
   }
}/* header */
.header {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   z-index: 100;
   background: rgba(255, 255, 255, 1);
}
.header-main {
   padding: 0.725rem 0;
}
body {
   padding-top: 7.25rem;
}
.btn.open-nav {
   margin-left: 3rem;
   border: 1px solid rgb(48, 34, 52, 0.225);
   display: none;
}

.btn.open-nav:before {
   background: #fef3dd;
}

.header-content {
   display: grid;
   grid-template-columns: 1fr 2fr;
}
.header-logo {
   max-width: 8.75rem;
   display: block;
   margin-right: 3rem;
   user-select: none;
}
.down-border,
.nav li.menu-item-has-children {
   position: relative;
}
.nav > li.menu-item-has-children {
   padding-right: 0.5rem;
}
.nav > li.menu-item-has-children::before {
   content: "";
   position: absolute;
   top: 0.65rem;
   right: -0.7rem;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 48'%3E%3Cpath d='m6 9 6 6 6-6m0 30-6-6-6 6' stroke='%23302234' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   width: 1rem;
   height: 1rem;
   background-size: 100% 200%;
   background-position: 0 0%;
   background-repeat: no-repeat;
   transition: 350ms ease-out;
   transition-property: background-position;
}
.nav > li.menu-item-has-children:hover::before {
   background-position: 0 100%;
}
.nav li a,
button.down-border {
   display: block;
   position: relative;
   padding: 0.5rem 0;
   line-height: 1.2em;
   font-weight: 500;
}
/* defoult menu */
/* .nav li ul.sub-menu {
   position: absolute;
   left: -1rem;
   padding: 0;
   list-style: none;
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   flex-direction: column;
   width: max-content;
   padding: 0.5rem 1rem;
   border-radius: 0.5rem;
   visibility: hidden;
   opacity: 0;
   pointer-events: none;
   transform: translate(0, 0.25rem);
   transition: 250ms ease-in-out;
   transition-property: opacity, transform, visibility;
   box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.12),
      0px 0px 4px 0px rgba(0, 0, 0, 0.06);
   background: #fff;
}
.nav li.menu-item-has-children:hover > ul.sub-menu {
   visibility: visible;
   opacity: 1;
   pointer-events: all;
   transform: translate(0, 0);
} */
/* full menu */
.fixed-nav > ul > li.menu-item-has-children {
   position: relative;
}
.fixed-nav > ul > li.menu-item-has-children::after {
   content: "";
   position: absolute;
   width: calc(100% + 0.5rem);
   bottom: -0.75rem;
   height: 1.25rem;
}
.fixed-nav > ul > li.menu-item-has-children > ul.sub-menu {
   position: fixed;
   left: 0;
   transform: translate(0, 1em);
   list-style: none;
   display: grid;
   grid-template-columns: 1fr 1fr 1fr;
   row-gap: 2rem;
   column-gap: 1.5rem;
   width: 100%;
   padding-left: calc((100% - 83.875rem) / 2 + 2rem);
   padding-right: calc((100% - 83.875rem) / 2 + 2rem);
   padding-bottom: 1.25rem;
   padding-top: 1.25rem;
   max-height: calc(100vh - 8rem);
   overflow-y: auto;
   box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.08), 0 0 4px 0 rgba(0, 0, 0, 0.04);
   background: white;
   border-bottom-left-radius: 2rem;
   border-bottom-right-radius: 2rem;
   overflow-y: auto;
   visibility: hidden;
   opacity: 0;
   transition: 250ms ease-in-out;
   transition-property: opacity, transform, visibility;
}
@media screen and (max-width: 1240px) {
   .fixed-nav > ul > li.menu-item-has-children > ul.sub-menu {
      padding-left: 3.5rem;
      padding-right: 3.5rem;
   }
}
.fixed-nav > ul > li.menu-item-has-children:hover > ul.sub-menu {
   visibility: visible;
   opacity: 1;
   transform: translate(0, 0.65em);
}
.fixed-nav > ul > li.menu-item-has-children ul {
   list-style: none;
   padding: 0;
}
.fixed-nav
   > ul
   > li.menu-item-has-children
   > ul.sub-menu
   li.menu-item-has-children
   > a {
   pointer-events: none;
   font-size: 0.825rem;
   padding: 0;
   margin-bottom: 0.525rem;
   color: var(--gray-75);
   font-weight: 400;
}
.fixed-nav > ul > li.menu-item-has-children > ul.sub-menu li > a {
   width: max-content;
}
.fixed-nav > ul > li.menu-item-has-children ul li.goto-all {
   grid-column: span 3;
   justify-self: end;
   overflow: hidden;
	margin-top: -0.5rem;
}
.fixed-nav > ul > li.menu-item-has-children ul li.goto-all a {
   z-index: 2;
   position: relative;
padding: 0.675rem 1.35rem 0.675rem 1.35rem;
   border-radius: 2rem;
   border: 1px solid var(--gray-50);
   display: flex;
   align-items: center;
   column-gap: 0.375rem;
}
.fixed-nav > ul > li.menu-item-has-children ul li.goto-all a:before {
   content: "";
   position: absolute;
   top: -1px;
   left: -1px;
   width: calc(100% + 2px);
   height: calc(100% + 2px);
   transform: scale(0);
   transition: 225ms ease-out;
   transition-property: transform;
   z-index: -1;
   background: var(--main);
   border-radius: inherit;
}
.fixed-nav > ul > li.menu-item-has-children ul li.goto-all a:after {
   content: "";
   display: block;
   width: 1.25rem;
   height: 1.25rem;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath d='M4.2 10h11.6M10 4.2l5.8 5.8-5.8 5.8' stroke='%23302234' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.fixed-nav > ul > li.menu-item-has-children ul li.goto-all a:hover:before {
   transform: scale(1);
}
.nav li.menu-item-has-children > a::before {
   content: none;
}
/* full menu end */
.nav li {
   margin: 0 1rem;
}
.nav li ul.sub-menu li {
   margin: 0.125rem 0;
   width: auto;
}
.nav li ul.sub-menu li a {
   font-size: 0.875rem;
   padding: 0.35rem 0 0.5rem 0;
}
.nav li a:before,
.down-border:before,
button.down-border:before {
   content: "";
   position: absolute;
   width: 0%;
   height: 0.1025rem;
   bottom: 0.25rem;
   background: var(--black-80);
   border-radius: 0.25rem;
   right: 0;
   left: auto;
   transition: 250ms ease-in-out;
   transition-property: width, right, left;
}
.down-border:before {
   bottom: 0rem;
}
.nav li a:hover:before,
.down-border:hover:before {
   width: 100%;
   transform-origin: center center;
   left: 0;
   right: auto;
}
.nav li.current-menu-item > a:before,
.nav li.current-menu-item > a:hover:before {
   width: 100%;
   left: 0;
   right: auto;
}
.overlay,
.menu-panel,
.modal {
   position: fixed;
   bottom: 0;
   top: 0;
   left: 0;
   right: 0;
   opacity: 0;
   pointer-events: none;
   visibility: hidden;
}
.modal {
   z-index: 150;
}
.menu-panel {
   z-index: 120;
}
.modal,
.menu-panel {
   overflow-y: auto;
   transform: translate(0, 5rem);
   transition: 450ms cubic-bezier(0.25, 1, 0.5, 1);
   transition-property: visibility, opacity, transform;
}

.overlay {
   background: rgba(48, 34, 52, 0.5);
   z-index: 110;
   transition: 200ms ease-in;
   transition-property: opacity, visibility;
}
.overlay.open,
.menu-panel.open,
.modal.open {
   visibility: visible;
   pointer-events: all;
   opacity: 1;
}
.menu-panel.open,
.modal.open {
   transform: translate(0, 0);
}
.panel-inner {
   background: rgba(48, 34, 52, 0.929);
   color: #fff;
}
.panel-inner,
.modal-inner {
   padding: 1.75rem 0 2rem 0;

   display: flex;
}
.panel-inner {
   min-height: calc(100% - 3rem);
   margin-top: 3rem;
}
.modal-inner {
   min-height: calc(100% - 2rem);
   margin-top: 2rem;
}
.menu-header {
   display: grid;
   grid-template-columns: 1fr auto;
   align-items: center;
   align-self: start;
}
.menu-slogan p {
   color: var(--gray-5);
   font-weight: 500;
   font-size: 0.925rem;
   margin: 0;
}
.print-zone {
   position: relative;
   display: block;
}
.print-zone:after {
   content: "|";
   margin-left: 0.125em;
   animation: type 700ms linear infinite alternate;
}
.menu-slogan p + p {
   margin-left: 1em;
}
.menu {
   display: grid;
   grid-template-columns: 1fr;
   align-items: end;
   align-self: center;
}

.menu ul {
   list-style: none;
   padding: 0;
   margin: 0;
   font-size: 3.5rem;
}
.menu-content {
   display: grid;
   row-gap: 3rem;
   grid-template-rows: min-content 1fr auto;
}
.menu-content,
.modal-content {
   width: calc(100vw - 4rem);
   max-width: 83.875rem;
   margin: 0 auto;
   padding: 0 2rem;
}
.menu-footer {
   display: grid;
   grid-template-columns: 1fr max-content 1fr;
   align-items: end;
   column-gap: 2rem;
   margin-top: -6rem;
}
.menu-footer .cta {
   justify-self: end;
   color: var(--black-100);
}
.menu-footer a {
   display: block;
   font-size: 1.85rem;
   justify-self: start;
}
.menu-footer a.down-border:before {
   background: var(--black-40);
}
.menu-footer .socials {
   margin-bottom: 0.45rem;
}
.menu-footer .socials a {
   font-size: 1.125rem;
}
.menu-footer .socials a + a {
   margin-left: 1rem;
}

.menu li {
   display: flex;
   justify-content: flex-start;
   align-content: center;
   flex-wrap: wrap;
}
.menu li.current-menu-item > a,
.menu li.current-menu-item > a:hover {
   color: var(--main);
}
.menu li a {
   display: flex;
   justify-content: flex-start;
   align-items: center;
   position: relative;
   transition: 250ms ease-in;
   transition-property: color;
}
.menu li a:after {
   content: "";
   margin-left: 0.25em;
   margin-bottom: 0.075em;
   width: 0.65em;
   height: 0.65em;
   flex: 0 0 0.65em;
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24'%3E%3Cpath d='M7 17 17 7M7 7h10v10' stroke='%23AEA7B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   background-size: 100% 200%;
   background-position: 0 50%;
   background-repeat: repeat;
   transition: 350ms ease-out;
   transition-property: background-position;
}

.menu li a:hover:after {
   background-position: 0 250%;
}
.menu li.menu-item-has-children > a:after {
   background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 48'%3E%3Cpath d='m6 9 6 6 6-6m0 30-6-6-6 6' stroke='%23AEA7B0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
   background-position: 0 0%;
   margin-bottom: 0;
   margin-top: 0.1em;
}
.menu li.menu-item-has-children > a.open:after {
   background-position: 0 100%;
}
.menu li.menu-item-has-children {
   display: flex;
   flex-direction: column;
   align-content: flex-start;
}
.menu li.menu-item-has-children .sub-menu {
   font-size: 0.5em;
   margin: 0.75em 0 1.25em 0.75em;
   display: none;
}
.menu li.menu-item-has-children .sub-menu a[href="#"] {
   color: #888;
}
.menu li.menu-item-has-children .sub-menu .sub-menu {
   display: block;
   font-size: 1rem;
}
.menu li.menu-item-has-children .sub-menu li + li {
   margin-top: 0.5em;
}
.menu li.menu-item-has-children .sub-menu li a:after {
   display: none;
}
.menu li a:hover,
.menu li.menu-item-has-children > a.open {
   color: var(--main);
}
.btn.hide-menu {
   color: var(--gray-25);
   border: 1px solid var(--black-80);
}
.hide-menu:before {
   background: var(--black-80);
}
@media screen and (max-width: 1054px) {
   .header-content {
      grid-template-columns: 20rem 1fr;
   }
   .btn.open-nav {
      display: flex;
   }
   .nav.no-list {
      display: none;
   }
}
@media screen and (max-width: 1024px) {
   .header-logo {
      margin-right: 2rem;
   }
   .btn.open-nav {
      margin-left: 2rem;
   }
   .menu-footer {
      grid-template-columns: 1fr 1fr 1fr;
   }
   .menu ul {
      font-size: 3rem;
   }
   .menu-content,
   .modal-content {
      padding: 0 1.25rem;
      width: 100%;
   }
}
@media screen and (max-width: 924px) {
   .menu-footer {
      grid-template-columns: 1fr;
      justify-items: start;
      row-gap: 2rem;
      margin-top: 1.5rem;
   }
   .menu-footer .socials {
      order: 2;
   }
   .menu-footer .cta {
      justify-self: center;
   }
   .menu-footer .socials {
      margin-bottom: 0rem;
      display: inline-flex;
      flex-wrap: wrap;
      margin: -0.25rem -0.5rem;
      justify-content: flex-start;
   }
   .menu-footer .socials a + a {
      margin-left: unset;
   }
   .menu-footer .socials.c-e a {
      margin: 0.25rem 0.5rem;
      font-size: 0.95rem;
   }
}
@media screen and (max-width: 768px) {
   .menu ul {
      font-size: 2.2rem;
   }
   .menu-footer a {
      font-size: 1.5rem;
   }
   .menu li + li {
      margin-top: 0.5em;
   }
   .menu li.menu-item-has-children .sub-menu li + li {
      margin-top: 1em;
   }
   .menu-content {
      grid-template-rows: auto min-content 1fr;
      align-content: start;
   }
   .menu-footer {
      align-self: end;
   }
   .menu {
      margin-top: 1rem;
   }
}
@media screen and (max-width: 548px) {
   .header-logo {
      max-width: 7.25rem;
   }
   .header-action .btn {
      display: none;
   }
   .header-content {
      grid-template-columns: 1fr 1fr;
   }
   .btn.open-nav {
      margin-left: 0;
   }
   .header-main {
      padding: 0.5rem 0;
   }

   .menu-content {
      row-gap: 2rem;
   }
   .panel-inner {
      padding: 1.5rem 0 1rem 0;
   }
}
@media screen and (max-width: 392px) {
   .menu-header .btn .button-text {
      display: none;
   }
   .menu-header .btn {
      padding: 0.625rem;
   }
   .menu-header .btn .icon {
      margin: 0;
   }
}/* backcall */
.backcall {
   position: fixed;
   right: 0;
   top: 2.75rem;
   z-index: 101;
   transform: translate(0, 1.5rem);
   visibility: hidden;
   opacity: 0;
   pointer-events: none;
   transition: 250ms cubic-bezier(0.5, 0.04, 1, 1);
   transition-property: transform, opacity, visibility;
   width: 100%;
}

.backcall-content {
   padding: 1rem;
   border-radius: 0.675rem;
   max-width: 22rem;
   background: #fff;
   box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.12),
      0px 0px 4px 0px rgba(0, 0, 0, 0.06);
}
.backcall.open {
   transform: translate(0, 0rem);
   visibility: visible;
   opacity: 1;
}
.backcall.open .backcall-content {
   pointer-events: all;
}

.b_header {
   gap: 2rem;
   margin-bottom: 0.85rem;
}
.b_name {
   font-size: 0.925rem;
   font-weight: 500;
}
.b_send {
   display: none;
}
.sended .b_send {
   display: block;
}
.b-success {
   background: var(--main);
   padding: 1.25rem;
   margin: 1rem -0.5rem;
   border-radius: 0.5rem;
}
.b-s_icon {
   background: #fff;
   padding: 0.5rem;
   border-radius: 0.35rem;
}
.b-success .b-s_icon img {
   width: 4rem;
   height: 4rem;
}
.b_title {
   font-weight: 500;
   font-size: 1.2rem;
   margin-bottom: 0.35rem;
   line-height: 1.15;
}
.b_sub {
   color: var(--black-80);
   font-size: 0.925rem;
}
.b_content{
	margin-bottom:0.5rem;
}
.b_content .input-row + .input-row {
   margin-top: 1.5rem;
}
.alternate-btn .submit-btn .btn {
   padding: 1rem 2rem;
   font-size: 0.925rem;
   width: 100%;
}
.alternate-btn .submit-btn .btn:before {
   padding-bottom: 0;
}
.alternate-btn .submit-btn .btn:after {
   border-radius: 2rem;
}
.alternate-btn.form-submit{
	margin-top:1.25rem;
}
.b_content .checkbox {
   margin-top: 0.85rem;
}
.sended .b_content {
   display: none;
}
.b_content .wpcf7-not-valid-tip, .b_content .checkbox .wpcf7-not-valid-tip{
	font-size:0.75rem;
}
.b_content .checkbox-label{
	font-size:0.825rem;
	margin-top:0.0625rem;
}
.b_content .checkbox .wpcf7-not-valid-tip{
	bottom:-1rem;
}
.b_content .checkbox label span.wpcf7-list-item-label{
	width: 2rem;
    height: 1.2rem;
}
.b_content .checkbox label span.wpcf7-list-item-label:before{
	width: 0.8rem;
    height: 0.8rem;
}
@media screen and (max-width: 480px) {
   .backcall {
      right: 0rem;
      bottom: 1rem;
   }
}.modal-inner {
   background: white;
}
.modal-descr a {
   display: inline-block;
   line-height: inherit;
   vertical-align: bottom;
}
.modal-descr {
   font-size: 1.35rem;
}
.modal-header {
   display: grid;
   grid-template-columns: 1fr auto;
   align-items: center;
   margin-bottom: 0.5rem;
}
.modal-header .btn {
   grid-column: 2/3;
}
.modal-title {
   font-size: 2.75rem;
   margin: 0;
}
.success-content {
   max-width: 54rem;
   margin: 0 auto;
}
.success-content .modal-descr {
   margin-top: 0.5rem;
}
.success-content .to-blog {
   margin-top: 2rem;
}
.success-img {
   background: var(--main);
   padding: 3rem;
   margin-bottom: 2rem;
   margin-top: 2rem;
   border-radius: 0.5rem;
   overflow: hidden;
	position:relative;
}
.success-icon {
   padding: 1rem;
   border-radius: 1rem;
   background: white;
   box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.04), 0px 8px 16px rgba(0, 0, 0, 0.08);
   transform: translate(0, 15%);
   opacity: 0;
   transition: 250ms ease-in 450ms;
   transition-property: transform, opacity;
}
.modal.open .success-icon {
   transform: translate(0, 0);
   opacity: 1;
}
.success .success-icon img {
   width: 6rem;
}
@media screen and (max-width: 1024px) {
   .modal-content {
      width: 100%;
      padding: 0 1.25rem;
   }
   .modal-title {
      font-size: 2.25rem;
   }
   .modal-descr {
      font-size: 1.25rem;
   }
   .modal-header {
      margin-top: 0;
      margin-bottom: 0.75rem;
   }
}
@media screen and (max-width: 768px) {
   .modal-title {
      font-size: 2rem;
   }
   .modal-descr {
      font-size: 1.125rem;
   }
}
@media screen and (max-width: 540px) {
   .modal-title {
      font-size: 1.5rem;
      line-height: 1.25;
   }
   .modal-descr {
      font-size: 1rem;
   }
}
@media screen and (max-width: 392px) {
   .modal-header .btn .button-text {
      display: none;
   }
   .modal-header .btn {
      padding: 0.625rem;
   }
   .modal-header .btn .icon {
      margin: 0;
   }
   .modal-inner {
      padding-top: 1.5rem;
   }
}/* form */
.count-to{
	margin-left:0.75ch;
}
.input-count{
	color: var(--black-40);
	font-size:0.785rem
}
.country-input,.more-info {
   display: none;
}
.wpcf7 .screen-reader-response {
   position: absolute;
   overflow: hidden;
   clip: rect(1px, 1px, 1px, 1px);
   clip-path: inset(50%);
   height: 1px;
   width: 1px;
   margin: -1px;
   padding: 0;
   border: 0;
   word-wrap: normal !important;
}

.input input,
.input textarea {
   width: 100%;
   padding: 0.75rem 0 0.625rem 0;
   line-height: 1.5rem;
   border: none;
   border-bottom: 1px solid var(--gray-35);
   transition: 200ms ease-in;
   transition-property: border;
}
.input.hiden-input {
   display: none;
}
.input input:-webkit-autofill,
.input input:-webkit-autofill:active,
.input input:-webkit-autofill:focus,
.input input:-webkit-autofill:hover {
   box-shadow: inset 0 0 0 30px #fff !important;
}
.input textarea {
   overflow: unset;
   resize: none;
   -webkit-appearance: none;
}
.input textarea.auto {
   overflow-y: hidden;
}
.input input:focus,
.input textarea:focus {
   border-bottom: 1px solid var(--main-dark);
   outline: none;
}

.form-input {
   position: relative;
}
.input label {
   font-size: 1rem;
   margin: 0;
   padding: 0;
   position: absolute;
   top: 0.75rem;
   left: 0;
   color: var(--black-40);
   pointer-events: none;
   transition: 200ms ease-in;
   transition-property: transform;
   transform-origin: left top;
}

.input.has-value label,
.input.focus label {
   transform: translate(0, -1.275rem) scale(0.8);
}
.wpcf7-not-valid-tip,
.checkbox .wpcf7-not-valid-tip {
   font-size: 0.825rem;
   font-weight: 500;
   display: block;
   margin-top: 0.25rem;
   color: #d92d20;
}
.form-col-2 {
   display: grid;
   grid-template-columns: 1fr 1fr;
   column-gap: 2rem;
   row-gap: 3rem;
}
.form-col-3 {
    display: flex;
    justify-content: flex-start;
    gap: 2rem;
}
.form-col-3 .line:first-child {
   flex-basis: calc(50% - 2rem);
   flex-shrink: 0;
}
.form-col-3 .line:last-child {
   flex-grow: 1;
}
.form-col-2 .form-title {
   grid-column: span 2;
}
.form-row {
   margin-top: 2.5rem;
}
.inline-form .form-row {
   margin-top: 2rem;
}
.inline-form{
   margin-top: 1rem;
}
.form-title {
   font-size: 1.5rem;
   margin-bottom: 1.25rem;
}
.radio-group input {
   visibility: hidden;
   opacity: 0;
   z-index: -1;
   overflow: hidden;
   width: 0;
   height: 0;
}
.radio-group label,
.radio-group .wpcf7-list-item {
   margin: 0;
}
.radio-group .wpcf7-list-item-label {
   border-radius: 2rem;
   font-weight: 500;
   display: inline-block;
   padding: 0.5rem 1rem;
   font-size: 0.95rem;
   line-height: 1;
   color: var(--black-100);
   background: rgba(48, 34, 52, 0.04);
   transition: 200ms ease-in;
   transition-property: background;
}
.radio-group .wpcf7-form-control {
   margin: 0rem 0 0 -0.5rem;
   display: inline-flex;
   flex-wrap: wrap;
}
.radio-group .wpcf7-list-item-label {
   margin: 0.5rem 0 0 0.5rem;
}
.radio-group .wpcf7-list-item-label:hover {
   background: rgba(48, 34, 52, 0.09);
   cursor: pointer;
}

.radio-group input:checked + .wpcf7-list-item-label {
   background: var(--main);
}
.radio-group + .input {
   margin-top: 1.25rem;
}
.form-submit {
   flex-direction: column;
   margin-top: 2rem;
}
.submit-btn {
   display: inline;
}
.submit-btn .btn {
   padding: 2.25rem;
   position: relative;
   line-height: 1;
   font-weight: 500;
   font-size: 1rem;
}
.submit-btn .btn:after {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   transform: scale(1);
   transition: 250ms ease-in-out;
   transition-property: transform;
   background: var(--main);
   border-radius: 100%;
}
.submit-btn .btn span {
   position: relative;
   z-index: 2;
}
.submit-btn .btn:hover:after {
   transform: scale(1.15);
}
.submit-btn .btn {
   text-align: center;
}
.submit-btn .btn:before {
   padding-bottom: 100%;
   content: "";
   display: table;
   box-sizing: border-box;
   width: 0;
   height: 100%;
   outline: none;
   border: none;
}

@media screen and (max-width: 1024px) {
   .form-title {
      font-size: 1.5rem;
      margin-bottom: 1rem;
   }
   .form-submit {
      margin-top: 1.75rem;
   }
   .form-col-3 {
       flex-wrap: wrap;
   }
   .form-col-3 .line {
      flex: 1 1 0;
   }
   .form-col-3 .line:first-child {
      flex-basis: 100%;
   }
}
@media screen and (max-width: 768px) {
   .form-title {
      font-size: 1.25rem;
   }
   .form-col-2 {
      column-gap: 1rem;
      row-gap: 2rem;
   }
}
@media screen and (max-width: 540px) {
   .form-col-2 {
      grid-template-columns: 1fr;
      row-gap: 1.5rem;
   }
   .radio-group .wpcf7-list-item-label {
      font-size: 0.875rem;
   }
   .submit-text {
      font-size: 0.825rem;
   }
   .form-col-3 {
      flex-direction: column;
   }
}

/* checkbox */
.checkbox {
   position: relative;
   font-size: 0.925rem;
   margin-top: 2rem;
}
.checkbox + .checkbox{
	margin-top:1.75rem;
}
.checkbox label {
   display: flex;
   justify-content: flex-start;
   align-items: flex-start;
   margin: 0;
   cursor: pointer;
}
.checkbox label a {
   display: inline-block;
   color: var(--black-100);
}
.checkbox label input {
   position: absolute;
   width: 1px;
   height: 1px;
   z-index: -1;
   visibility: hidden;
   overflow: hidden;
}
.checkbox-label {
   margin-top: 0.125rem;
   color: var(--black-60);
}
.checkbox label span.wpcf7-list-item-label {
   display: block;
   width: 2.6rem;
   height: 1.5rem;
   background: rgba(48, 34, 52, 0.1);
   font-size: 1px;
   color: transparent;
   border-radius: 1rem;
   position: relative;
   margin-right: 0.65rem;
   transition: 225ms ease-in;
   transition-property: background;
}
.checkbox label span.wpcf7-list-item-label:before {
   content: "";
   position: absolute;
   width: 1.1rem;
   height: 1.1rem;
   border-radius: 100%;
   background: white;
   z-index: 2;
   left: 0.2rem;
   top: 0.2rem;
   transition: 225ms ease-in;
   transition-property: transform;
}
.checkbox input:checked + span.wpcf7-list-item-label:before {
   transform: translate(100%, 0);
}
.checkbox input:checked + span.wpcf7-list-item-label {
   background: var(--main);
}
.checkbox .wpcf7-not-valid span.wpcf7-list-item-label {
   background: #ff766b;
}
.checkbox .wpcf7-not-valid-tip {
   position: absolute;
   bottom: -1.35rem;
}
.page-header {
   margin-top: 4rem;
   margin-bottom: 6rem;
}
.has-back {
   margin-top: 3.85rem;
}
.page-title {
   font-size: 4rem;
   line-height: 1.15;
   margin-left: -0.05em;
}
.has-cat .page-title {
   margin-bottom: 1.5rem;
}
.page-header.has-img .header-img {
   margin-top: 2.35rem;
   border-radius: 0.75rem;
   overflow: hidden;
}
.iconed-title {
   display: grid;
   grid-template-columns: 1fr 10rem;
   column-gap: 2rem;
   row-gap: 1.5rem;
   align-items: center;
}
.iconed-title .page-title {
   margin-top: 1rem;
   margin-bottom: 1rem;
}
.header-icon {
   margin-bottom: 0rem;
   background: var(--gray-5);
   border-radius: 1rem;
   padding: 7.5% 7.5%;
}
.has-back .back-link {
   margin-bottom: 2rem;
}
.has-back.has-icon .back-link {
   margin-bottom: 0.5rem;
}
.back-link {
   margin-bottom: 0.5rem;
}
.back-link a {
   line-height: 1.25rem;
   font-weight: 500;
}
.back-link a .icon {
   font-size: 1.125rem;
   transition: 450ms cubic-bezier(0.54, 0, 0.1, 1) 10ms;
   transition-property: transform;
}
.slide-left {
   width: 1.125rem;
   overflow: hidden;
   margin-right: 0.25rem;
}
.back-link a:hover .slide-left .icon {
   transform: translate(-100%, 0);
}
.page-descr {
   font-size: 1.375rem;
}
.page-descr p {
   margin: 0;
}
.page-descr p.decore-rect {
   position: relative;
   padding-left: 1.25em;
}
.page-descr p.decore-rect::before {
   content: "";
   position: absolute;
   width: 0.75em;
   height: 0.75em;
   left: 0;
   top: 0.35em;
   background: var(--main);
}
@media screen and (max-width: 1120px) {
   .page-title {
      font-size: 3.5rem;
   }
}
@media screen and (max-width: 1024px) {
   .page-title {
      font-size: 3rem;
   }
   .page-header {
      margin-top: 4rem;
      margin-bottom: 4rem;
   }
   .page-header.has-back {
      margin-top: 3rem;
   }
   .iconed-title {
      grid-template-columns: 1fr 8rem;
   }
}
@media screen and (max-width: 664px) {
   .page-header.has-back {
      margin-top: 1.5rem;
   }
   .has-back .back-link {
      margin-bottom: 1.5rem;
   }
   .iconed-title {
      grid-template-columns: 1fr;
      row-gap: 1rem;
      margin-top: 2.5rem;
   }
   .page-title {
      font-size: 2.5rem;
   }
   .iconed-title .page-title {
      margin-top: 0.5rem;
      margin-bottom: 0;
   }
   .iconed-title .page-descr,
   .iconed-title .page-title {
      order: 2;
   }
   .header-icon {
      max-width: 10rem;
      padding: 1rem;
   }
}
@media screen and (max-width: 540px) {
   .page-header {
      margin-top: 3rem;
      margin-bottom: 2rem;
   }
   .page-title {
      font-size: 2.25rem;
   }
   .page-descr {
      font-size: 1.125rem;
   }
   .header-icon {
      max-width: 8rem;
      padding: 0.75rem;
   }
}
/* case */
.cases {
   margin-top: 7.5rem;
   margin-bottom: 9.25rem;
}
.cases-list > li {
   position: sticky;
   top: 5rem;
}
.case-link {
   position: relative;
   overflow: hidden;
   display: block;
   border-radius: 0.75rem;
}

.cases-list > li + li {
   margin-top: 2rem;
}
.case-title,
.case-descr,
.case-info .cat {
   color: white;
   position: relative;
   z-index: 2;
}
.case-info .cat {
   margin-top: 1.25rem;
}
.case-img.lazy-img {
   background: var(--black-100);
   width: 100%;
   height: 100%;
}
.case-img.lazy-img::before {
   padding-bottom: 38%;
   content: "";
   display: table;
   box-sizing: border-box;
   width: 0;
   height: 100%;
   outline: none;
   border: none;
}
.case-img img {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   object-fit: cover;
   object-position: 30% 50%;
   opacity: 0.5;
   transition: 600ms cubic-bezier(0.45, 0, 0.1, 0.9) 0ms;
   transition-property: transform;
	transform:translatez(0);
	isolation: isolate;	
}
.case-link:hover .case-img img {
   transform:translatez(0) scale(1.05);
}
.case-title {
   font-size: 2.325rem;
   line-height: 1.1;
   margin-bottom: 1.25rem;
   -webkit-line-clamp: 3;
}
.case-descr,.case-title{
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	display: -webkit-box;
}
.case-descr {
   font-weight: 400;
   line-height: 1.5;
   font-size: 1.125rem;
	-webkit-line-clamp: 3;
}
.case-cat {
   display: inline-flex;
   margin: 2rem 0 0 -0.5rem;
}
.case-cat li {
   margin: 0.5rem 0 0 0.5rem;
   font-size: 0.875rem;
   line-height: 1;
   padding: 0.375rem 0.75rem;
   background: rgba(255, 255, 255, 0.3);
   border-radius: 2rem;
}
.case-info {
   padding: 4rem;
   max-width: 56.25rem;
   position: absolute;
   left: 0;
   bottom: 0;
}
.case-link .btn {
   position: absolute;
   right: 4rem;
   bottom: 4rem;
   border: none;
   background: #fff;
   transform: scale(0);
   transition: 250ms ease-out;
   transition-property: transform;
}
.case-link:hover .btn {
   transform: scale(1);
}
@media screen and (max-width: 1124px) {
   .case-img.lazy-img::before {
      padding-bottom: 40%;
   }
   .case-info {
      padding: 3rem;
   }
}
@media screen and (max-width: 1024px){
	.cases {
		margin-top: 5rem;
		margin-bottom: 7rem;
	}
   .case-title {
      font-size: 2rem;
      line-height: 1.25;
   }
	.case-info {
      max-width: calc(100% - 6rem);
   }
	.case-img.lazy-img::before {
      padding-bottom: 50%;
   }
}
@media screen and (max-width: 900px) {
	.case-info {
      max-width: calc(100% - 4rem);
   }
   .case-info .cat {
      margin-top: 1rem;
   }
   .case-link .btn {
      right: 2rem;
   }
}
@media screen and (max-width: 780px) {
	.case-img.lazy-img::before {
      padding-bottom: 60%;
   }
}
@media screen and (max-width: 764px) {
   .case-title {
      font-size: 1.75rem;
      margin-bottom: 0.75rem;
   }
   .case-descr {
      font-size: 1rem;
   }
	.cases {
      margin-top: 4rem;
      margin-bottom: 5rem;
   }
}

@media screen and (max-width: 624px) {
   .case-info {
      padding: 2rem 1.25rem 2rem 1.25rem;
      max-width: 100%;
   }
   .case-link .btn {
      display: none;
   }
   .cases-list {
      margin: 0 -1.25rem;
   }
   .case-link {
      border-radius: 0;
   }
   .cases-list > li + li {
      margin-top: 1rem;
   }
   .case-img picture,
   .case-img img {
      opacity: 0.6;
   }
}
@media screen and (max-width: 520px) {
   .case-img.lazy-img::before {
      padding-bottom: 100%;
   }
   .case-title {
      font-size: 1.5rem;
      margin-bottom: 0.35rem;
   }
   .case-info {
      padding: 2rem 1.25rem 1.5rem 1.25rem;
      max-width: 100%;
   }
   .case-info .cat {
      margin-top: 0.75rem;
   }
   .service-logo li img {
      height: 1.65rem;
   }
   .service-logo {
      margin-left: -1rem;
   }
   .service-logo li {
      margin-left: 1rem;
   }
}
/* cases-alternate */
.service-alternate .cases .title-line{
	display:grid;
	grid-template-columns:1fr max-content;
	column-gap:1rem;
	align-items:start;
}
.service-alternate .cases .container-xl{
    max-width: 83.875rem;
}.cat {
   display: inline-flex;
   margin: 0rem 0 0 -0.5rem;
   flex-wrap: wrap;
}
.cat > li {
   margin: 0.5rem 0 0 0.5rem;
   line-height: 1;
}
.cat > li a,
.cat > li span {
   font-size: 0.875rem;
   padding: 0.375rem 0.75rem;
   border-radius: 2rem;
   font-weight: 500;
   display: block;
}
.cat-xl.cat > li a,
.cat-xl.cat > li span {
   padding: 0.5rem 1rem;
   font-size: 0.95rem;
}
.cat > li a,
.cat > li span {
   color: var(--black-100);
   background: rgba(48, 34, 52, 0.04);
}
.cat > li a {
   transition: 250ms ease-in;
   transition-property: background;
}
.cat > li a.active,
.cat > li a.active:hover {
   background: var(--main);
}
.cat > li a:hover {
   background: rgba(48, 34, 52, 0.09);
}
.cat.cat-light > li a,
.cat.cat-light > li span {
   background: rgba(255, 255, 255, 0.3);
   color: white;
}

.load-more {
   position: relative;
}
.load-more:after {
   padding-bottom: 100%;
   content: "";
   display: table;
   box-sizing: border-box;
   width: 0;
   height: 100%;
   outline: none;
   border: none;
}
.load-more {
   position: relative;
}
.load-more:after {
   padding-bottom: 100%;
   content: "";
   display: table;
   box-sizing: border-box;
   width: 0;
   height: 100%;
   outline: none;
   border: none;
}
.btn.load-more {
   padding: 1.75rem;
   position: relative;
   line-height: 1;
   font-weight: 500;
}
.load {
   margin: 6rem 0 6rem 0;
}
@media screen and (max-width: 1024px) {
   .load {
      margin: 4rem 0 4rem 0;
   }
}
@media screen and (max-width: 540px) {
   .load {
      margin: 2rem 0 4rem 0;
   }
}.page-cases .page-header {
   margin-bottom: 5rem;
}
.page-cases .cases {
   margin: 0 0 4rem 0;
}
.page-cases .blog {
   margin-top: 3rem;
}
@media screen and (max-width: 1024px) {
   .page-cases .page-header {
      margin: 4rem 0 4rem 0;
   }
}
@media screen and (max-width: 540px) {
   .page-cases .page-header {
      margin: 3rem 0 3rem 0;
   }
   .page-cases .load {
      margin-top: 3rem;
   }
}
.no-found-content {
   min-height: calc(100vh - 4.375rem);
   padding: 2rem 1.25rem;
   flex-direction: column;
	margin-bottom:-8rem;
}
.on-page.no-found-content{
	min-height: auto;
	margin-bottom:0;
}
@media screen and (max-width: 1024px) {
   .no-found-content {
      padding: 3rem 1.25rem;
   }
}
@media screen and (max-width: 540px) {
	.no-found-content {
     margin-bottom:-6rem;
   }
}
.no-found-img {
   font-size: 10rem;
}
.no-found-img img {
   height: 1em;
   width: auto;
}
.pac {
   width: 1em;
   height: 1em;
   border-radius: 100%;
   position: relative;
   overflow: hidden;
   margin: 0 1rem 0 0.5rem;
   transform: translate3d(0, 0, 0);
}
.pac::before,
.pac::after {
   content: "";
   position: absolute;
   width: 120%;
   left: -10%;
   height: 70%;
   background: var(--main);
   transform-origin: center center;
   animation: topHalf 850ms linear alternate infinite;
}
.pac::before {
   top: -20%;
}
.pac::after {
   bottom: -20%;
   animation: bottomHalf 850ms linear alternate infinite;
}
@keyframes topHalf {
   0% {
      transform: rotate(-20deg);
   }
   100% {
      transform: rotate(0deg);
   }
}

@keyframes bottomHalf {
   0% {
      transform: rotate(20deg);
   }
   100% {
      transform: rotate(0deg);
   }
}

.on-page .pac {
   margin: 0 0.25em 0 0;
   z-index: 5;
}
.on-page .no-found-img{
   position: relative;
   font-size: 9rem;
}
.dots-line {
   position: absolute;
   width: 0.125em;
   height: 0.125em;
   background: var(--black-80);
   border-radius: 100%;
   right: -0.25em;
   z-index: 1;
   animation: food 1700ms linear infinite;
}
@keyframes food {
   0% {
      transform: translateX(0);
      opacity: 0;
   }
   20% {
      opacity: 1;
   }
   65% {
      transform: translateX(-1.25em);
   }
   100% {
      opacity: 0;
      transform: translateX(-1.25em);
   }
}

.no-found-title {
   margin-top: 3rem;
}
.no-found-title,
.no-found-descr {
   text-align: center;
   max-width: 24rem;
}
.no-found-descr {
   margin-bottom: 2rem;
}
@media screen and (max-width: 1024px) {
   .no-found-title {
      font-size: 1.75rem;
   }
}
@media screen and (max-width: 540px) {
   .no-found-img {
      font-size: 7rem;
   }
   .no-found-title {
      font-size: 1.5rem;
      margin-top: 2rem;
	   margin-bottom:0.25rem;
   }
}
/* cta */
.cta-content {
   flex-direction: column;
}
.cta-btn {
   padding: 1.75rem;
   position: relative;
   line-height: 1;
   font-weight: 500;
}
.cta-btn:after {
   content: "";
   position: absolute;
   left: 0;
   top: 0;
   width: 100%;
   height: 100%;
   transform: scale(1);
   transition: 250ms ease-in-out;
   transition-property: transform;
   background: var(--main);
   border-radius: 100%;
}
.cta-btn span {
   position: relative;
   z-index: 2;
}
.cta-btn:hover:after {
   transform: scale(1.15);
}
.cta-btn,
.cta-sub {
   text-align: center;
}
.cta-btn:before {
   padding-bottom: 100%;
   content: "";
   display: table;
   box-sizing: border-box;
   width: 0;
   height: 100%;
   outline: none;
   border: none;
}
.cta-sub {
   font-size: 0.875rem;
   color: var(--black-80);
   margin-top: 1.5rem;
   line-height: 1.5;
   max-width: 15.875rem;
}
/* cta-section */
.cta-section {
   margin: 6rem 0;
}
.cta-section .cta-content {
   background: var(--main-lighten);
   border-radius: 1rem;
   padding: 2.5rem 4rem;
   display: grid;
   grid-template-columns: 1.5fr 1fr;
   align-items: center;
   column-gap: 1.5rem;
}
.cta-section .cta-button {
   flex-direction: column;
}
.cta-section .cta-info p:last-child {
   margin-bottom: 0;
}
.cta-section .cta-content{
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 2537 1455'%3E%3Cpath d='M523 859h282l101.8 128 172.3 195.7 224.5 271.5H982.5l-159.3-185.4-107-154L523 859Zm778-172.3c0 148.8-29 274.3-86.8 376.6-58 101.8-136 179-234.3 231.7-98.4 52.2-208 78.3-329 78.3-121.8 0-231.9-26.3-330.2-79-97.9-53-175.8-130.5-233.6-232.3C29.6 959.7.9 834.6.9 686.7c0-148.8 28.7-274 86.2-375.9 57.8-102.2 135.7-179.5 233.6-231.7C419 26.5 529.1.1 651 .1c121 0 230.6 26.4 329 79 98.3 52.2 176.4 129.5 234.3 231.7 57.8 101.8 86.8 227.1 86.8 376Zm-373.4 0c0-80-10.6-147.5-32-202.3-20.8-55.3-52-97-93.3-125.3-40.9-28.7-91.3-43-151.4-43-60 0-110.7 14.3-152 43-41 28.3-72 70-93.3 125.3-21 54.8-31.4 122.3-31.4 202.3 0 80 10.5 147.7 31.4 203 21.3 54.8 52.4 96.6 93.3 125.3 41.3 28.3 92 42.4 152 42.4s110.5-14.1 151.4-42.4c41.4-28.7 72.5-70.5 93.4-125.3 21.3-55.3 32-123 32-203Zm622.1 668.3h-391.6L1599.3 18.4h496L2536.5 1355h-391.6l-292.4-968.5h-10.4L1549.7 1355Zm-73.1-527.3h736.2v271.5h-736.2V827.7Z' fill='%23FFF4E2'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-size:200%;
	background-position:center center;
}
@media screen and (max-width: 1024px) {
   .cta-section .cta-content {
      padding: 2.25rem 2.5rem;
   }
}
@media screen and (max-width: 768px) {
   .cta-section .cta-content {
      grid-template-columns: 1fr;
      row-gap: 2rem;
   }
	.cta-section .cta-content{
	background-size:270%;

}
}
@media screen and (max-width: 540px) {
   .cta-section .cta-content {
      margin: 0 -1.25rem 0 -1.25rem;
      padding: 2.25rem 1.25rem;
   }
   .cta-section {
      margin: 4rem 0;
   }
}
/* tgch */
.tgch-content {
   border-radius: 0.875rem;
   background-size: cover;
   background-position: left center;
   display: grid;
   align-items: end;
   grid-template-columns: 2fr 1.25fr;
   column-gap: 3rem;
   padding-right: 2rem;
   margin-top: 12rem;
   margin-bottom: -4rem;
}
.tgch-info {
   flex-direction: column;
   align-items: flex-start;
   padding: 2rem 0 2.5rem 4rem;
}
.tgch-info > * {
   color: white;
   max-width: 36rem;
}
.tgch-title {
   font-size: 2.5rem;
   line-height: 1.25;
}
.tgch-img {
   margin-top: -10%;
   overflow: hidden;
}
.tgch-img img {
   transform: translate(0, 7%);
   transition: 300ms ease-out;
   transition-property: transform;
}
.tgch-content:hover .tgch-img img {
   transform: translate(0, 0);
}
.tgch-info .btn {
   margin-top: 0.75rem;
}
@media screen and (max-width: 1024px) {
   .tgch-title {
      font-size: 2rem;
   }
   .tgch-info {
      padding: 2rem 0 2.5rem 2.5rem;
   }
   .tgch-content {
      grid-template-columns: 2fr 1.5fr;
      column-gap: 2rem;
      padding-right: 0rem;
      margin-top: 9rem;
   }
   .tgch-img {
      margin-top: 0;
   }
}
@media screen and (max-width: 768px) {
   .tgch-content {
      grid-template-columns: 2fr 2fr;
      column-gap: 0rem;
   }
}
@media screen and (max-width: 664px) {
   .tgch .container {
      padding: 0;
   }
}
@media screen and (max-width: 624px) {
   .tgch-content {
      grid-template-columns: 1fr;
      row-gap: 1rem;
      margin-top: 5rem;
      margin-bottom: -3rem;
   }
   .tgch-img img {
      max-width: 24rem;
   }
   .tgch-info {
      padding: 1.5rem 1.25rem 1rem 1.25rem;
   }
   .tgch-title {
      font-size: 1.75rem;
   }
}/* footer */
.footer {
   padding-top: 4rem;
   margin-top: 8rem;
}
.footer-cta .cta {
   display: flex;
   justify-content: flex-end;
   z-index: 4;
   position: relative;
}
.footer-cta {
   position: relative;
   margin: -4rem 0 -4.25rem 0;
}
.footer-cta:after {
   content: "";
   position: absolute;
   width: calc(100% - 4rem);
   height: 1px;
   top: 50%;
   left: 0;
   transform: translate(0, -2rem);
   background: var(--gray-50);
   z-index: 1;
}
.footer-header {
   line-height: 1.2;
   margin-bottom: 3.25rem;
}
.footer-title {
   font-size: 3rem;
}
.contacts-label {
   font-size: 0.775rem;
   color: var(--black-100);
   display: block;
   margin-bottom: 0.25rem;
}
.contacts-list a {
   display: block;
   width: max-content;
}
.mail a {
   font-size: 2.25rem;
}
.mail {
   margin-bottom: 2.5rem;
}
.phones,
.s_links,
.footer-address,
.only-contacts .mail {
   margin-bottom: 2rem;
}
.adv-address.footer-address {
   margin-bottom: 1rem;
}
.phones a,
.footer-address p {
   font-size: 1.25rem;
}
.adv-address.footer-address p {
   font-size: 1rem;
}
.adv-address.footer-address p + p {
   margin-top: 0.35em;
}
.phones a + a {
   margin-top: 0.25rem;
}
.flip-container {
   display: block;
   overflow: hidden;
   line-height: 1.5em;
   height: 1.5em;
}
.flip-container span {
   display: block;
   transition: 450ms cubic-bezier(0.54, 0, 0.1, 1) 10ms;
   transition-property: transform;
}
.hover-flip:hover .flip-container span {
   transform: translate(0, -100%);
}
.hover-main {
   transition: 350ms cubic-bezier(0.54, 0, 0.1, 1);
   transition-property: color;
}
.hover-main:hover {
   color: var(--main-dark);
}
.footer-contacts {
   display: grid;
   grid-template-columns: 1fr;
   align-items: end;
   position: relative;
   z-index: 4;
}
.contacts-list {
   justify-self: start;
}
.s_links-links {
   justify-self: end;
}
.footer-s_link {
   margin-top: 0.5rem;
}
.s_links-links .contacts-label,
.s_link-name {
   display: none;
}
.contacts-list .s_link-link {
   display: block;
   width: 2.25rem;
   height: 2.25rem;
   transition: 250ms ease-out;
   transition-property: opacity;
}
.s_link-link img {
   font-size: 1px;
}
.s_link-link:hover {
   opacity: 0.65;
}
.s_link-link + .s_link-link {
   margin-left: 0.85rem;
}
.footer-docs ul {
   margin: -0.25rem 0 0 -0.5rem;
}
.footer-docs {
   margin-top: 5rem;
}
.footer-docs ul {
   display: inline-flex;
   flex-wrap: wrap;
}
.footer-docs ul li {
   margin: 0.25rem 0.5rem;
}
.footer-docs ul li a,
.copyright {
   color: var(--black-100);
}
.footer-docs ul li a {
   transition: 200ms ease-in;
   opacity: 0.65;
   transition-property: opacity;
}
.footer-docs ul li,
.copyright {
   font-size: 0.825rem;
   line-height: 1.25;
}
.footer-docs ul li a:hover {
   opacity: 1 !important;
}
.copyright {
   margin-top: 1rem;
   margin-bottom: 2rem;
}
.footer.footer-min {
   border-top: 1px solid var(--gray-25);
   margin-top: 0;
}
.footer-min .footer-docs {
   margin-top: 0rem;
}

@media screen and (min-width: 764px) {
   .only-contacts .contacts-list {
      display: grid;
      grid-template-columns: 1fr 1fr 1.75fr;
      width: 100%;
      column-gap: 2rem;
      align-items: start;
   }
   .only-contacts .contacts-list .mail {
      order: 3;
   }
   .only-contacts .contacts-list .phones {
      order: 2;
   }
   .only-contacts .footer-docs {
      margin-top: 2rem;
   }
}
@media screen and (max-width: 1024px) {
   .footer-header {
      margin-bottom: 2rem;
   }
   .footer-title {
      font-size: 2.25rem;
   }
   .footer-cta {
      margin-top: -2rem;
      margin-bottom: -4.25rem;
   }
   .mail a {
      font-size: 1.75rem;
   }
   .phones a,
   .footer-address p {
      font-size: 1rem;
   }
   .adv-address.footer-address p {
      font-size: 0.85rem;
   }
}
@media screen and (max-width: 800px) {
   .footer-s_link {
      justify-self: start;
   }
   .footer {
      border-top: 1px solid var(--gray-25);
   }
   .footer-cta {
      margin: 4rem 0 2.5rem 0;
      order: 2;
   }
   .footer-cta:after {
      display: none;
   }
   .footer-content {
      display: flex;
      flex-direction: column;
   }
   .footer-docs,
   .copyright {
      order: 3;
   }
   .footer-docs {
      margin-top: 0;
   }
   .footer-cta .cta {
      justify-content: center;
   }
}

@media screen and (max-width: 540px) {
   .phones {
      margin-bottom: 1.75rem;
   }
   .footer {
      padding-top: 2rem;
      margin-top: 6rem;
   }
   .footer-title {
      font-size: 2rem;
   }
   .mail {
      margin-bottom: 1.5rem;
   }
   .mail a {
      font-size: 1.5rem;
   }
   .footer-contacts {
      grid-template-columns: 1fr;
   }
   .s_links-links {
      justify-self: start;
   }
   .s_links-links .contacts-label {
      display: block;
   }
   .footer-address {
      margin-bottom: 2rem;
   }
   .s_link-name {
      display: block;
   }
   .contacts-list .s_link-link {
      width: auto;
      height: auto;
   }
   .s_link-link img {
      display: none;
   }
   .footer-cta {
      margin: 2.5rem 0;
   }
   .footer-s_link {
      display: inline-flex;
      flex-wrap: wrap;
      margin: -0.25rem -0.5rem;
   }
   .s_link-link + .s_link-link {
      margin-left: 0;
   }
   .footer-s_link .s_link-link {
      margin: 0.25rem 0.5rem;
      font-size: 0.95rem;
   }
}
