.bp-container-fluid {
  width: 100%;
  font-family: "Roboto", sans-serif;

  p {
    margin-bottom: 0;
  }
}

.bp-container {
  max-width: 1700px;
  margin: 0 auto;
  width: 100%;
  font-family: "Roboto", sans-serif;

  p {
    margin-bottom: 0;
  }

  &.bp-container_min {
    max-width: 1670px;

    .bp-col {
      padding: 0 15px;
    }
  }

  &.bp-fix-width-lot {
    //padding: 0;
  }
}

.gn-navbar {
  .navbar-advpanel {
    background-color: #fff;
  }
}

.bp-container,
.bp-container-fluid {
  padding: 0 15px;

  .bp-row {
    margin-right: -15px;
    margin-left: -15px;

    .bp-col {
      //padding: 0 15px;
      max-width: 100%;
      flex-basis: 100%;

      &.bp-basis-33 {
        flex-basis: 33.3333%;
      }
      &.bp-basis-66 {
        flex-basis: 66.3333%;
      }
      &.bp-basis-25 {
        flex-basis: 25%;
      }
      &.bp-basis-50 {
        flex-basis: 50%;
      }
      &.bp-basis-75 {
        flex-basis: 75%;
      }
    }

    &.bp-fix-width-lot {
      //margin: 0 -45px;
      //width: 100%;
    }

    &.bp-no-margin {
      margin-right: 0;
      margin-left: 0;
    }
  }
}

.hidden {
  display: none !important;
}

.bp-row {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;

  .bp-col {
    max-width: 100%;
    flex-basis: 100%;

    &.bp-basis-33 {
      flex-basis: 33.3333%;
    }
    &.bp-basis-66 {
      flex-basis: 66.3333%;
    }
    &.bp-basis-25 {
      flex-basis: 25%;
    }
    &.bp-basis-50 {
      flex-basis: 75%;
    }
    &.bp-basis-75 {
      flex-basis: 75%;
    }
    &.bp-basis-100 {
      flex-basis: 100%;
    }
  }

  &.bp-nowrap {
    flex-wrap: nowrap;
  }

  &.bp-justify-between {
    justify-content: space-between;
  }

  &.bp-justify-center {
    justify-content: center;
  }

  &.bp-end {
    justify-content: flex-end;
  }

  &.bp-start {
    justify-content: flex-start;
  }

  &.bp-center {
    justify-content: center;
  }

  .bp-gap-1 {
    gap: 1rem;
  }
}

.bp-d-flex {
  display: flex;
  justify-content: flex-start;
  flex-grow: 1;

  &.bp-f-nowrap {
    flex-wrap: nowrap !important;
  }

  &.bp-f-wrap {
    flex-wrap: wrap;
  }

  &.bp-f-between {
    justify-content: space-between;
  }

  &.bp-f-around {
    justify-content: space-around;
  }

  &.bp-f-align-center {
    align-items: center;
  }

  &.bp-f-content-center {
    align-content: center;
  }

  &.bp-f-start {
    justify-content: flex-start;
  }

  &.bp-f-end {
    justify-content: flex-end;
  }

  &.bp-f-item-start {
    align-items: flex-start;
  }

  &.bp-f-item-end {
    align-items: flex-end;
  }

  &.bp-f-item-center {
    align-items: center;
  }

  &.bp-f-center {
    justify-content: center;

    &.bp-from {
      margin: 0 auto;
    }
  }

  &.bp-f-index-0 {
    order: 0;
  }

  &.bp-f-index-1 {
    order: 1;
  }

  &.bp-f-index-2 {
    order: 2;
  }

  &.bp-f-w-100 {
    flex-basis: 100%;
  }

  &.bp-gap-1 {
    gap: 1rem;
  }

  &.bp-gap-2 {
    gap: 2rem;
  }
}

.bp-flex-gap-4 {
  gap: 4px;
}

.bp-flex-gap-10 {
  gap: 10px;
}

.bp-row,
.bp-d-flex {
  .bp-ml-auto {
    margin-left: auto;
  }

  .bp-mr-auto {
    margin-right: auto;
  }
}

.bp-w-100 {
  width: 100%;
}

.bs-loader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100vh;
  width: 100vw;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 999;

  &::before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    top: 20%;

    border: 8px solid rgba(255, 255, 255, 0);
    border-top: 8px solid var(--main-bg-color, #003f91);
    border-radius: 50%;
    animation: spin 2s linear infinite;
    position: absolute;
    left: calc(50% - 25px);
    transform: translateX(-50%);
  }
}

.bs-loader-fill {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 999;

  &::before {
    content: "";
    display: inline-block;
    width: 50px;
    height: 50px;
    top: 45%;

    border: 8px solid rgba(255, 255, 255, 0);
    border-top: 8px solid var(--main-bg-color, #003f91);
    border-radius: 50%;
    animation: spin 2s linear infinite;
    position: absolute;
    left: calc(50% - 25px);
    transform: translateX(-50%);
  }
}

.bs-loader-small {
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 999;
  display: block;
  flex-basis: 100%;
  margin-bottom: 30px;

  &::before {
    content: "";
    width: 50px;
    height: 50px;
    border: 8px solid rgba(255, 255, 255, 0);
    border-top: 8px solid var(--main-bg-color, #003f91);
    border-radius: 50%;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    position: relative;
    left: calc(50% - 25px);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    flex-basis: 100%;
  }
}

.bs-loader-section {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  z-index: 999;

  &::before {
    content: '';
    display: block;
    width: 50px;
    height: 50px;
    top: 45%;

    border: 8px solid rgba(255, 255, 255, 0);
    border-top: 8px solid var(--main-bg-color, #003f91);
    border-radius: 50%;
    animation: spin 2s linear infinite;

    position: sticky;
    text-align: center;
    margin: 0 auto;
    left: 0;
    right: 0;
  }
}

.loader-container {
  position: relative;
}

.bp-notice-block {
  align-items: center;
  gap: 0.5rem;
}

#bp-notice-block {
  a {
    color: #000;
  }
}

.bp-required {
  color: $red;
  margin: 0 .2rem;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.bp-text-red,
p.bp-text-red {
  color: red;
}

.bp-text-green,
p.bp-text-green {
  color: green;
}

.bp-text-grey,
p.bp-text-grey {
  color: #7a838f;
}

.bp-bg-red {
  background-color: red !important;
}

.bp-bg-green {
  background-color: green !important;
}

.bp-bg-blue {
  background-color: #18428e !important;
}

.bp-p-0 {
  padding: 0 !important;
}

.bp-pb-0 {
  padding-bottom: 0 !important;
}

.bp-pb-15 {
  padding-bottom: 15px !important;
}

.bp-pt-0 {
  padding-top: 0 !important;
}

.bp-px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.bp-px-1 {
  padding-left: 0.5rem !important;
  padding-right: 0.5rem !important;
}

.bp-px-2 {
  padding-left: 1rem !important;
  padding-right: 1rem !important;
}

.bp-px-3 {
  padding-left: 1.5rem !important;
  padding-right: 1.5rem !important;
}

.bp-px-10 {
  padding-left: 10% !important;
  padding-right: 10% !important;
}

.bp-px-15 {
  padding-left: 15% !important;
  padding-right: 15% !important;
}

.bp-mb-0 {
  margin-bottom: 0 !important;
}

.bp-mr-10 {
  margin-right: 10px !important;
}

.bp-mb-10 {
  margin-bottom: 10px !important;
}

.bp-mt-10 {
  margin-top: 10px !important;
}

.bp-mb-15 {
  margin-bottom: 15px !important;
}

.bp-mb-20 {
  margin-bottom: 20px !important;
}

.bp-mb-25 {
  margin-bottom: 25px !important;
}

.bp-mb-30 {
  margin-bottom: 30px !important;
}

.bp-mb-3 {
  margin-bottom: 3rem !important;
}

.bp-mt-3 {
  margin-top: 3rem !important;
}

.bp-mb-4 {
  margin-bottom: 4rem !important;
}

.bp-mt-4 {
  margin-top: 4rem !important;
}

.bp-mt-35 {
  margin-top: 35px;
}

.bp-mt-n-35 {
  margin-top: -35px;
}

.bp-text-center {
  text-align: center;
}

.bp-lh-28 {
  line-height: 28px;
}

.bp-text-strong {
  font-weight: 700 !important;
}

.bp-text-small {
  font-size: 0.7em !important;
}

.bp-text-right {
  text-align: right;
  justify-content: flex-end;
}

.bp-text-left {
  text-align: left;
  justify-content: flex-start;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.user_nav {
  .menu {
    .bp-login-link {
      display: flex;
      align-items: center;
      text-decoration: none;

      &:hover {
        span {
          color: #f37725;
        }
      }

      span {
        line-height: 20px;
        display: inline-block;
        margin-left: 5px;
        color: #1f3042;
      }
    }
  }
}

.bp-main-container {
  margin-bottom: 30px;

  .bp-content__text {
    background-color: red;
    color: white;
    font-weight: bold;
    padding: 8px 0;
    font-size: 15px;
    margin-bottom: 0;

    p {
      margin-bottom: 0;
    }
  }
}

.bp-padding-text {
  padding: 0 15px;
}

.bp-table {
  margin-bottom: 20px;
  border: 1px solid #ddd;

  .bp-method-row {
    > td {
      &:last-child {
        justify-content: center;
        display: flex;
      }
    }
  }

  tbody {
    tr {
      &:nth-of-type(odd) {
        background-color: #f9f9f9;

        td {
          background-color: #f1f1f1;
        }
      }

      &:hover {
        background-color: #f5f5f5;
      }
    }

    th {
      border: 1px solid #ddd;
      padding: 8px;
      line-height: 1.42857143;
      vertical-align: top;
    }

    td {
      padding: 8px;
      line-height: 1.42857143;
      vertical-align: top;
      border: 1px solid #ddd;
    }
  }
}

.menu.user-is-authorize .wrpRegisterLink {
  display: none;
}

.user_nav .menu .wrpLoginLink {
  margin-right: 3px;
}

.user_nav .menu .wrpRegisterLink {
  margin-left: 3px;
  position: relative;
}

.user_nav .menu .wrpRegisterLink::before {
  content: "";
  position: absolute;
  left: -1px;
  top: 44%;
  transform: translateY(-50%);
  display: block;
  height: 100%;
  width: 1px;
  background-color: #000000;
  max-height: 22px;
}
