Compare commits
8 Commits
9903a824a5
...
style/all
| Author | SHA1 | Date | |
|---|---|---|---|
| 382afe7694 | |||
| d426e3cb3e | |||
|
|
98f3d12455 | ||
| 288f028235 | |||
|
|
7ce71ffa33 | ||
|
|
1f8cb4e8c5 | ||
| 1707f05f7a | |||
|
|
429af5fa0f |
@@ -238,7 +238,7 @@ img {
|
||||
.hero__bg {
|
||||
position: absolute;
|
||||
inset: 0;
|
||||
background: linear-gradient(90deg, rgba(18, 18, 18, 0.9) 0%, rgba(18, 18, 18, 0.7) 50%, rgba(0, 0, 0, 0) 100%), url("../images/other/section-main.webp") center/cover no-repeat;
|
||||
background: linear-gradient(90deg, rgba(18, 18, 18, 0.9) 0%, rgba(18, 18, 18, 0.7) 50%, rgba(0, 0, 0, 0) 100%), url("../images/renders/led.jpg") center/cover no-repeat;
|
||||
}
|
||||
.hero__bg::after {
|
||||
content: "";
|
||||
@@ -616,7 +616,7 @@ img {
|
||||
justify-content: center;
|
||||
padding: 16px 18px;
|
||||
text-align: center;
|
||||
background: rgba(7, 10, 12, 0.84);
|
||||
background: rgb(7, 10, 12);
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
@@ -690,6 +690,19 @@ img {
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
.pricing-item {
|
||||
padding: 16px;
|
||||
min-height: auto;
|
||||
}
|
||||
.pricing-item h3 {
|
||||
font-size: 16px;
|
||||
}
|
||||
.pricing-item p {
|
||||
font-size: 16px;
|
||||
color: #dfdfdf;
|
||||
}
|
||||
}
|
||||
|
||||
.gallery {
|
||||
background: linear-gradient(90deg, #293133, #20272a);
|
||||
@@ -719,13 +732,81 @@ img {
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.reviews {
|
||||
--reviews-visible: 3;
|
||||
--reviews-gap: 24px;
|
||||
background: linear-gradient(90deg, #293133, #20272a);
|
||||
}
|
||||
.reviews .section__head {
|
||||
margin-bottom: 44px;
|
||||
}
|
||||
.reviews__slider {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr auto;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
.reviews__viewport {
|
||||
overflow: hidden;
|
||||
}
|
||||
.reviews__track {
|
||||
display: flex;
|
||||
gap: var(--reviews-gap);
|
||||
transition: transform 0.45s ease;
|
||||
will-change: transform;
|
||||
}
|
||||
.reviews__nav {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.22);
|
||||
border-radius: 12px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
color: rgba(255, 255, 255, 0.88);
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
|
||||
}
|
||||
.reviews__nav:hover:not(:disabled) {
|
||||
transform: translateY(-1px);
|
||||
border-color: rgba(207, 23, 23, 0.75);
|
||||
background: rgba(207, 23, 23, 0.18);
|
||||
}
|
||||
.reviews__nav:disabled {
|
||||
opacity: 0.35;
|
||||
cursor: default;
|
||||
}
|
||||
.reviews__dots {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
margin-top: 18px;
|
||||
}
|
||||
.reviews__dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: 0;
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.28);
|
||||
cursor: pointer;
|
||||
transition: width 0.2s ease, background-color 0.2s ease;
|
||||
}
|
||||
.reviews__dot.is-active {
|
||||
width: 26px;
|
||||
background: #cf1717;
|
||||
}
|
||||
|
||||
.review-card {
|
||||
background: rgba(18, 18, 18, 0.4);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
border-radius: 16px;
|
||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||
min-height: 206px;
|
||||
padding: 33px;
|
||||
flex: 0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-gap)) / var(--reviews-visible));
|
||||
min-height: 250px;
|
||||
padding: 30px 28px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
transition: transform 0.3s ease, border-color 0.3s ease;
|
||||
}
|
||||
.review-card:hover {
|
||||
@@ -740,15 +821,29 @@ img {
|
||||
}
|
||||
.review-card strong {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
.review-card span {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 16px;
|
||||
line-height: 1.2;
|
||||
.review-card__meta {
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||
}
|
||||
.review-card__meta a {
|
||||
color: #ffd2d2;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
text-decoration-thickness: 1px;
|
||||
text-decoration-color: rgba(255, 210, 210, 0.75);
|
||||
transition: color 0.2s ease, text-decoration-color 0.2s ease;
|
||||
}
|
||||
.review-card__meta a:hover {
|
||||
color: #ffe4e4;
|
||||
text-decoration-color: #ffe4e4;
|
||||
}
|
||||
|
||||
.stats {
|
||||
@@ -954,7 +1049,7 @@ img {
|
||||
.contacts-card__item-content a {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
font-size: 16px;
|
||||
line-height: 1.4;
|
||||
line-height: 1.8;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
@@ -1414,6 +1509,9 @@ img {
|
||||
.hero__actions {
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.reviews {
|
||||
--reviews-visible: 2;
|
||||
}
|
||||
.highlights__grid,
|
||||
.gallery__grid,
|
||||
.reviews__grid,
|
||||
@@ -1477,6 +1575,16 @@ img {
|
||||
}
|
||||
}
|
||||
@media only screen and (max-width: 768px) {
|
||||
.reviews {
|
||||
--reviews-visible: 1;
|
||||
}
|
||||
.reviews__slider {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 12px;
|
||||
}
|
||||
.reviews__nav {
|
||||
display: none;
|
||||
}
|
||||
.container {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
2
assets/css/main.min.css
vendored
2
assets/css/main.min.css
vendored
File diff suppressed because one or more lines are too long
BIN
assets/images/renders/basket.jpg
Normal file
BIN
assets/images/renders/basket.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 157 KiB |
BIN
assets/images/renders/led.jpg
Normal file
BIN
assets/images/renders/led.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 138 KiB |
BIN
assets/images/renders/ledadnbasket.jpg
Normal file
BIN
assets/images/renders/ledadnbasket.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 159 KiB |
@@ -122,6 +122,119 @@
|
||||
});
|
||||
})();
|
||||
|
||||
(() => {
|
||||
const slider = document.querySelector("[data-reviews-slider]");
|
||||
if (!slider) return;
|
||||
|
||||
const viewport = slider.querySelector("[data-reviews-viewport]");
|
||||
const track = slider.querySelector("[data-reviews-track]");
|
||||
const prevButton = slider.querySelector("[data-reviews-prev]");
|
||||
const nextButton = slider.querySelector("[data-reviews-next]");
|
||||
const dotsContainer = document.querySelector("[data-reviews-dots]");
|
||||
const cards = Array.from(track?.querySelectorAll(".review-card") ?? []);
|
||||
|
||||
if (!viewport || !track || !prevButton || !nextButton || !dotsContainer || cards.length < 2) return;
|
||||
|
||||
let currentIndex = 0;
|
||||
let touchStartX = 0;
|
||||
|
||||
const readVisibleSlides = () => {
|
||||
const visibleValue = Number.parseInt(getComputedStyle(slider).getPropertyValue("--reviews-visible"), 10);
|
||||
return Number.isFinite(visibleValue) && visibleValue > 0 ? visibleValue : 1;
|
||||
};
|
||||
|
||||
const readTrackGap = () => {
|
||||
const styles = getComputedStyle(track);
|
||||
const gapValue = styles.gap || styles.columnGap || "0";
|
||||
const parsedGap = Number.parseFloat(gapValue);
|
||||
return Number.isFinite(parsedGap) ? parsedGap : 0;
|
||||
};
|
||||
|
||||
const maxIndex = () => Math.max(0, cards.length - readVisibleSlides());
|
||||
|
||||
const renderDots = () => {
|
||||
const total = maxIndex() + 1;
|
||||
dotsContainer.innerHTML = "";
|
||||
|
||||
for (let index = 0; index < total; index += 1) {
|
||||
const dot = document.createElement("button");
|
||||
dot.type = "button";
|
||||
dot.className = "reviews__dot";
|
||||
dot.setAttribute("aria-label", `Показать отзыв ${index + 1}`);
|
||||
dot.addEventListener("click", () => {
|
||||
currentIndex = index;
|
||||
update();
|
||||
});
|
||||
dotsContainer.appendChild(dot);
|
||||
}
|
||||
};
|
||||
|
||||
const update = () => {
|
||||
const max = maxIndex();
|
||||
currentIndex = Math.min(Math.max(currentIndex, 0), max);
|
||||
|
||||
const cardWidth = cards[0].getBoundingClientRect().width;
|
||||
const offset = (cardWidth + readTrackGap()) * currentIndex;
|
||||
track.style.transform = `translateX(${-offset}px)`;
|
||||
|
||||
prevButton.disabled = currentIndex === 0;
|
||||
nextButton.disabled = currentIndex === max;
|
||||
|
||||
const dots = Array.from(dotsContainer.querySelectorAll(".reviews__dot"));
|
||||
dots.forEach((dot, index) => {
|
||||
dot.classList.toggle("is-active", index === currentIndex);
|
||||
dot.setAttribute("aria-current", index === currentIndex ? "true" : "false");
|
||||
});
|
||||
};
|
||||
|
||||
prevButton.addEventListener("click", () => {
|
||||
currentIndex -= 1;
|
||||
update();
|
||||
});
|
||||
|
||||
nextButton.addEventListener("click", () => {
|
||||
currentIndex += 1;
|
||||
update();
|
||||
});
|
||||
|
||||
viewport.addEventListener("touchstart", (event) => {
|
||||
touchStartX = event.changedTouches[0].clientX;
|
||||
}, { passive: true });
|
||||
|
||||
viewport.addEventListener("touchend", (event) => {
|
||||
const deltaX = event.changedTouches[0].clientX - touchStartX;
|
||||
const threshold = 48;
|
||||
|
||||
if (deltaX > threshold) {
|
||||
currentIndex -= 1;
|
||||
update();
|
||||
return;
|
||||
}
|
||||
|
||||
if (deltaX < -threshold) {
|
||||
currentIndex += 1;
|
||||
update();
|
||||
}
|
||||
}, { passive: true });
|
||||
|
||||
const handleResize = () => {
|
||||
renderDots();
|
||||
update();
|
||||
};
|
||||
|
||||
let resizeRaf = null;
|
||||
window.addEventListener("resize", () => {
|
||||
if (resizeRaf) return;
|
||||
resizeRaf = window.requestAnimationFrame(() => {
|
||||
resizeRaf = null;
|
||||
handleResize();
|
||||
});
|
||||
});
|
||||
|
||||
renderDots();
|
||||
update();
|
||||
})();
|
||||
|
||||
(() => {
|
||||
const bookingForm = document.getElementById("booking-form");
|
||||
const successModal = document.getElementById("booking-success-modal");
|
||||
|
||||
@@ -194,7 +194,7 @@ img {
|
||||
inset: 0;
|
||||
background:
|
||||
linear-gradient(90deg, rgba(18, 18, 18, 0.9) 0%, rgba(18, 18, 18, 0.7) 50%, rgba(0, 0, 0, 0) 100%),
|
||||
url("../images/other/section-main.webp") center / cover no-repeat;
|
||||
url("../images/renders/led.jpg") center / cover no-repeat;
|
||||
|
||||
&::after {
|
||||
content: "";
|
||||
@@ -625,7 +625,7 @@ img {
|
||||
justify-content: center;
|
||||
padding: 16px 18px;
|
||||
text-align: center;
|
||||
background: rgba(7, 10, 12, 0.84);
|
||||
background: rgba(7, 10, 12, 1);
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
color: $color-text-muted;
|
||||
@@ -707,6 +707,22 @@ img {
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
// Медиа-запрос для экранов меньше 600px
|
||||
@media (max-width: 600px) {
|
||||
padding: 16px; // Пример: уменьшаем внутренние отступы
|
||||
min-height: auto; // Пример: убираем фиксированную минимальную высоту
|
||||
|
||||
h3 {
|
||||
font-size: 16px; // Пример: уменьшаем размер заголовка
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 16px; // Пример: уменьшаем размер цены
|
||||
color:#dfdfdf;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -741,10 +757,88 @@ img {
|
||||
background-position: center;
|
||||
}
|
||||
|
||||
.reviews {
|
||||
--reviews-visible: 3;
|
||||
--reviews-gap: 24px;
|
||||
background: linear-gradient(90deg, $color-surface, $color-surface-2);
|
||||
|
||||
.section__head {
|
||||
margin-bottom: 44px;
|
||||
}
|
||||
|
||||
&__slider {
|
||||
display: grid;
|
||||
grid-template-columns: auto 1fr auto;
|
||||
align-items: center;
|
||||
gap: 16px;
|
||||
}
|
||||
|
||||
&__viewport {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
&__track {
|
||||
display: flex;
|
||||
gap: var(--reviews-gap);
|
||||
transition: transform 0.45s ease;
|
||||
will-change: transform;
|
||||
}
|
||||
|
||||
&__nav {
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.22);
|
||||
border-radius: 12px;
|
||||
background: rgba(255, 255, 255, 0.03);
|
||||
color: rgba(255, 255, 255, 0.88);
|
||||
font-size: 24px;
|
||||
line-height: 1;
|
||||
cursor: pointer;
|
||||
transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, opacity 0.2s ease;
|
||||
|
||||
&:hover:not(:disabled) {
|
||||
transform: translateY(-1px);
|
||||
border-color: rgba(207, 23, 23, 0.75);
|
||||
background: rgba(207, 23, 23, 0.18);
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
opacity: 0.35;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
||||
|
||||
&__dots {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 8px;
|
||||
margin-top: 18px;
|
||||
}
|
||||
|
||||
&__dot {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border: 0;
|
||||
border-radius: 999px;
|
||||
background: rgba(255, 255, 255, 0.28);
|
||||
cursor: pointer;
|
||||
transition: width 0.2s ease, background-color 0.2s ease;
|
||||
|
||||
&.is-active {
|
||||
width: 26px;
|
||||
background: $color-accent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.review-card {
|
||||
@include card;
|
||||
min-height: 206px;
|
||||
padding: 33px;
|
||||
flex: 0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-gap)) / var(--reviews-visible));
|
||||
min-height: 250px;
|
||||
padding: 30px 28px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
transition: transform 0.3s ease, border-color 0.3s ease;
|
||||
|
||||
&:hover {
|
||||
@@ -761,16 +855,32 @@ img {
|
||||
|
||||
strong {
|
||||
display: block;
|
||||
margin-bottom: 8px;
|
||||
margin-bottom: 10px;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
span {
|
||||
color: $color-text-muted;
|
||||
font-size: 16px;
|
||||
line-height: 1.2;
|
||||
&__meta {
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||
|
||||
a {
|
||||
color: #ffd2d2;
|
||||
font-size: 14px;
|
||||
font-weight: 500;
|
||||
line-height: 1.4;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
text-decoration-thickness: 1px;
|
||||
text-decoration-color: rgba(255, 210, 210, 0.75);
|
||||
transition: color 0.2s ease, text-decoration-color 0.2s ease;
|
||||
|
||||
&:hover {
|
||||
color: #ffe4e4;
|
||||
text-decoration-color: #ffe4e4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -994,7 +1104,7 @@ img {
|
||||
a {
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
font-size: 16px;
|
||||
line-height: 1.4;
|
||||
line-height: 1.8;
|
||||
text-decoration: underline;
|
||||
text-underline-offset: 2px;
|
||||
}
|
||||
@@ -1565,6 +1675,10 @@ img {
|
||||
}
|
||||
}
|
||||
|
||||
.reviews {
|
||||
--reviews-visible: 2;
|
||||
}
|
||||
|
||||
.highlights__grid,
|
||||
.gallery__grid,
|
||||
.reviews__grid,
|
||||
@@ -1650,6 +1764,19 @@ img {
|
||||
}
|
||||
|
||||
@include respond($bp-md) {
|
||||
.reviews {
|
||||
--reviews-visible: 1;
|
||||
|
||||
&__slider {
|
||||
grid-template-columns: 1fr;
|
||||
gap: 12px;
|
||||
}
|
||||
|
||||
&__nav {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 0 16px;
|
||||
}
|
||||
|
||||
174
index.html
174
index.html
@@ -33,17 +33,17 @@
|
||||
лёд, залы, проживание и питание на одной территории
|
||||
</h1>
|
||||
<p>
|
||||
Два ледовых поля 56×26 м, универсальный зал, фитнес-центр и
|
||||
апарт-отель на 70+ номеров. 15 минут от центра, своя парковка.
|
||||
Два ледовых поля 58×26 м, универсальный зал, фитнес-центр и
|
||||
апарт-отель на 70+ номеров. В пределах ТТК.
|
||||
</p>
|
||||
<ul class="hero__tags">
|
||||
<li>2 ледовых поля 56×26 м</li>
|
||||
<li>Универсальный зал, фитнес и залы единоборств</li>
|
||||
<li>2 ледовых поля 58×26 м</li>
|
||||
<li>Универсальный зал, фитнес центр, и зал хореографии</li>
|
||||
<li>Проживание и питание на территории</li>
|
||||
</ul>
|
||||
<div class="hero__actions">
|
||||
<a class="btn" href="#booking">Забронировать площадку</a>
|
||||
<a class="btn btn--ghost" href="#">Посмотреть расписание</a>
|
||||
<a class="btn btn--ghost" href="#">Узнать расписание</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -52,7 +52,7 @@
|
||||
<div class="container highlights__grid">
|
||||
<article class="info-card">
|
||||
<h3>Всё в одном месте</h3>
|
||||
<p>Лёд, спортзалы, фитнес, проживание и питание — без переездов между объектами. Команда заезжает и работает по полной программе.</p>
|
||||
<p>Лёд, спортзалы, фитнес, проживание и питание — 5 минут от метро Волгоградский проспект, удобный заезд на автомобиле, собственная парковка для гостей комплекса</p>
|
||||
</article>
|
||||
<article class="info-card">
|
||||
<h3>Удобная логистика</h3>
|
||||
@@ -77,19 +77,19 @@
|
||||
</header>
|
||||
|
||||
<article class="object-card">
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/other/ledovie.jpg');"></div>
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/renders/led.jpg');"></div>
|
||||
<div class="object-card__content">
|
||||
<h3>Два ледовых поля</h3>
|
||||
<p>Стандарт 56×26 м. Тренировки, сборы, соревнования.</p>
|
||||
<p>Стандарт 58×26 м. Тренировки, сборы, соревнования.</p>
|
||||
<a class="btn btn--small" href="#booking">Забронировать</a>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="object-card object-card--reverse">
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/other/IMG_4521-min.jpg');"></div>
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/renders/basket.jpg');"></div>
|
||||
<div class="object-card__content">
|
||||
<h3>Универсальный зал</h3>
|
||||
<p>Паркетное покрытие. Игровые виды спорта, ОФП, турниры.</p>
|
||||
<p>Зал для игровых видов спорта, паркетное покрытие.</p>
|
||||
<a class="btn btn--small" href="#booking">Забронировать</a>
|
||||
</div>
|
||||
</article>
|
||||
@@ -103,20 +103,11 @@
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="object-card object-card--reverse">
|
||||
<article class="object-card object-card--reverse" style="display:none;">
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/other/1231.png');"></div>
|
||||
<div class="object-card__content">
|
||||
<h3>Зал хореографии</h3>
|
||||
<p>Зеркала, станки. Танцы, групповые программы, ОФП.</p>
|
||||
<a class="btn btn--small" href="#booking">Подробнее</a>
|
||||
</div>
|
||||
</article>
|
||||
|
||||
<article class="object-card">
|
||||
<div class="object-card__image" style="background-image: linear-gradient(0deg, rgba(18,18,18,.3), rgba(18,18,18,.3)), url('./assets/images/other/8540eec74dd51616e6b30215183b38ad1-870x580.jpg');"></div>
|
||||
<div class="object-card__content">
|
||||
<h3>Зал единоборств</h3>
|
||||
<p>Бокс, ММА, борьба. Ринг, татами, мешки.</p>
|
||||
<p>Оборудован зеркалами и станками для занятий хореографией.</p>
|
||||
<a class="btn btn--small" href="#booking">Подробнее</a>
|
||||
</div>
|
||||
</article>
|
||||
@@ -206,28 +197,20 @@
|
||||
<div class="services__grid">
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Аренда льда</span>
|
||||
<span class="service-card__description">Почасовая аренда и абонементы. Подберём удобные слоты для тренировок и матчей.</span>
|
||||
<span class="service-card__description">Почасовая аренда. Подберем удобные слоты для тренировок и матчей.</span>
|
||||
</a>
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Аренда залов</span>
|
||||
<span class="service-card__description">Универсальный, единоборств, хореографии и фитнес-зоны для команд и индивидуальных занятий.</span>
|
||||
<span class="service-card__description">Полноценная инфраструктура для проведения тренировочного процесса и организации мероприятий.</span>
|
||||
</a>
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Сборы команд под ключ</span>
|
||||
<span class="service-card__description">Лёд, зал, проживание и питание в одном комплексе без лишней логистики.</span>
|
||||
</a>
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Турниры и соревнования</span>
|
||||
<span class="service-card__description">Подготовим площадки, организацию и инфраструктуру для событий любого уровня.</span>
|
||||
</a>
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Корпоративные мероприятия</span>
|
||||
<span class="service-card__description">Спортивные тимбилдинги, активные форматы и сопровождение программы под задачи компании.</span>
|
||||
</a>
|
||||
<a class="service-card" href="#booking">
|
||||
<span class="service-card__title">Фитнес</span>
|
||||
<span class="service-card__description">Индивидуальные тренировки, абонементы и групповые занятия с гибким расписанием.</span>
|
||||
</a>
|
||||
</div>
|
||||
<div class="services__cta">
|
||||
<a class="btn services__cta-btn" href="#booking">Подобрать формат и время</a>
|
||||
@@ -243,19 +226,15 @@
|
||||
<div class="pricing__list">
|
||||
<article class="pricing-item">
|
||||
<h3>Аренда льда</h3>
|
||||
<p>от Х ₽/час</p>
|
||||
<p>от 25.000₽/час</p>
|
||||
</article>
|
||||
<article class="pricing-item">
|
||||
<h3>Аренда универсального зала</h3>
|
||||
<p>от Х ₽/час</p>
|
||||
<h3>Универсальный зал</h3>
|
||||
<p>от 7.000₽/час</p>
|
||||
</article>
|
||||
<article class="pricing-item">
|
||||
<h3>Сборы (пакет лёд+зал+проживание+питание на 1 чел./сутки)</h3>
|
||||
<p>от Х ₽</p>
|
||||
</article>
|
||||
<article class="pricing-item">
|
||||
<h3>Фитнес (разовое посещение / месячный абонемент)</h3>
|
||||
<p>от Х ₽</p>
|
||||
<h3>Фитнес центр</h3>
|
||||
<p>от 3.000₽/месяц</p>
|
||||
</article>
|
||||
</div>
|
||||
<p class="pricing__note">Точная стоимость зависит от времени, длительности и пакета услуг. Оставьте заявку — пришлём расчёт за 30 минут.</p>
|
||||
@@ -272,9 +251,9 @@
|
||||
<p>Пространства OlimpArena в деталях</p>
|
||||
</header>
|
||||
<div class="gallery__grid">
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/1231.png');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/6399e455dd0120ee5802a0d0_643691cf6bb745.08564640.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/8540eec74dd51616e6b30215183b38ad1-870x580.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/renders/basket.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/renders/led.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/renders/ledadnbasket.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/IMG_4521-min.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/ledovie.jpg');"></div>
|
||||
<div class="gallery__item" style="background-image:url('./assets/images/other/6399e455dd0120ee5802a0d0_643691cf6bb745.08564640.jpg');"></div>
|
||||
@@ -282,7 +261,102 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section facts" id="facts">
|
||||
<section class="section reviews" id="reviews">
|
||||
<div class="container">
|
||||
<header class="section__head">
|
||||
<h2>Отзывы</h2>
|
||||
<p>Что говорят клиенты о тренировках и сборах в OlimpArena</p>
|
||||
</header>
|
||||
<div class="reviews__slider" data-reviews-slider>
|
||||
<button class="reviews__nav reviews__nav--prev" type="button" data-reviews-prev aria-label="Предыдущий отзыв">←</button>
|
||||
<div class="reviews__viewport" data-reviews-viewport>
|
||||
<div class="reviews__track" data-reviews-track>
|
||||
<article class="review-card">
|
||||
<p>Ледовая арена премиум-уровня с отличной локацией. Удобные раздевалки и отличный лед. Профессиональный и приветливый персонал. Лучшая арена для тренировок и соревнований</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Владимир Л.</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=1zaqed8uewrx0zdfqr75d3n8zm&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Отличная локация, вежливый персонал, прекрасные ледовые арены, хорошо обустроенные раздевалки. Дизайнерское решение соответствует направлению. Всё очень круто!!! Обязательно посетите данное место!</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Закопайло С.</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=9g4uxhfhd4cqbjdjec0unkqzug&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Отличная локация, отличный лед и его постоянно обновляют, очень вежливый персонал, очень приятно находиться в помещении. Очень современные место. Хорошее впечатление</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Ольга Р.</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=vpdm0u6jzp7dcwndttf7z9akv4&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Побывала на экскурсии по своему направлению деятельности, понравилось все: инфраструктура комплекса, дизайн, персонал, все на высшем уровне 👍</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Елена Ильина</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=fwfzfd88e6uq59qa8h6pv84ve0&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Нам очень понравилась арена! Высокий уровень-комфорт, красота, расположение, персонал. Очень понравилось качество льда. Спасибо</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Руслан Я.</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=81a1u705vn3kd0kmhdkc7qh02c&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Полноценное футбольное поле под крышей! Чего ещё желать? Таких объектов в Москве по пальцам одной руки можно пересчитать. И самое главное на территории легендарная футбольная школа...</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Andrey Kuleshov</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=k1eyc820uqf5wua1ypqua8zyww&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Отличный лед. Приветливый персонал. Очень красиво внутри. Просторные раздевалки.</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Сергей рылов</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=nah55c29h52e3fxw0bfuk2he1c&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Хороший персонал, хорошие место, хороший пк клуб. Всем советую, хороший пк клуб</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Иван Курцев</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=af38gg3nfbrz1cnfr94peuv6zc&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Выглядит очень здорово. Будете в восторге от места, где найдется всем место для комфортного катания и ожидания.Отличный лед</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Оксана Викторовна завхоз</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=rtr4medjwd3hev3138by8nw17c&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Отличное место для занятия спортом, очень понравилось😊 рекомендую👍</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Serega</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=5tctvtm88tq564tc117493nqq4&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
<article class="review-card">
|
||||
<p>Отличная арена 🏒</p>
|
||||
<div class="review-card__meta">
|
||||
<strong>Андрей Иванов</strong>
|
||||
<a href="https://yandex.ru/maps/org/144435842347/reviews?reviews%5BpublicId%5D=heccmk2e26d2bcpqtgdccq47bg&si=j6p3d50uf3hwfup3ey7u8b3myg&utm_source=review" target="_blank" rel="noopener noreferrer">Читать на Яндекс Картах</a>
|
||||
</div>
|
||||
</article>
|
||||
</div>
|
||||
</div>
|
||||
<button class="reviews__nav reviews__nav--next" type="button" data-reviews-next aria-label="Следующий отзыв">→</button>
|
||||
</div>
|
||||
<div class="reviews__dots" data-reviews-dots></div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="section facts" id="facts" style="display:none;">
|
||||
<div class="container">
|
||||
<header class="section__head">
|
||||
<h2>Цифры о комплексе</h2>
|
||||
@@ -291,11 +365,11 @@
|
||||
<div class="stats stats--facts">
|
||||
<article class="stats__item">
|
||||
<strong class="js-counter" data-target="70" data-suffix="+">0</strong>
|
||||
<span>номеров для проживания</span>
|
||||
<span>аппартов</span>
|
||||
</article>
|
||||
<article class="stats__item">
|
||||
<strong class="js-counter" data-target="2">0</strong>
|
||||
<span>ледовые арены 56×26 м</span>
|
||||
<span>профессиональных ледовых поля</span>
|
||||
</article>
|
||||
<article class="stats__item">
|
||||
<strong class="js-counter" data-target="9">0</strong>
|
||||
@@ -366,7 +440,7 @@
|
||||
</span>
|
||||
<div class="contacts-card__item-content">
|
||||
<strong>Адрес</strong>
|
||||
<span>Москва, Автомобильный проезд, 4</span>
|
||||
<span>Москва, Автомобильный проезд, 4к5</span>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -388,7 +462,8 @@
|
||||
</span>
|
||||
<div class="contacts-card__item-content">
|
||||
<strong>Телефон</strong>
|
||||
<a href="tel:+74951234567">+7 (495) 123-45-67</a>
|
||||
<a style="margin-bottom:5px;" href="tel:+79251404737">+7 (925) 140-47-37</a><br>
|
||||
<a href="tel:+79251404764">+7 (925) 140-47-64</a>
|
||||
</div>
|
||||
</li>
|
||||
<li>
|
||||
@@ -500,7 +575,8 @@
|
||||
</nav>
|
||||
<div class="footer__contacts">
|
||||
<h4>Контакты и режим работы</h4>
|
||||
<a href="tel:+74951234567">+7 (495) 123-45-67</a>
|
||||
<a href="tel:+79251404737">+7 (925) 140-47-37</a><br>
|
||||
<a href="tel:+79251404764">+7 (925) 140-47-64</a>
|
||||
<a href="mailto:receptionadmin@o-arena.ru">receptionadmin@o-arena.ru</a>
|
||||
<span>Москва, Автомобильный проезд, 4</span>
|
||||
<span>Ежедневно с 06:00 до 23:00</span>
|
||||
|
||||
Reference in New Issue
Block a user