/*!
 * MF-header v1.0.0
 * Copyright 2023 | MF-header | https://malfi.art/
 * Licensed under Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0)
 */

 header {
  z-index: 10;
}

.header-style-2 {
  background: #fff;
  box-shadow: rgb(0 0 0 / 1%) 0px 2px 5px 0px, rgb(0 0 0 / 3%) 0px 5px 20px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  transition: all .2s ease-in-out;
}

.header-style-2+main {
  padding-top: 80px;
}

@media (min-width: 1024px) {
  .header-style-2+main {
    padding-top: 100px;
  }

  .header-main .logo {
    transition: all .2s ease-in-out
  }

}

.header-menu .logo img {
  height: 74px;
  transition: all .2s ease-in-out;
}

.header-main .header-menu>.ico-calculator {
  font-size: 1.875rem;
  width: 38px;
  height: 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.arrow-bottom-s:after,
.arrow-bottom-s:before {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 20px;
  margin: auto;
  height: 12px;
  width: 2px;
  transform: rotate(45deg);
  background-color: #222;
  pointer-event: none;
  transition: all .2s ease-in-out
}

.arrow-bottom-s:before,
.arrow-bottom-s:before {
  transform: rotate(135deg);
  right: 23px;
}

.arrow-bottom-s:after,
.arrow-bottom-s:after {
  right: 15px;
}

@media (max-width: 767px) {
  .header-top {
    display: none;
  }
}

@media (max-width: 1023px) {
  .menu_active header {
    z-index: 91;
  }

  .header-main .header-menu>.button {
    display: none;
  }

  .header-menu {
    position: relative;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    padding-top: .25rem;
    padding-bottom: .25rem;
    height: 80px;
    transition: all .15s ease-in-out;
  }

  .page-scrolled .header-menu {
    height: 60px;
  }
  .menu-main {
    position: absolute;
    top: 100%;
    left: 0;
    transition: all .2s ease-in-out;
    transform: translateX(-110%);
    width: calc(100% + 30px);
    height: calc(100vh - 70px);
    background: #fff;
    /* padding-top: 10px; */
    padding-bottom: 20px;
    border-top: solid 1px #ddd;
  }

  .menu_active .menu-main {
    transform: translateX(-15px);
    overflow: auto;
  }

  .header-main .mobile-menu {
    display: flex;
    width: 38px;
    height: 38px;
    min-width: 38px;
    align-items: center;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
  }

  .mobile-menu-btn {
    height: 2px;
    width: 24px;
    border-radius: 10px;
    background-color: #222;
    position: relative;
    transition: all 0.1s ease-in-out;
  }

  .mobile-menu-btn:after,
  .mobile-menu-btn:before {
    height: 2px;
    border-radius: 10px;
    background-color: #222;
    position: absolute;
    display: block;
    content: "";
    transition: all 0.2s ease-in-out;
  }

  .mobile-menu-btn:before {
    width: 30px;
  }

  .mobile-menu-btn:after {
    width: 18px;
  }

  .mobile-menu-btn:after {
    top: -8px;
    left: 0;
  }

  .mobile-menu-btn:before {
    top: 8px;
    left: 0;
  }

  .menu_active .mobile-menu-btn {
    background-color: transparent;
  }

  .menu_active .mobile-menu-btn:before {
    transform: rotate3d(0, 0, 1, 45deg);
    width: 27px;
    left: 3px;
    top: -9px;
    transform-origin: 0.7px center;
  }

  .menu_active .mobile-menu-btn:after {
    transform: rotate3d(0, 0, 1, -45deg);
    width: 27px;
    left: 3px;
    top: 9px;
    transform-origin: 0.7px center;
  }

  .menu-main ul li>ul {
    display: none;
  }

  .menu-main ul li>ul {
    display: none;
  }

  .menu-main li {
    font-size: 1.25rem;
  }

  .menu-main li>a {
    color: #222;
    padding: 16px 0;
    font-weight: 400;
  }

  .menu-main ul ul li {
    font-size: .913rem;
    margin-bottom: 0;
  }

  .menu-main ul>li>ul a {
    padding: 5px 0;
  }

  .menu-main>ul>li>a {
    font-weight: 600;
  }

  .menu-main ul li>a {
    position: relative;
    display: block;
  }

  .menu-main>ul>li {
    border-bottom: solid 1px #ddd;
    padding-left: 20px;
    padding-right: 20px;
    margin-bottom: 0;
  }

  .menu-item-has-children ul li:last-child {
    padding-bottom: 10px;
  }

  .menu-item-has-children>a>.arrow-bottom-s.open {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 40px;
  }

  .menu-item-has-children>a.active>.arrow-bottom-s:before,
  .menu-item-has-children>a.active>.arrow-bottom-s:before {
    transform: rotate(45deg)
  }

  .menu-item-has-children>a.active>.arrow-bottom-s:after,
  .menu-item-has-children>a.active>.arrow-bottom-s:after {
    transform: rotate(135deg)
  }

  .mobile-menu-contacts {
    padding-left: 20px;
    padding-right: 20px;
    padding-top: 30px;
  }

  .mobile-menu-contacts>a,
  .mobile-menu-contacts>.work-time,
  .mobile-menu-contacts>.address {
    display: flex;
    width: 100%;
    padding-bottom: 8px;
    font-size: 1.125rem;
    color: #222
  }

  .mobile-menu-contacts>.button {
    display: flex;
    width: 100%;
    margin-bottom: 20px;
    margin-top: 10px;
  }

  .mobile-menu-contacts .social {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2rem;
  }

  .mobile-menu-contacts [class*="ico-"] {
    padding-right: 8px;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .menu-main {
    width: 400px;
    height: calc(100vh - 70px);
  }

  .menu_active .menu-main {
    transform: translateX(-25px);
  }
}

@media (min-width: 768px) {
  .header-top {
    background: #f5f5f5;
    padding: 10px 0;
  }

  .header-top .container {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
  }

  .header-top .contacts a {
    color: #344352;
    padding-right: 12px;
    font-weight: 700;
  }

  .header-top .contacts a:hover {
    color: #de1e2d
  }

  .header-top .contacts a span {
    padding-right: 6px;
  }

  .header-top .social {
    display: flex;
    align-items: center;
  }

  .header-top .social a {
    color: #344352;
    font-size: 1.25rem;
    line-height: 1;
    display: inline-flex;
    height: 26px;
    width: 26px;
    align-items: center;
    justify-content: center;
  }

  .header-top .social a:hover {
    color: #de1e2d
  }

  .header-top .social a.ico-vk {
    font-size: 1.5rem;
    width: 28px;
    transform: translateY(1px);
  }

  .header-top .social a.ico-youtube {
    font-size: 1.625rem;
    width: 32px;
  }
}

@media (min-width: 1024px) {

  .mobile-menu-contacts,
  .header-main .header-menu>.ico-calculator,
  .menu-item-has-children .open.arrow-bottom-s,
  .mobile-menu {
    display: none;
  }

  .header-menu {
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: stretch;
    height: 100px;
    transition: all .15s ease-in-out;
  }

  .page-scrolled .header-menu {
    height: 70px;
  }

  .menu-main>ul {
    display: flex;
    width: 100%;
    height: 100%;
  }

  .header-menu ul li {
    position: relative
  }

  .header-menu ul li a+ul {
    position: absolute;
    padding: .5rem 2rem 1.5rem;
    width: auto;
    background-color: #fff;
    top: calc(100% - 1rem);
    left: calc(10px - 2rem);
    transform: translateY(0%);
    box-shadow: 0px 1px 3px rgb(0 0 0 / 5%), 0px 3px 7px rgb(0 0 0 / 5%), 0px 6px 14px rgb(0 0 0 / 7%);
    border-radius: 20px;
    display: none;
  }

  .header-menu ul li a+ul:before {
    display: block;
    content: "";
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: -.5rem;
    left: 2rem;
    background: #fff;
    transform: rotate(45deg);
    box-shadow: -2px -2px 6px -2px rgb(0 0 0 / 5%), -2px -2px 6px -2px rgb(0 0 0 / 5%);
  }

  .header-menu .menu-main>ul>li:first-child a+ul {
    column-count: 2;
  }

  .header-menu ul li:hover>ul {
    display: block !important
  }

  .menu-main li>a {
    color: #222;
  }

  .menu-main li>a:hover {
    color: #de1e2d;
  }

  .menu-main>ul>li {
    white-space: nowrap;
    height: 100%;
    display: flex;
    align-items: center;
    font-size: 1.125rem;
  }

  .menu-main>ul>li>a {
    display: flex;
    height: 100%;
    align-items: center;
    padding: 0 10px;
    font-weight: 700;
  }

  .menu-main>ul>li>ul>li>a {
    padding-top: 10px;
    display: block;
    font-size: 1rem;
  }

  .header-menu .button {
    align-self: center;
  }

  .header-top {
    padding: 12px 0;
  }

  .header-main .logo {
    align-self: center;
    margin-right: 0;
    font-size: 1.75rem;
    margin-left: 0;
  }
}

@media (min-width: 1200px) {
  .menu-main>ul>li>a {
    padding: 0 18px;
    font-size: 1.187rem;
  }

  .header-menu ul li a+ul {
    left: calc(18px - 2rem)
  }
}

header .logo {
  margin-right: auto;
  margin-left: 0rem;
  color: var(--color-hover-3);
  font-family: 'Mulish';
  font-weight: bold;
  font-size: 1.413rem;
}

@media (min-width:360px) {

  header .logo {
    margin-left: 1rem;
  }
}

@media (min-width:1024px) {
  .header-buttons {
    align-self: center;
  }
}



.submenu-mobile{
  padding-left: 20px;
  padding-right: 20px;
  text-align: center;
}
.submenu-mobile .button{
  margin-bottom: 1rem;
}
.submenu-mobile .platforms-link{
  justify-content:center
}