Compare commits
5 Commits
288f028235
...
style/phot
| Author | SHA1 | Date | |
|---|---|---|---|
| 3dd98c874e | |||
| bd4f74acde | |||
| 382afe7694 | |||
| d426e3cb3e | |||
|
|
98f3d12455 |
@@ -383,7 +383,7 @@ img {
|
|||||||
}
|
}
|
||||||
.section__head p {
|
.section__head p {
|
||||||
color: rgba(255, 255, 255, 0.8);
|
color: rgba(255, 255, 255, 0.8);
|
||||||
font-size: 28px;
|
font-size: 20px;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -616,7 +616,7 @@ img {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 16px 18px;
|
padding: 16px 18px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: rgba(7, 10, 12, 0.84);
|
background: rgb(7, 10, 12);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(10px);
|
transform: translateY(10px);
|
||||||
color: rgba(255, 255, 255, 0.7);
|
color: rgba(255, 255, 255, 0.7);
|
||||||
@@ -690,6 +690,19 @@ img {
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 1.2;
|
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 {
|
.gallery {
|
||||||
background: linear-gradient(90deg, #293133, #20272a);
|
background: linear-gradient(90deg, #293133, #20272a);
|
||||||
@@ -719,13 +732,81 @@ img {
|
|||||||
background-position: center;
|
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 {
|
.review-card {
|
||||||
background: rgba(18, 18, 18, 0.4);
|
background: rgba(18, 18, 18, 0.4);
|
||||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
border-radius: 16px;
|
border-radius: 16px;
|
||||||
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
min-height: 206px;
|
flex: 0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-gap)) / var(--reviews-visible));
|
||||||
padding: 33px;
|
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;
|
transition: transform 0.3s ease, border-color 0.3s ease;
|
||||||
}
|
}
|
||||||
.review-card:hover {
|
.review-card:hover {
|
||||||
@@ -740,15 +821,29 @@ img {
|
|||||||
}
|
}
|
||||||
.review-card strong {
|
.review-card strong {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 10px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
.review-card span {
|
.review-card__meta {
|
||||||
color: rgba(255, 255, 255, 0.7);
|
padding-top: 14px;
|
||||||
font-size: 16px;
|
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
line-height: 1.2;
|
}
|
||||||
|
.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 {
|
.stats {
|
||||||
@@ -954,7 +1049,7 @@ img {
|
|||||||
.contacts-card__item-content a {
|
.contacts-card__item-content a {
|
||||||
color: rgba(255, 255, 255, 0.9);
|
color: rgba(255, 255, 255, 0.9);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.4;
|
line-height: 1.8;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-underline-offset: 2px;
|
text-underline-offset: 2px;
|
||||||
}
|
}
|
||||||
@@ -1414,6 +1509,9 @@ img {
|
|||||||
.hero__actions {
|
.hero__actions {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
}
|
}
|
||||||
|
.reviews {
|
||||||
|
--reviews-visible: 2;
|
||||||
|
}
|
||||||
.highlights__grid,
|
.highlights__grid,
|
||||||
.gallery__grid,
|
.gallery__grid,
|
||||||
.reviews__grid,
|
.reviews__grid,
|
||||||
@@ -1477,6 +1575,16 @@ img {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media only screen and (max-width: 768px) {
|
@media only screen and (max-width: 768px) {
|
||||||
|
.reviews {
|
||||||
|
--reviews-visible: 1;
|
||||||
|
}
|
||||||
|
.reviews__slider {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
.reviews__nav {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
.container {
|
.container {
|
||||||
padding: 0 16px;
|
padding: 0 16px;
|
||||||
}
|
}
|
||||||
|
|||||||
2
assets/css/main.min.css
vendored
BIN
assets/images/renders/no_photo.png
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/images/renders/photo_olimp_rest1.jpg
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
assets/images/renders/photo_olimp_rest2.jpg
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
assets/images/renders/photo_olimp_rest3.jpg
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
assets/images/renders/photo_olimp_rest4.jpg
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
assets/images/renders/photo_olimp_rest5.jpg
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
assets/images/renders/photo_olimp_rest6.jpg
Normal file
|
After Width: | Height: | Size: 109 KiB |
BIN
assets/images/renders/photo_olimp_rest7.jpg
Normal file
|
After Width: | Height: | Size: 134 KiB |
BIN
assets/images/renders/photo_olimp_sport1.jpg
Normal file
|
After Width: | Height: | Size: 141 KiB |
BIN
assets/images/renders/photo_olimp_sport2.jpg
Normal file
|
After Width: | Height: | Size: 202 KiB |
BIN
assets/images/renders/photo_olimp_sport3.jpg
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
assets/images/renders/photo_olimp_sport4.jpg
Normal file
|
After Width: | Height: | Size: 197 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 bookingForm = document.getElementById("booking-form");
|
||||||
const successModal = document.getElementById("booking-success-modal");
|
const successModal = document.getElementById("booking-success-modal");
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ img {
|
|||||||
|
|
||||||
p {
|
p {
|
||||||
color: $color-text-soft;
|
color: $color-text-soft;
|
||||||
font-size: 28px;
|
font-size: 20px;
|
||||||
line-height: 1.15;
|
line-height: 1.15;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -625,7 +625,7 @@ img {
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding: 16px 18px;
|
padding: 16px 18px;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
background: rgba(7, 10, 12, 0.84);
|
background: rgba(7, 10, 12, 1);
|
||||||
opacity: 0;
|
opacity: 0;
|
||||||
transform: translateY(10px);
|
transform: translateY(10px);
|
||||||
color: $color-text-muted;
|
color: $color-text-muted;
|
||||||
@@ -707,6 +707,22 @@ img {
|
|||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 1.2;
|
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;
|
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 {
|
.review-card {
|
||||||
@include card;
|
@include card;
|
||||||
min-height: 206px;
|
flex: 0 0 calc((100% - (var(--reviews-visible) - 1) * var(--reviews-gap)) / var(--reviews-visible));
|
||||||
padding: 33px;
|
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;
|
transition: transform 0.3s ease, border-color 0.3s ease;
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
@@ -761,16 +855,32 @@ img {
|
|||||||
|
|
||||||
strong {
|
strong {
|
||||||
display: block;
|
display: block;
|
||||||
margin-bottom: 8px;
|
margin-bottom: 10px;
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
span {
|
&__meta {
|
||||||
color: $color-text-muted;
|
padding-top: 14px;
|
||||||
font-size: 16px;
|
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
line-height: 1.2;
|
|
||||||
|
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 {
|
a {
|
||||||
color: rgba(255, 255, 255, 0.9);
|
color: rgba(255, 255, 255, 0.9);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
line-height: 1.4;
|
line-height: 1.8;
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
text-underline-offset: 2px;
|
text-underline-offset: 2px;
|
||||||
}
|
}
|
||||||
@@ -1565,6 +1675,10 @@ img {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.reviews {
|
||||||
|
--reviews-visible: 2;
|
||||||
|
}
|
||||||
|
|
||||||
.highlights__grid,
|
.highlights__grid,
|
||||||
.gallery__grid,
|
.gallery__grid,
|
||||||
.reviews__grid,
|
.reviews__grid,
|
||||||
@@ -1650,6 +1764,19 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@include respond($bp-md) {
|
@include respond($bp-md) {
|
||||||
|
.reviews {
|
||||||
|
--reviews-visible: 1;
|
||||||
|
|
||||||
|
&__slider {
|
||||||
|
grid-template-columns: 1fr;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
&__nav {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.container {
|
.container {
|
||||||
padding: 0 16px;
|
padding: 0 16px;
|
||||||
}
|
}
|
||||||
|
|||||||
128
index.html
@@ -33,7 +33,7 @@
|
|||||||
лёд, залы, проживание и питание на одной территории
|
лёд, залы, проживание и питание на одной территории
|
||||||
</h1>
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
Два ледовых поля 56×26 м, универсальный зал, фитнес-центр и
|
Два ледовых поля 58×26 м, универсальный зал, фитнес-центр и
|
||||||
апарт-отель на 70+ номеров. В пределах ТТК.
|
апарт-отель на 70+ номеров. В пределах ТТК.
|
||||||
</p>
|
</p>
|
||||||
<ul class="hero__tags">
|
<ul class="hero__tags">
|
||||||
@@ -95,7 +95,7 @@
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="object-card">
|
<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/6399e455dd0120ee5802a0d0_643691cf6bb745.08564640.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/photo_olimp_sport4.jpg');"></div>
|
||||||
<div class="object-card__content">
|
<div class="object-card__content">
|
||||||
<h3>Фитнес-центр</h3>
|
<h3>Фитнес-центр</h3>
|
||||||
<p>Кардио, силовая и функциональная зоны. Premium-оборудование.</p>
|
<p>Кардио, силовая и функциональная зоны. Premium-оборудование.</p>
|
||||||
@@ -103,7 +103,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</article>
|
</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__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">
|
<div class="object-card__content">
|
||||||
<h3>Зал хореографии</h3>
|
<h3>Зал хореографии</h3>
|
||||||
@@ -113,7 +113,7 @@
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="object-card object-card--reverse">
|
<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/6399e455dd0120ee5802a0d0_643691cf6bb745.08564640.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/no_photo.png');"></div>
|
||||||
<div class="object-card__content">
|
<div class="object-card__content">
|
||||||
<h3>Апарт-отель</h3>
|
<h3>Апарт-отель</h3>
|
||||||
<p>70+ номеров для команд и гостей. Прямо на территории.</p>
|
<p>70+ номеров для команд и гостей. Прямо на территории.</p>
|
||||||
@@ -122,7 +122,7 @@
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="object-card">
|
<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/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/photo_olimp_rest7.jpg');"></div>
|
||||||
<div class="object-card__content">
|
<div class="object-card__content">
|
||||||
<h3>Ресторан</h3>
|
<h3>Ресторан</h3>
|
||||||
<p>Сбалансированное спортивное питание. Меню для команд.</p>
|
<p>Сбалансированное спортивное питание. Меню для команд.</p>
|
||||||
@@ -131,7 +131,7 @@
|
|||||||
</article>
|
</article>
|
||||||
|
|
||||||
<article class="object-card object-card--reverse">
|
<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/8540eec74dd51616e6b30215183b38ad1-870x580.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/no_photo.png');"></div>
|
||||||
<div class="object-card__content">
|
<div class="object-card__content">
|
||||||
<h3>Парковка и подъезд</h3>
|
<h3>Парковка и подъезд</h3>
|
||||||
<p>Своя парковка для гостей и автобусов команд.</p>
|
<p>Своя парковка для гостей и автобусов команд.</p>
|
||||||
@@ -229,7 +229,7 @@
|
|||||||
<p>от 25.000₽/час</p>
|
<p>от 25.000₽/час</p>
|
||||||
</article>
|
</article>
|
||||||
<article class="pricing-item">
|
<article class="pricing-item">
|
||||||
<h3>Аренда универсального зала</h3>
|
<h3>Универсальный зал</h3>
|
||||||
<p>от 7.000₽/час</p>
|
<p>от 7.000₽/час</p>
|
||||||
</article>
|
</article>
|
||||||
<article class="pricing-item">
|
<article class="pricing-item">
|
||||||
@@ -254,14 +254,116 @@
|
|||||||
<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/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/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/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/ledovie.jpg');"></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/renders/photo_olimp_rest1.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_rest2.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_rest3.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_rest4.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_rest5.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_sport1.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_sport2.jpg');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('./assets/images/renders/photo_olimp_sport3.jpg');"></div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</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">
|
<div class="container">
|
||||||
<header class="section__head">
|
<header class="section__head">
|
||||||
<h2>Цифры о комплексе</h2>
|
<h2>Цифры о комплексе</h2>
|
||||||
@@ -345,7 +447,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="contacts-card__item-content">
|
<div class="contacts-card__item-content">
|
||||||
<strong>Адрес</strong>
|
<strong>Адрес</strong>
|
||||||
<span>Москва, Автомобильный проезд, 4</span>
|
<span>Москва, Автомобильный проезд, 4к5</span>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
@@ -367,7 +469,7 @@
|
|||||||
</span>
|
</span>
|
||||||
<div class="contacts-card__item-content">
|
<div class="contacts-card__item-content">
|
||||||
<strong>Телефон</strong>
|
<strong>Телефон</strong>
|
||||||
<a href="tel:+79251404737">+7 (925) 140-47-37</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>
|
<a href="tel:+79251404764">+7 (925) 140-47-64</a>
|
||||||
</div>
|
</div>
|
||||||
</li>
|
</li>
|
||||||
@@ -480,7 +582,7 @@
|
|||||||
</nav>
|
</nav>
|
||||||
<div class="footer__contacts">
|
<div class="footer__contacts">
|
||||||
<h4>Контакты и режим работы</h4>
|
<h4>Контакты и режим работы</h4>
|
||||||
<a href="tel:+79251404737">+7 (925) 140-47-37</a>
|
<a href="tel:+79251404737">+7 (925) 140-47-37</a><br>
|
||||||
<a href="tel:+79251404764">+7 (925) 140-47-64</a>
|
<a href="tel:+79251404764">+7 (925) 140-47-64</a>
|
||||||
<a href="mailto:receptionadmin@o-arena.ru">receptionadmin@o-arena.ru</a>
|
<a href="mailto:receptionadmin@o-arena.ru">receptionadmin@o-arena.ru</a>
|
||||||
<span>Москва, Автомобильный проезд, 4</span>
|
<span>Москва, Автомобильный проезд, 4</span>
|
||||||
|
|||||||