:root {
  --lightblue: #addef6;
}
.page-wrapper > .row > div:last-child {
  border-right: none;
}
.page-header {
  height: 450px;
}
.box > div:first-child {
  display: flex;
  gap: 10px;
  overflow: hidden;
  margin-bottom: 1rem;
}
.box .title {
  display: flex;
  flex-direction: column;
  margin-top: auto;

  & span {
    font-size: calc(0.75vw + 16px);
    line-height: 1;
    position: relative;
    padding-bottom: 3rem;
  }
  & span::after {
    content: "";
    bottom: -1.35rem;
    position: relative;
    display: block;
    width: 50px;
    border-radius: 5px;
    height: 3px;
    background-color: var(--prime2);
  }
}
.box > div:first-child h2 {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 0;
}
/* .box .pic img {
  background-color: #f3f3f3;
  width: 100%;
  max-width: 120px;
} */
.page-content {
  background-color: transparent;
}
.colorful {
  margin-block: 4rem;
  font-size: calc(1.215vw + 16px);
  width: 100%;
}
.contact-info .mobile {
  display: flex;
}
.divider {
  height: 2px;
  background-color: var(--prime1);
  width: 70%;
  margin-bottom: 1rem;
}
.page-content-body-side {
  position: relative;
  padding-inline: 2.5rem;
  border-right: var(--lightblue) 1px solid;
}
.page-content-body-side::after {
  content: "";
  position: absolute;
  bottom: 0;
  height: 1px;
  width: 100%;
  background-color: var(--lightblue);
}
.page-content-body-side > div {
  position: relative;
}
.page-content-body-side > div:not(:first-of-type) {
  border-top: 1px solid var(--lightblue);
  padding-block: 2rem;
}

.page-content-body-side > div:not(.box) h2 {
  font-weight: 700;
  font-size: 2.15rem;
  margin-bottom: 1.2rem;
  margin: 0 0 2rem 0;
}
.colorful ~ div {
  margin-bottom: 1.5rem;
  font-size: 1.3rem;
  width: 100%;
}
.page-phonebook {
  width: 100%;
}
.page-content-body-side .box + div p {
  font-weight: 700;
  margin: 0;
  padding: 0;
}
.page-content-body-side .box + div p span {
  font-weight: bold;
  margin-left: 1rem;
  margin-bottom: 2rem;
  width: 47px;
  display: inline-flex;
}

.rich-content .btn-primary,
.rich-content a.btn-primary .rich-content .btn.btn-primary {
  background-color: var(--prime1);
  border-color: var(--prime1);
  border-radius: 50px;
  padding: 12px 20px;
  font-weight: 500;
  font-size: 1.2rem;
  margin: 1.5rem;
}

.form-category-group {
  background: #fff;
  border-right: none;
}

.page-content-body-side .icon {
  position: relative;
  height: 59px;
  width: 59px;
  z-index: 1;

  & img {
    width: 50px;
  }
}

.sub-pages-nav.with-icons a .icon img {
  width: 75px;
}
.sub-pages-nav.with-icons ul li {
  border: 2px solid var(--prime2);
}
.img-fluid.contact {
  display: block;
  max-width: 100px;
  height: 100px;
  object-fit: cover;
  object-position: center;
}

.magnificPopup-gallery a {
  border: none;
}

main[role="main"] {
  border-bottom: 1px solid var(--lightblue);
  height: 100%;
  margin-left: 2rem;
  & > .rich-content:first-of-type {
    padding-block: 1rem;

    & h2 {
      color: var(--prime1);
      font-size: calc(1.2vw + 16px);
      font-weight: 900;
    }
  }
}

.rich-content .faq {
  position: relative;
  border-radius: 0;
  border: none;
  border: none;
}
.rich-content .faq::after {
  content: "";
  position: absolute;
  bottom: -16px;
  height: 1px;
  width: 100%;
  right: 0;
  background-color: var(--lightblue);
}
.rich-content .faq:last-child::after {
  content: none;
}
.rich-content .faq-h2 {
  display: none;
}
.rich-content .faq-h3:before {
  content: "\f055";
  border: none;
  background: white;
  color: var(--prime1-light);
  top: 22px;
}
.rich-content .faq.opened .faq-h3:before {
  content: "\f057";
  color: var(--prime1-light);
  border: none;
}
.rich-content h3.faq-h3 {
  color: var(--prime1);
  font-weight: 700;
  font-size: calc(0.925vw + 16px);
}
.rich-content a:hover h3.faq-h3 {
  color: var(--prime1-light);
}
.rich-content .faq.opened h3.faq-h3 {
  background: transparent;
  color: var(--prime1);
}
.rich-content a:hover h3.faq-h3 {
  color: var(--prime1-light);
  background-color: transparent;
}

.faq ul li::marker {
  font-size: 2rem;
  color: var(--prime2);
}
.faq .answer {
  padding: 10px 0;
  font-size: 1.2rem;
}
.sub-pages-nav ul > li::after {
  content: none !important;
}
.sub-pages-nav.with-icons a {
  border-width: 2px;
}
.sub-pages-nav.with-icons a .icon {
  min-height: 70px;
  object-fit: contain;
}

.sub-pages-nav.with-icons ul {
  margin: 0;
  align-items: stretch;
}

.page-gallery-slick {
  & .slick-slide {
    margin-inline: 1rem;
  }
}

[dir="rtl"] .slick-next {
  left: -10px;
}
[dir="rtl"] .slick-prev {
  right: -10px;
}

@media (max-width: 991px) {
  .box .title {
    padding-top: 2rem;
  }
  .page-content-body-side {
    padding-inline: 0.5rem;
    border-right: none;
  }
  .page-content-body-side .icon {
    display: none;
    & img {
      display: none;
    }
  }
  .page-content-body-side::after {
    content: none;
  }
}

.page-phonebook {
  margin-top: 1.5rem;
  background-color: #fff;
  overflow: hidden;
  border-radius: 40px;
}
.phones .colorful {
  font-size: calc(1.1vw + 16px);
}
.phones .page-phonebook .phonebook .info {
  background: transparent;
  background-color: transparent;
}
.page-phonebook .phonebook .info,
.page-phonebook .phonebook.active {
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.phones .page-phonebook .phonebook.active {
  border-radius: 40px;
  border: 1px solid var(--prime1-light);
  overflow: hidden;
}

.page-phonebook .phonebook.active > h2 {
  background-color: var(--prime1-light);
  padding: 1.5rem;
  font-size: calc(0.35vw + 16px);
  font-weight: 700;
}
.page-phonebook .phonebook .info {
  padding: 0;
}
.page-phonebook .phonebook .info .sub-phonebook-categories {
  background-color: #fff;
  border-bottom-left-radius: 30px;
  border-bottom-right-radius: 30px;
}
.page-phonebook .phonebook .info > div {
  padding: 1rem;

  & hr {
    margin: 0;
    border-top: transparent;
  }

  &:nth-of-type(odd) {
    background-color: #f0fafe;
  }

  &:nth-of-type(odd):has(.page-phonebook-category) {
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
  }
  .page-phonebook-category {
    border: 1px solid var(--prime1-light);
    border-radius: 50;
    overflow: hidden;
  }
  .page-phonebook-category-body {
    border-color: transparent;
    padding: 0;

    & > div:nth-of-type(odd) {
      background-color: #f0fafe;
    }
    & > div {
      padding: 1rem;
    }
  }
}

.page-phonebook .phone .fa-stack {
  color: var(--prime1-light);
}

.page-phonebook .mobile .fa-stack {
  color: var(--prime1-light);
}

.page-phonebook .email .fa-stack {
  color: var(--prime1-light);
}

.page-phonebook .fax .fa-stack {
  color: var(--prime1-light);
}
