@font-face {
  font-family: 'Rubik';
  src: url('assets/fonts/Rubik-Regular.woff2');
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: 'Rubik';
  src: url('assets/fonts/Rubik-Medium.woff2');
  font-weight: 500;
  font-style: normal;
}


body {
  font-family: Rubik, sans-serif;
  color: #000000;
  margin: 0;
}

header {
  width: 100%;
  background-color: #EDF7FF;
  border-bottom: 1px solid #D9E1EE;

  .header_container {
    height: 5rem;
    margin: auto;
    max-width: 71.25rem;
    padding: 0 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;

    .header_menu {
      display: flex;
      align-items: center;
      font-size: 0.75rem;

      .header_menu_item {
        font-size: 0.75rem;
        font-weight: 500;
      }
      .logo {
        width: 9.375rem;
      }

      .phone {
        width: 7.5rem;
        position: relative;
        font-size: 0.75rem;
        padding: 1rem 0.25rem 1rem 0.75rem;
        font-weight: 400;
        color: #6D7986;
        display: flex;
        align-items: center;
        cursor: pointer;
        transition: max-height 0.3s ease-in-out;

        &.active .phoneArrow {
          transform: rotate(180deg);
          transition: opacity 0.35s ease, height 0.35s ease;
        }
      }
    }


    .phone.active .phoneList {
      opacity: 1;
      height: 84px;
    }

    .phoneList {
      position: absolute;
      width: 7.6rem;
      display: flex;
      top: 35px;
      left: -5px;
      opacity: 0;
      height: 0;
      overflow: hidden;
      transition: opacity 0.35s ease, height 0.35s ease;
      flex-direction: column;
      justify-content: flex-start;
      padding: 12px;
      background-color: #ffffff;
      background-clip: padding-box;
      border-radius: 10px;
      box-shadow: 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
    }

    .phoneList_item {
      padding: 7px 8px;
      color: #6D7986;
      text-decoration: none;
    }
  }
}

.contentHeader {
  width: 100%;
  background-color: #EDF7FF;

  .wrapper {
    margin: auto;
    max-width: 55rem;
    padding: 2.5rem 2rem;

  }

  .title {
    font-size: 1.5rem;
    font-weight: 500;
    margin: 0 0 1rem;
  }

  .description {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;

    p {
      font-size: 1rem;
      font-weight: 400;
      line-height: 100%;
      margin: 0 0 0.5rem 0;
    }
  }

  .filter {
    margin-top: 2.5rem;
    display: block;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;

    .filter_wrapper {
      width: 100%;
      height: 72px;
      display: inline-flex;
      justify-content: space-between;
      min-width: 700px;


      .container {
        position: relative;
        z-index: 1;
        width: 100%;
        display: flex;
        justify-content: space-between;
        border: 1px solid #0B1F35;

        .filter_btn {
          width: 25%;
          min-width: 140px;
          text-decoration: none;
          color: #0B1F35;
          font-size: 0.875rem;
          line-height: 1rem;
          display: flex;
          align-items: center;
          justify-content: center;
          background-color: transparent;
          transition: .1s step-end;
          position: relative;
          border-bottom: 3px solid transparent;

          &:after {
            content: "";
            position: absolute;
            height: 36px;
            right: 0;
            top: 0;
            border-right: 1px solid #000;
          }

          &:last-child:after {
            border-right: none;
          }

          &.active, &:hover {
            border-bottom: 3px solid #000;
          }
        }
      }
    }
  }

  a {
    color: #FF5B22;
  }
}

.contentBody {
  width: 100%;
  min-height: calc(100vh - 81px - 324px - 52px);

  .wrapper {
    margin: auto;
    max-width: 55rem;
    padding: 2.5rem 2rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;

    .itemList {
      width: 100%;
      display: flex;
      flex-direction: column;
      border-bottom: 1px solid #6D7986;
      padding-bottom: 1.5rem;

      &.active .itemHeder .arrow {
        transform: rotate(180deg);
        transition: opacity 0.35s ease, height 0.35s ease;
      }

      &.active .itemBody {
        max-height: 500px;
        opacity: 1;
      }


      .itemHeder {
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: center;
        cursor: pointer;

        .title {
          cursor: pointer;
          font-size: 1.125rem;
          font-weight: 500;
        }

        .arrow {
          width: 1.5rem;
          height: 1.5rem;
        }

      }

      .itemBody {
        display: flex;
        flex-direction: column;
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        transition: max-height .35s ease, opacity .35s ease;
        padding-top: 0.75rem;
        gap: 0.5rem;

        p {
          margin: 0;
        }

        a {
          display: flex;
          align-items: center;
          padding-top: 0.75rem;
          color: #FF5B22;
          text-decoration: none;

          img {
            margin-right: 0.25rem;
          }
        }
      }
    }
  }
}

footer {
  width: 100%;
  height: 3.25rem;
  background-color: #EDF7FF;
  border-top: 1px solid #D9E1EE;
  color: #6D7986;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

  .wrapper {
    margin: auto;
    max-width: 55rem;
    display: flex;
    font-size: 0.75rem;
  }
}

@media screen and (max-width: 765px) {
  .contentHeader .filter .wrapper {
    min-width: 860px;

    .container .filter_btn {
      min-width: 172px;
    }
  }

  .contentBody {
    min-height: calc(100vh - 81px - 339px - 52px);
  }
}

@media screen and (max-width: 375px) {
  header .header_container {
    padding: 0 1.25rem;
  }

  .content {
    padding: 2.5rem 1.25rem;

    .title {
      font-size: 1.375rem;
    }
  }

  footer {
    height: auto;
    width: auto;
    padding: 1.1875rem 1.25rem;
    align-self: flex-end;
  }

}

