.widget, .widget * { box-sizing: border-box; }
.widget { margin: 50px 0; }
.widget__title {
  margin: 0;
  font-size: 28px;
  font-weight: 700;
  line-height: normal;
  color: #333;
}


.widget-page-title {
  margin: 10px 0;
  padding: 15px 25px;
  border-radius: 10px;
  background: #FFF;
}
.widget-page-title__title {
  text-transform: uppercase;
}
.widget-page-title__breadcrumbs {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 3px;
  margin-top: 5px;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: #207EB2;
}
.widget-page-title__breadcrumbs-item {
  text-decoration: none;
  color: currentColor;
  transition: color .2s ease-in-out;
}
.widget-page-title__breadcrumbs-item:hover { color: #F7BB00; }
.widget-page-title__breadcrumbs-item:not(:first-child)::before {
  content: '/';
  color: #207EB2;
}


.widget-ifns-okrugs {
  margin: 10px 0;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(7.5px);
}
.widget-ifns-okrugs__ifns,
.widget-ifns-okrugs__okrug { padding: 15px 25px 25px; }
.widget-ifns-okrugs__okrug {
  border-radius: 0 0 10px 10px;
  background: rgba(255, 255, 255, 0.90);
}
.widget-ifns-okrugs__title {
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: #333;
}
.widget-ifns-okrugs__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 10px;
}
.widget-ifns-okrugs__item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 7px;
  border-radius: 5px;
  border: 1px dashed #999;
  background: #FFF;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  text-transform: uppercase;
  text-decoration: none;
  text-align: center;
  color: #777;
  transition: color .2s ease-in-out;
}
.widget-ifns-okrugs__item--active {
  border-radius: 5px;
  border: 1px solid #207EB2;
  background: rgba(32, 126, 178, 0.10);
  color: #207EB2;
}


.widget-owner {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 60px;
}
.widget-owner__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.widget-owner__body {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-owner__title {
  font-size: 34px;
  line-height: 36px;
}
.widget-owner__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  color: #484848;
}
.widget-owner__cta-btn { width: 100%; }


.widget-trumps {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-trumps__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.widget-trumps__item {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  padding: 30px 25px;
  border-radius: 10px;
  border-top: 2px solid #F3B133;
  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(7.5px);
}
.widget-trumps__item-number {
  font-size: 34px;
  font-weight: 400;
  line-height: normal;
  color: #207EB2;
}
.widget-trumps__item-text {
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #333;
}


.widget-guarantee {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 70px;
  row-gap: 30px;
}
.widget-guarantee__image {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}
.widget-guarantee__text {
  margin-top: 20px;
  color: #484848;
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
}
.widget-guarantee__text p { margin-bottom: 20px;}
.widget-guarantee__text ul {
  display: flex;
  flex-direction: column;
  row-gap: 15px;
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #333;
}
.widget-guarantee__text ul li {
  position: relative;
  padding-left: 30px;
}
.widget-guarantee__text ul li::before {
  content: '';
  position: absolute;
  left: 0;
  display: inline-block;
  background-image: url('../img/listItem.png');
  background-size: cover;
  width: 24px;
  height: 25px;
}
.widget-guarantee__text b { color: #207EB2; }


.widget-map-with-addresses {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-map-with-addresses__map-container {
  padding: 10px;
  background-color: #fff;
}
.widget-map-with-addresses__map {
  height: 400px;
  background-color: #9fe6ff;
}


.widget-services {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-services__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
.widget-services__item {
  display: flex;
  align-items: center;
  column-gap: 15px;
  padding: 20px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.90);
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;
  color: #207EB2;
  text-decoration: none;
  transition: color .2s ease-in-out, transform .3s ease-in-out, box-shadow .3s ease-in-out;
}
.widget-services__item:hover {
  box-shadow: 0 5px 10px -5px #ababab;
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
}
.widget-services__item-ico {
  flex-shrink: 0;
  width: 52px;
  height: auto;
}
.widget-services__item:hover { color: #FFB901; }


.widget-about-us {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-about-us__text {
  font-size: 18px;
  font-weight: 400;
  line-height: 26px;
  color: #484848;
}
.widget-about-us__text p,
.widget-about-us__text blockquote { margin-bottom: 20px; }
.widget-about-us__text blockquote {
  padding-left: 20px;
  border-left: 6px solid #F3B133;
  font-size: 27px;
  font-weight: 400;
  line-height: 34px;
  color: #207EB2;
}
.widget-about-link-btn { width: 100%; }


.widget-partners {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-partners__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
.widget-partners__item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100px;
  padding: 30px 0;
  border-radius: 10px;
  border: 1px solid rgba(186, 186, 186, 0.40);
}


.widget-contacts {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.widget-contacts__container {
  display: grid;
  grid-template-columns: 1fr;
  padding: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.90);
}
.widget-contacts__info {
  align-self: center;
  padding: 50px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #333;
}
.widget-contacts__phone {
  font-size: 18px;
  font-weight: 700;
  line-height: 24px;
  color: #207EB2;
}
.widget-contacts__phone span { white-space: nowrap; }
.widget-contacts__email { margin-top: 20px; }
.widget-contacts__worktime { margin-top: 20px; }
.widget-contacts__map {
  height: 270px;
  background-color: #9fe6ff;
}


.widget-faq__items {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  margin-top: 20px;
}
.widget-faq__item {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.90);
  transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
}
.widget-faq__item:hover {
  box-shadow: 0 5px 10px -5px #ababab;
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
}
.widget-faq__item-question {
  display: flex;
  align-items: start;
  justify-content: space-between;
  margin: 0;
  padding: 20px 30px;
  border: none;
  background: transparent;
  font-size: 20px;
  font-weight: 400;
  line-height: 20px;
  color: #207EB2;
  text-align: left;
}
.widget-faq__item-question span { padding-right: 20px; }
.widget-faq__item-question img {
  position: relative;
  top: 4px;
  right: -20px;
  transition: transform .2s ease-in-out;
}
.widget-faq--collapsed .widget-faq__item-question { cursor: pointer; }
.widget-faq__item-answer {
  display: none;
  margin-top: -10px;
  padding: 0 30px 20px;
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #333;
  overflow: hidden;
}
.widget-faq__item--open .widget-faq__item-question img {
  transform: rotate(-180deg);
}
.widget-faq__item--open .widget-faq__item-answer {
  display: block;
}


.widget-offers-list { margin-top: 30px; }
.widget-offers-list__items {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.widget-offers-list__item {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  background: #fff;
  box-shadow: 0 2px 2px 0 rgba(186, 186, 186, 0.60);
  transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
}
.widget-offers-list__item:hover {
  box-shadow: 0 10px 20px -5px #ababab;
  -webkit-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  transform: translateY(-1px);
}
.widget-offers-list__item--cheap {
  background-color: #fff2c3;
}
.widget-offers-list__item-preview-container {
  position: relative;
  display: block;
  width: 100%;
  height: 210px;
  overflow: hidden;
}
.widget-offers-list__item-preview {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.widget-offers-list__item-info {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 15px;
}
.widget-offers-list__item-title {
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  color: #207EB2;
}
.widget-offers-list__item-title span {
  font-size: 22px;
  font-weight: 700;
}
.widget-offers-list__item-title a {
  color: currentColor;
  text-underline-offset: 4px;
  transition: color .2s ease-in-out;
}
.widget-offers-list__item-title a:hover { color: #F7BB00; }
.widget-offers-list__item-params {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.widget-offers-list__item-param {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px dashed #999;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
}
.widget-offers-list__item-param-name { color: #777; }
.widget-offers-list__item-param-value { color: #333; }
.widget-offers-list__item-price {
  font-size: 26px;
  font-weight: 400;
  line-height: 1.2;
  color: #333;
}
.widget-offers-list__item-price-month {
  font-size: 16px;
  color: #484848;
}
.widget-offers-list__item-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
}
.widget-offers-list__item-link {
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  color: #207EB2;
  text-decoration-line: underline;
  text-underline-offset: 2px;
  transition: color .2s ease-in-out;
}
.widget-offers-list__item-btn-order { width: 100%; }
.widget-offers-list__item-map { display: none; }
.widget-offers-list__item-bage--cheap,
.widget-offers-list__item-bage--nomass {
  position: absolute;
  top: -9px;
  left: -9px;
  pointer-events: none;
}
.widget-offers-list__btn-more {
  margin-top: 20px;
}


.widget-reviews__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 20px;
}
.widget-reviews__item {
  padding: 30px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.90);
  font-size: 16px;
  font-weight: 400;
  line-height: 24px;
  color: #333;
}
.widget-reviews__item-name { font-weight: 700; }
.widget-reviews__item-text { margin-top: 10px; }
.widget-reviews__item-rate {
  display: flex;
  align-items: center;
  justify-content: start;
  margin-top: 3px;
  transform: translateX(-2px);
}


.widget-html-content__body { margin-top: 20px; }
.widget-html-content__body * {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  color: #484848;
}
.widget-html-content__body h1 { font-size: 28px; }
.widget-html-content__body h2 { font-size: 26px; }
.widget-html-content__body h3 { font-size: 24px; }
.widget-html-content__body h4 { font-size: 22px; }
.widget-html-content__body h5 { font-size: 20px; }
.widget-html-content__body h6 { font-size: 18px; }
.widget-html-content__body p,
.widget-html-content__body ol,
.widget-html-content__body ul { margin-bottom: 20px; }
.widget-html-content__body ol,
.widget-html-content__body ul { list-style-position: inside; }


.pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 30px 0 0;
  padding: 0;
  list-style: none;
}
.pagination__item:not(.pagination__item--active):not(.pagination__item--prev):not(.pagination__item--next) { display: none; }
.pagination__item a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  border-radius: 5px;
  border: 1px solid #777;
  background: #fff;
  font-size: 22px;
  font-weight: 400;
  line-height: normal;
  text-decoration: none;
  color: #484848;
  transition: all .2s ease-in-out;
}
.pagination__item a:hover {
  border: 1px solid #128CEB;
  color: #128CEB;
}
.pagination__item--active a,
.pagination__item--active a:hover {
  border: 1px solid #128CEB;
  background: linear-gradient(0deg, #227DB5 0%, #48AFEE 100%);
  color: #fff;
}
.pagination__item--active { pointer-events: none; }
.pagination__item--disabled a {
  pointer-events: none;
  opacity: .5;
}


@media screen and (min-width: 1024px) {
  .widget { margin: 80px 0; }

  .widget-page-title,
  .widget-ifns-okrugs { margin: 10px 0; }

  .widget-ifns-okrugs__items { grid-template-columns: repeat(6, 1fr); }

  .widget-owner { grid-template-columns: repeat(2, 1fr); }
  .widget-owner__body {
    align-self: center;
    padding-right: 60px;
  }

  .widget-trumps__items { grid-template-columns: repeat(2, 1fr); }

  .widget-guarantee { grid-template-columns: 1fr 440px; }
  .widget-guarantee__image-container { order: 2; }

  .widget-services__items { grid-template-columns: repeat(2, 1fr); }

  .widget-about-link-btn { width: auto; }

  .widget-partners__items { grid-template-columns: repeat(4, 1fr); }

  .widget-contacts__container { grid-template-columns: repeat(2, 1fr); }

  .widget-offers-list { margin-top: 30px; }
  .widget-offers-list__item {
    grid-template-columns: 220px 1fr 165px;
    gap: 20px;
    padding: 12px;
  }
  .widget-offers-list__item-preview-container { height: auto; }
  .widget-offers-list__item-info { padding: 0 0 20px; }
  .widget-offers-list__item-actions {
    flex-direction: row;
    align-items: center;
    justify-content: start;
  }
  .widget-offers-list__item-btn-order { width: auto; }
  .widget-offers-list__item-map {
    display: block;
    position: relative;
    overflow: hidden;
  }
  .widget-offers-list__item-map img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
  }

  .widget-reviews__items { grid-template-columns: repeat(3, 1fr); }

  .pagination { justify-content: start; }
  .pagination__item:not(.pagination__item--active):not(.pagination__item--prev):not(.pagination__item--next) { display: block; }
}


@media screen and (min-width: 1521px) {
  .widget-ifns-okrugs__items { grid-template-columns: repeat(12, 1fr); }

  .widget-trumps__items { grid-template-columns: repeat(3, 1fr); }

  .widget-offers-list__item {
    grid-template-columns: 360px 1fr 165px;
    gap: 40px;
    padding: 12px;
  }
}
