/* Главная: текст помощи и фотография занимают общую строку. */
.home .ds-help-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
  align-items: stretch;
}
.home .ds-help-layout::before,
.home .ds-help-layout::after { display: none !important; }
.home .ds-help-layout > .columns {
  width: auto !important;
  float: none !important;
  min-width: 0;
}
.home .ds-help-heading { margin-bottom: 20px; }
.home .ds-help-heading .dfd-title { margin: 0; line-height: 1.16 !important; }
.home .ds-help-visual {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 26px 16px !important;
  background: #4a241b url("wp-content/uploads/2020/07/hand-4661763_380-min.jpg") center center / cover no-repeat !important;
  box-sizing: border-box;
}
.home .ds-help-visual > .wpb_wrapper { width: 100%; }
.home .ds-help-visual .vc_custom_1593798178447 {
  background: transparent !important;
  box-shadow: none !important;
}
.home .ds-help-visual .dfd-spacer-module { display: none !important; }

/* Главная: карта и карточка контактов и материалов. */
.ds-home-contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1.22fr);
  gap: 22px;
  align-items: stretch;
}
.ds-home-contact-layout::before,
.ds-home-contact-layout::after { display: none !important; }
.ds-home-contact-layout > .columns {
  width: auto !important;
  float: none !important;
  min-width: 0;
}
.ds-home-map {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 470px;
  overflow: hidden;
  background: #edf3ee;
  border: 1px solid #d5e3d8;
  border-radius: 16px;
}
.ds-home-map__heading { padding: 20px 22px 15px; }
.ds-home-map__heading h3 {
  margin: 0 0 4px;
  color: #263a33;
  font-size: 21px;
  line-height: 1.25;
}
.ds-home-map__heading p { margin: 0; color: #5f7168; font-size: 14px; }
.ds-home-map__frame { position: relative; flex: 1; min-height: 285px; background: #e3e9e5; }
.ds-home-map__frame iframe { display: block; width: 100%; height: 100%; border: 0; }
.ds-home-map__marker-target {
  position: absolute;
  top: calc(50% - 37px);
  left: calc(50% - 25px);
  width: 50px;
  height: 50px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.ds-home-map__marker-target:focus-visible { outline: 3px solid #235b46; border-radius: 8px; }
.ds-home-map__details {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 2;
  width: min(320px, calc(100% - 28px));
  padding: 17px 42px 17px 17px;
  border: 1px solid #dce7df;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 8px 24px #1d302a30;
}
.ds-home-map__details[hidden] { display: none; }
.ds-home-map__details strong, .ds-home-map__details span, .ds-home-map__details a { display: block; }
.ds-home-map__details strong { color: #263a33; font-size: 16px; line-height: 1.25; }
.ds-home-map__details span { margin-top: 6px; color: #586c60; font-size: 14px; }
.ds-home-map__details a { margin-top: 10px; color: #24523e; font-size: 14px; font-weight: 700; text-decoration: none; }
.ds-home-map__details a:hover { text-decoration: underline; }
.ds-home-map__details-close { position: absolute; top: 6px; right: 8px; width: 32px; height: 32px; padding: 0; border: 0; background: transparent; color: #53665a; font-size: 25px; line-height: 1; cursor: pointer; }
.ds-home-map__details-close:hover { color: #263a33; }
.ds-home-map__link {
  display: inline-block;
  align-self: flex-start;
  margin: 13px 22px 17px;
  color: #225441;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.ds-home-map__link:hover,
.ds-home-map__link:focus-visible { color: #16805a; text-decoration: underline; }
.ds-home-contact-column > .wpb_wrapper { height: 100%; }
.ds-home-contact-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(3, max-content);
  align-content: space-between;
  gap: 12px 24px;
  height: 100%;
  padding: 24px 28px;
  background: #edf3ee;
  border: 1px solid #d5e3d8;
  border-radius: 16px;
  color: #263a33;
}
.ds-home-contact-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  min-width: 0;
}
.ds-home-contact-item h4 {
  margin: 0 0 7px;
  color: #263a33;
  font-size: 18px;
  line-height: 1.25;
}
.ds-home-contact-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.ds-home-contact-item a { color: #225441; }
.ds-home-contact-item a:hover,
.ds-home-contact-item a:focus-visible { color: #16805a; }
.ds-home-contact-item .ds-social-links { margin-top: 3px; }

.ds-home-resources {
  grid-column: 1 / -1;
  padding-top: 15px;
  border-top: 1px solid #cbdccf;
}
.ds-home-resources h4 {
  margin: 0 0 10px;
  color: #263a33;
  font-size: 18px;
  line-height: 1.25;
}
.ds-home-resources__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.ds-home-resources__grid > a {
  display: flex;
  align-items: center;
  grid-column: span 2;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid #d5e3d8;
  border-radius: 7px;
  background: #fff;
  color: #225441;
  font-size: 13px;
  line-height: 1.25;
  text-decoration: none;
}
.ds-home-resources__grid > a:hover,
.ds-home-resources__grid > a:focus-visible {
  border-color: #8cb99e;
  background: #e5f0e8;
}
.ds-home-resources__grid > a:nth-child(n + 4) { grid-column: span 3; }

#cf_6acab7439bca5 .wpcf7-submit {
  border: 1px solid #24523e !important;
  border-radius: 7px !important;
  background: #24523e !important;
  color: #fff !important;
  font-weight: 700;
}
#cf_6acab7439bca5 .wpcf7-submit:hover,
#cf_6acab7439bca5 .wpcf7-submit:focus-visible {
  border-color: #347559 !important;
  background: #347559 !important;
}
#cf_6acab7439bca5 textarea { height: 100px !important; min-height: 100px !important; }
.vc-column-extra-class-6acab7439b6d3 > .wpb_wrapper > .dfd-spacer-module[data-wide_size="90"] { height: 56px !important; }
.vc-column-extra-class-6acab7439b6d3 > .wpb_wrapper > .dfd-spacer-module[data-wide_size="165"] { display: none !important; }

/* На главной в подвале остаются сведения о служении и форма обращения. */
.home #footer .vc-column-extra-class-6acab7439e01a,
.home #footer .vc-column-extra-class-6acab7439e28c { width: 50% !important; }
.home #footer .ds-footer-about-column > .wpb_wrapper {
  display: grid;
  grid-template-columns: 156px minmax(0, 1fr);
  gap: 22px;
  align-items: center;
  min-height: 325px;
}
.home #footer .ds-footer-about-column .dfd-spacer-module { display: none !important; }
.home #footer .ds-footer-about-column .dfd-single-image-module { width: 156px; max-width: 100%; }
.home #footer .ds-footer-about-column img { width: 100%; height: auto; border-radius: 50%; }
.home #footer .ds-footer-about-column .wpb_text_column { margin: 0; }
.home #footer .ds-footer-about-column p { margin: 0; font-size: 17px; line-height: 1.56; }
.ds-footer-form { padding-left: 20px; }
.ds-footer-form h3 { margin: 0 0 15px; color: #fff; font-size: 22px; line-height: 1.3; }
.ds-footer-form .wpcf7-form .container { width: 100%; padding: 0; }
.ds-footer-form .box { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.ds-footer-form .box > p { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.ds-footer-form .box > p:nth-of-type(n+3) { grid-column: 1 / -1; }
.ds-footer-form .box > .clear { display: none !important; }
.ds-footer-form .wpcf7-form-control-wrap { display: block; width: 100%; }
.ds-footer-form .box input,
.ds-footer-form .box textarea {
  display: block;
  width: 100%;
  min-height: 43px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #cad6cf !important;
  border-radius: 6px;
  background: #fff;
  color: #263a33;
  box-sizing: border-box;
}
.ds-footer-form .box textarea { min-height: 90px !important; height: 90px !important; resize: vertical; }
.ds-footer-form .box input::placeholder,
.ds-footer-form .box textarea::placeholder { color: #687b70 !important; opacity: 1 !important; }
.ds-footer-form .form_button { margin: 12px 0 0 !important; }
.ds-footer-form .wpcf7-submit { min-width: 160px; height: 44px; }
.ds-footer-form .wpcf7-response-output.wpcf7-display-none { display: none !important; }

/* Форма вопросов: одинаковое расположение на главной и странице ответов. */
.ds-question-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.ds-question-form label { display: block; min-width: 0; }
.ds-question-form label span { display: block; margin-bottom: 5px; color: #e5eee8; font-size: 13px; }
.ds-question-form label:nth-child(3),
.ds-question-form__message { grid-column: 1 / -1; }
.ds-question-form input,
.ds-question-form textarea {
  display: block;
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid #c7d7cd;
  border-radius: 7px;
  background: #fff;
  color: #263a33;
  font: inherit;
  box-sizing: border-box;
}
.ds-question-form textarea { min-height: 100px; resize: vertical; }
.ds-question-form input:focus-visible,
.ds-question-form textarea:focus-visible { outline: 3px solid #88b69a; outline-offset: 2px; }
.ds-question-form button {
  margin-top: 13px;
  min-width: 165px;
  min-height: 45px;
  padding: 9px 20px;
  border: 1px solid #347559;
  border-radius: 7px;
  background: #347559;
  color: #fff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.ds-question-form button:hover,
.ds-question-form button:focus-visible { background: #438c68; }
.ds-question-form__trap { position: absolute !important; left: -9999px !important; width: 1px !important; }
.ds-question-form__status { margin: 12px 0 0; color: #e8f3e9; font-size: 14px; line-height: 1.45; }
.ds-question-form__status:empty { display: none; }
.ds-question-form__preview-note { margin: 10px 0 0; color: #d7e6dc; font-size: 13px; line-height: 1.4; }
@media (max-width: 599px) {
  .ds-question-form__grid { grid-template-columns: minmax(0, 1fr); }
  .ds-question-form label:nth-child(3), .ds-question-form__message { grid-column: auto; }
  .ds-question-form button { width: 100%; }
}

@media (max-width: 1023px) {
  .home .ds-help-layout { grid-template-columns: minmax(0, 1fr); }
  .home .ds-help-visual { min-height: 390px; }
  .ds-home-contact-layout { grid-template-columns: minmax(0, 1fr); }
  .ds-home-map { min-height: 420px; }
  .ds-home-contact-column { margin-top: 0; }
  .ds-home-contact-panel { height: auto; min-height: 0; }
}
@media (max-width: 799px) {
  .home #footer .vc-column-extra-class-6acab7439e01a,
  .home #footer .vc-column-extra-class-6acab7439e28c { width: 100% !important; }
  .home #footer .ds-footer-about-column > .wpb_wrapper { min-height: 0; }
}
@media (max-width: 599px) {
  .ds-home-contact-layout { gap: 18px; }
  .ds-home-map { min-height: 360px; }
  .ds-home-map__frame { min-height: 240px; }
  .ds-home-contact-panel { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto; gap: 20px; padding: 22px; }
  .ds-home-contact-item { justify-content: flex-start; }
  .ds-home-resources { grid-column: auto; }
  .ds-home-resources__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ds-home-resources__grid > a,
  .ds-home-resources__grid > a:nth-child(n + 4) { grid-column: auto; }
  .ds-home-resources__grid > a:last-child { grid-column: 1 / -1; }
  .home #footer .ds-footer-about-column > .wpb_wrapper { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; align-items: start; }
  .home #footer .ds-footer-about-column .dfd-single-image-module { width: 88px; }
  .home #footer .ds-footer-about-column p { font-size: 14px; }
  .ds-footer-form { padding-left: 0; margin-top: 26px; }
}
