Compare commits

..

No commits in common. "a7b152840c625c25a77eaa69a6e34e2b1b1ab601" and "bbff99305417ec3e75007e78fcafedfa2ac8b68e" have entirely different histories.

3 changed files with 44 additions and 43 deletions

View File

@ -356,7 +356,7 @@
<section id="rsvp" class="section"> <section id="rsvp" class="section">
<div class="container"> <div class="container">
<h2 class="section-title">Анкета гостя</h2> <h2 class="section-title">Анкета гостя</h2>
<p class="section-sub">Пожалуйста, ответьте до <strong>20 июля 2026</strong></p> <p class="section-sub">Пожалуйста, ответьте до <strong>1 августа 2026</strong></p>
<!-- <!--
ИНСТРУКЦИЯ: Создайте форму на forms.google.com ИНСТРУКЦИЯ: Создайте форму на forms.google.com
Нажмите «Отправить» → значок «<>» (встроить) → скопируйте ссылку из атрибута src Нажмите «Отправить» → значок «<>» (встроить) → скопируйте ссылку из атрибута src
@ -388,22 +388,20 @@
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner">
<p>Велком секция (фуршет) начинается в <strong>16:00</strong>.</p> <p>Велком секция (фуршет) начинается в <strong>16:00</strong>.</p>
<p>Основная секция (банкет) начинается в <strong>17:00</strong>.</p> <p>Основная секция (банкет) начинается в <strong>17:00</strong>.</p>
</div> </div>
</div> </div>
</div>
<div class="faq-item"> <div class="faq-item">
<button class="faq-question" aria-expanded="false"> <button class="faq-question" aria-expanded="false">
Какой дресс-код мероприятия? Какой дресс-код мероприятия?
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner"> <p>Для нас важно, чтобы гости выглядели нарядно.</p>
<p>Для нас важно, чтобы гости выглядели нарядно так, чтобы вам самим было приятно находиться на свадьбе.</p> <p><strong>Мужчинам</strong> — классический костюм. Брюки, рубашка и туфли — вполне достаточно.</p>
<p>Возможно, у вас есть очень крутое платье или костюм, которое вы мечтали надеть, но не было повода. Поверьте, это тот самый случай.</p> <p><strong>Женщинам</strong> — платье или элегантный наряд.</p>
<p>Если вам все же тяжело выбрать, в чем пойти, всегда уместно отдать предпочтение классике. Ниже представлены примеры оттенков, которые будут максимально уместны.</p> <p>По цвету — мы не ограничиваем вас в выборе цвета наряда на свадьбу. Если вам тяжело выбрать цвет, ниже представлены примеры цветов, которые будет максимально уместно надеть.</p>
<div class="dresscode-colors"> <div class="dresscode-colors">
<span class="dresscode-chip"><span class="dresscode-dot" style="background:#1c2d5e"></span>Тёмно-синий</span> <span class="dresscode-chip"><span class="dresscode-dot" style="background:#1c2d5e"></span>Тёмно-синий</span>
<span class="dresscode-chip"><span class="dresscode-dot" style="background:#4a4a4a"></span>Графит</span> <span class="dresscode-chip"><span class="dresscode-dot" style="background:#4a4a4a"></span>Графит</span>
@ -415,54 +413,45 @@
</div> </div>
</div> </div>
</div> </div>
</div>
<div class="faq-item"> <div class="faq-item">
<button class="faq-question" aria-expanded="false"> <button class="faq-question" aria-expanded="false">
Есть ли парковка на месте? Есть ли парковка на месте?
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner">
<p>Да, рядом с местом проведения есть бесплатная парковка. Подробности — на карте.</p> <p>Да, рядом с местом проведения есть бесплатная парковка. Подробности — на карте.</p>
</div> </div>
</div> </div>
</div>
<div class="faq-item"> <div class="faq-item">
<button class="faq-question" aria-expanded="false"> <button class="faq-question" aria-expanded="false">
До какого числа нужно подтвердить участие? До какого числа нужно подтвердить участие?
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner">
<p>Пожалуйста, заполните анкету гостя до <strong>20 июля 2026</strong>. Это поможет нам правильно рассадить гостей и подготовить меню.</p> <p>Пожалуйста, заполните анкету гостя до <strong>20 июля 2026</strong>. Это поможет нам правильно рассадить гостей и подготовить меню.</p>
</div> </div>
</div> </div>
</div>
<div class="faq-item"> <div class="faq-item">
<button class="faq-question" aria-expanded="false"> <button class="faq-question" aria-expanded="false">
Дарить деньги - это OK? Дарить деньги - это OK?
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner">
<p>Да, конечно. Мы будем рады любому подарку. Ведь единственный пункт в нашем вишлисте - это отлично проведенный праздник</p> <p>Да, конечно. Мы будем рады любому подарку. Ведь единственный пункт в нашем вишлисте - это отлично проведенный праздник</p>
</div> </div>
</div> </div>
</div>
<div class="faq-item"> <div class="faq-item">
<button class="faq-question" aria-expanded="false"> <button class="faq-question" aria-expanded="false">
Уместно ли дарить цветы? Уместно ли дарить цветы?
<span class="faq-arrow"></span> <span class="faq-arrow"></span>
</button> </button>
<div class="faq-answer"> <div class="faq-answer">
<div class="faq-answer-inner">
<p>Мы бы попросили вас воздержаться от дарения цветов.</p> <p>Мы бы попросили вас воздержаться от дарения цветов.</p>
<p>Потому что живем мы в небольшой квартире, и складывать такое потенциальное количество цветов нам банально будет некуда.</p> <p>Потому что живем мы в небольшой квартире, и складывать такое потенциальное количество цветов нам банально будет некуда.</p>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div>
</section> </section>
<!-- ========== КООРДИНАТОР ========== --> <!-- ========== КООРДИНАТОР ========== -->

View File

@ -599,6 +599,16 @@ window.addEventListener('scroll', () => {
// ---- FAQ: аккордеон ---- // ---- FAQ: аккордеон ----
function setFaqAnswerHeight(answer, open) {
if (open) {
answer.classList.add('open');
answer.style.maxHeight = answer.scrollHeight + 'px';
} else {
answer.classList.remove('open');
answer.style.maxHeight = '0px';
}
}
document.querySelectorAll('.faq-question').forEach(btn => { document.querySelectorAll('.faq-question').forEach(btn => {
btn.addEventListener('click', () => { btn.addEventListener('click', () => {
const expanded = btn.getAttribute('aria-expanded') === 'true'; const expanded = btn.getAttribute('aria-expanded') === 'true';
@ -606,12 +616,21 @@ document.querySelectorAll('.faq-question').forEach(btn => {
document.querySelectorAll('.faq-question').forEach(b => { document.querySelectorAll('.faq-question').forEach(b => {
b.setAttribute('aria-expanded', 'false'); b.setAttribute('aria-expanded', 'false');
b.nextElementSibling.classList.remove('open'); setFaqAnswerHeight(b.nextElementSibling, false);
}); });
if (!expanded) { if (!expanded) {
btn.setAttribute('aria-expanded', 'true'); btn.setAttribute('aria-expanded', 'true');
answer.classList.add('open'); setFaqAnswerHeight(answer, true);
}
});
});
window.addEventListener('resize', () => {
document.querySelectorAll('.faq-question[aria-expanded="true"]').forEach(btn => {
const answer = btn.nextElementSibling;
if (answer.classList.contains('open')) {
answer.style.maxHeight = answer.scrollHeight + 'px';
} }
}); });
}); });

View File

@ -970,18 +970,11 @@ ul { list-style: none; }
} }
.faq-question[aria-expanded="true"] .faq-arrow { transform: rotate(180deg); } .faq-question[aria-expanded="true"] .faq-arrow { transform: rotate(180deg); }
.faq-answer { .faq-answer {
display: grid; max-height: 0;
grid-template-rows: 0fr; overflow: hidden;
transition: grid-template-rows 0.35s ease; transition: max-height 0.35s ease, padding 0.35s ease;
} }
.faq-answer.open { .faq-answer.open {
grid-template-rows: 1fr;
}
.faq-answer-inner {
overflow: hidden;
min-height: 0;
}
.faq-answer.open .faq-answer-inner {
padding: 0 1.5rem 1.2rem; padding: 0 1.5rem 1.2rem;
} }
.faq-answer p { color: var(--gray); line-height: 1.7; margin: 0 0 0.75rem; } .faq-answer p { color: var(--gray); line-height: 1.7; margin: 0 0 0.75rem; }