:root {
  --c1: #000000;
  --c2: #464646;
  --c3: #3862ED;
  --c4: #EAEAEA;
  --animation1: all .15s ease-out;
  --radius1: 8px;
  --shadow1: 0px 2px 16px 0px rgba(34, 60, 80, 0.2);
}

body {
  font-family: 'Roboto';
  font-size: 16px;
  line-height: 24px;
  color: var(--c1);
  background: #FBFBFB;
  &.loading_body {
    position: relative;
    opacity: 0.5;

    &:after {
      content: '';
      display: block;
      position: fixed;
      z-index: 400;
      left: auto;
      top: 0;
      width: 100%;
      height: 100vh;
      background: url('img/loader_spin.gif') no-repeat center;
    }
  }
}


.top_header {
  background: #fff;
  border-bottom: 1px #ddd solid;

  &_content {
    height: 45px;
    display: flex;
    align-content: center;
    justify-content: space-between;
  }

  // bitrix:menu in top_header_menu
}


.site_header {
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: space-between;

  &_logo {
    width: 25%;

    img {
    }
  }

  &_content {
    display: flex;
    justify-content: space-between;
    flex: 1;
    padding-left: 4px;

    &_search {
      flex: 1;
      // search.title in search_title
    }

    &_phone {
      display: flex;
      flex-direction: column;
      padding: 0px 30px;

      a {
        color: var(--c1);
        font-weight: bold;
        font-size: 16px;
        text-decoration: none;
        transition: var(--animation1);

        &:hover {
          color: var(--c3);
        }
      }

      button {
        color: var(--c3);
        background: none;
        padding: 0;
        border: none;
        font-size: 13px;
        text-align: left;
      }
    }

    &_user {
      display: flex;
      justify-content: space-between;
      width: 200px;

      &_link {
        display: flex;
        position: relative;
        flex-direction: column;
        justify-content: center;
        color: #666;
        text-decoration: none;
        transition: var(--animation1);

        &:hover {
          color: var(--c3);
        }

        svg {
          width: 25px;
          height: 25px;
          display: block;
          margin: 0px auto;
        }

        i {
          position: absolute;
          width: 20px;
          height: 20px;
          text-align: center;
          font-style: normal;
          background: var(--c3);
          color: #ffffff;
          border-radius: 100%;
          font-size: 12px;
          line-height: 20px;
          top: -7px;
          right: 4px;
        }

        span {
          text-align: center;
          font-size: 12px;
        }
      }
    }
  }

}


.geo_position_set_city {
  // делаем свой компонент
  display: flex;
  align-items: center;

  svg {
    width: 13px;
    height: 16px;
    margin-right: 5px;
  }

  button {
    background: none;
    padding: 0;
    border: none;
    font-size: 13px;
  }

  span {
    color: var(--c3);
  }
}


.site_title_h1 {

  h1 {
    font-size: 32px;
    margin: 0;
    padding: 5px 0px 40px 0px;
  }
}

.site_footer {
  background: var(--c1);
  color: #ffffff;
  font-size: 15px;
  padding: 40px 0px;
  margin-top: 30px;

  &_paysystems {
    width: 100%;
    clear: both;

    img {
      margin-top: 40px;
    }
  }

  &_adress {
    margin-top: 15px;
    padding-left: 20px;
    font-style: normal;
  }

  &_socials {
    list-style: none;
    padding: 0;
    display: flex;
    justify-content: flex-end;
    margin: 10px 0px 0px 0px;

    li {
      margin-left: 10px;

      a {
        svg {
          width: 32px;
          height: 32px;
        }
      }
    }
  }
}

.site_footer_bottom {
  background: var(--c2);
  font-size: 13px;
  line-height: 21px;
  color: #C6C6C6;
  padding: 30px 0px;

  a {
    text-decoration: underline;
    color: #C6C6C6;
  }
}