/* category
======================================= */
.category__inner {
  padding-bottom: 3.75em;
}
@media (max-width: 768px) {
  .category__inner {
    padding-bottom: 1.875em;
  }
}
.category__container {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
          box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.category__title {
  font-size: 1.5em;
  font-weight: 600;
  line-height: 1;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background-color: #566272;
  padding: 1.25rem 2.5rem 1.25rem 1.5rem;
  cursor: pointer;
}
@media (max-width: 768px) {
  .category__title {
    font-size: 1.25em;
    padding: 1.25rem 1rem 1.25rem 1.25rem;
  }
}
.category__title::after {
  content: "";
  display: block;
  width: 1.828125rem;
  height: 1.828125rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  background: url(../img/common/icons/circle_arrow-white.svg) no-repeat center center/auto;
}
.category__title.is-open::after {
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
}
.category__list {
  display: none;
  padding: 2.5rem 1.875rem 3.125rem;
}
@media (max-width: 768px) {
  .category__list {
    padding: 1.875rem 1.25rem;
  }
}
.category__item:nth-child(n+2) {
  margin-top: 3.125rem;
}
.category__item-form {
  border: 1px solid #aaa;
  padding: 0.46875rem 1rem 0.46875rem 1.5rem;
  border-radius: 10px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2.5rem;
}
.category__item-form input[type=text] {
  width: calc(100% - 2.5rem);
}
.category__item-form input[type=text]::-webkit-input-placeholder {
  color: #aaa;
}
.category__item-form input[type=text]::-moz-placeholder {
  color: #aaa;
}
.category__item-form input[type=text]:-ms-input-placeholder {
  color: #aaa;
}
.category__item-form input[type=text]::-ms-input-placeholder {
  color: #aaa;
}
.category__item-form input[type=text]::placeholder {
  color: #aaa;
}
.category__item-heading {
  font-size: 1.25em;
  line-height: 1;
  font-weight: 600;
  color: #EC4851;
  margin-bottom: 2.5rem;
}
@media (max-width: 768px) {
  .category__item-heading {
    font-size: 1em;
    margin-bottom: 1.5rem;
  }
}
.category__item-item.--cols {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media (max-width: 1024px) {
  .category__item-item.--cols {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.category__item-item:nth-child(n+2) {
  margin-top: 1.75rem;
}
.category__item-item-title {
  font-size: 1.25em;
  font-weight: 600;
  color: #566272;
  cursor: pointer;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.category__item-item-title:hover {
  opacity: 0.7;
}
@media (max-width: 768px) {
  .category__item-item-title {
    font-size: 1em;
  }
}
.category__item-item-title.--col {
  width: 15.625%;
  min-width: 140px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
@media (max-width: 1024px) {
  .category__item-item-title.--col {
    width: 100%;
    margin-bottom: 1rem;
  }
}
.category__item-item-radios {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25em;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media (max-width: 768px) {
  .category__item-item-radios {
    gap: 0.9375rem 0.625rem;
  }
}
.category__item-item-radios.--col {
  width: 82.8125%;
}
@media (max-width: 1024px) {
  .category__item-item-radios.--col {
    width: 100%;
  }
}
.category__item-item-radios label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border: 1px solid #aaa;
  border-radius: 5px;
  padding: 0.5625rem 1.5rem;
  cursor: pointer;
  line-height: 1;
  font-weight: 500;
  position: relative;
}
@media (max-width: 768px) {
  .category__item-item-radios label {
    font-size: 0.875em;
    padding: 0.5625rem 0.9375rem;
    border-radius: 30px;
  }
}
.category__item-item-radios label::before, .category__item-item-radios label::after {
  content: "";
  display: block;
}
@media (max-width: 768px) {
  .category__item-item-radios label::before, .category__item-item-radios label::after {
    display: none;
  }
}
.category__item-item-radios label::before {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #aaa;
}
@media (max-width: 768px) {
  .category__item-item-radios label::before {
    width: 20px;
    height: 20px;
  }
}
.category__item-item-radios label::after {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: calc(1.5rem + 12.5px);
  width: 12px;
  height: 12px;
  border-radius: 10px;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .category__item-item-radios label::after {
    left: calc(0.9375rem + 10px);
    width: 10px;
    height: 10px;
  }
}
.category__item-item-radios input[type=radio],
.category__item-item-radios input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
.category__item-item-radios input[type=radio]:checked + label,
.category__item-item-radios input[type=checkbox]:checked + label {
  background-color: #EC4851;
  color: #fff;
  font-weight: 600;
}
@media (max-width: 768px) {
  .category__item-item-radios input[type=radio]:checked + label,
  .category__item-item-radios input[type=checkbox]:checked + label {
    border: 1px solid #EC4851;
  }
}
.category__item-item-radios input[type=radio]:checked + label::before,
.category__item-item-radios input[type=checkbox]:checked + label::before {
  background-color: #EC4851;
  border: 2.5px solid #fff;
}
.category__item-item-radios input[type=radio]:checked + label::after,
.category__item-item-radios input[type=checkbox]:checked + label::after {
  opacity: 1;
}
.category__item-item-checkboxes {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25em;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
@media (max-width: 768px) {
  .category__item-item-checkboxes {
    gap: 0.9375rem 0.625rem;
  }
}
.category__item-item-checkboxes label {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border: 1px solid #aaa;
  border-radius: 5px;
  padding: 0.5625rem 1.5rem;
  cursor: pointer;
  line-height: 1;
  font-weight: 500;
  position: relative;
}
@media (max-width: 768px) {
  .category__item-item-checkboxes label {
    font-size: 0.875em;
    padding: 0.5625rem 0.9375rem;
  }
}
.category__item-item-checkboxes label::before, .category__item-item-checkboxes label::after {
  content: "";
  display: block;
}
.category__item-item-checkboxes label::before {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  border: 1px solid #aaa;
}
@media (max-width: 768px) {
  .category__item-item-checkboxes label::before {
    width: 20px;
    height: 20px;
  }
}
.category__item-item-checkboxes label::after {
  opacity: 0;
  position: absolute;
  top: 50%;
  left: calc(1.5rem + 12.5px);
  width: 12px;
  height: 12px;
  border-radius: 10px;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 768px) {
  .category__item-item-checkboxes label::after {
    left: calc(0.9375rem + 10px);
    width: 10px;
    height: 10px;
  }
}
.category__item-item-checkboxes input[type=checkbox] {
  opacity: 0;
  position: absolute;
}
.category__item-item-checkboxes input[type=checkbox]:checked + label {
  background-color: #EC4851;
  color: #fff;
  font-weight: 600;
}
.category__item-item-checkboxes input[type=checkbox]:checked + label::before {
  background-color: #EC4851;
  border: 2.5px solid #fff;
}
.category__item-item-checkboxes input[type=checkbox]:checked + label::after {
  opacity: 1;
}

.archive__title {
  margin-bottom: 5em;
}
.archive__inner {
  padding-top: 6.25em;
}
@media (max-width: 768px) {
  .archive__inner {
    padding-top: 2.5em;
  }
}
.archive__more {
  width: 175px;
  margin: 0 auto;
  display: block;
}
@media (max-width: 768px) {
  .archive__more > span {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.archive__more > span::after {
  display: none;
}

@media (max-width: 768px) {
  .works__inner {
    padding-left: 1em;
    padding-right: 1em;
  }
}
.works__title {
  margin-bottom: 2em;
}
.works__list {
  padding-top: 3.75em;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5rem 4%;
  margin-bottom: 7.5em;
}
@media (max-width: 1024px) {
  .works__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 3.125em 2.5em;
    padding-top: 1.875em;
  }
}
@media (max-width: 768px) {
  .works__list {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 3.125em;
  }
}

.news__item a {
  padding-top: 2.5em;
}
@media (max-width: 768px) {
  .news__item a {
    padding-top: 1em;
  }
}