Merge pull request 'feat: making a draft, a peer-reviewed first page' (#1) from feature/init into main
All checks were successful
Deploy Olimparena / deploy (push) Successful in 14s
All checks were successful
Deploy Olimparena / deploy (push) Successful in 14s
Reviewed-on: #1
This commit was merged in pull request #1.
This commit is contained in:
750
assets/css/main.css
Normal file
750
assets/css/main.css
Normal file
@@ -0,0 +1,750 @@
|
|||||||
|
/* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
v2.0 | 20110126
|
||||||
|
License: none (public domain)
|
||||||
|
*/
|
||||||
|
html, body, div, span, applet, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
a, abbr, acronym, address, big, cite, code,
|
||||||
|
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||||
|
small, strike, strong, sub, sup, tt, var,
|
||||||
|
b, u, i, center,
|
||||||
|
dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, embed,
|
||||||
|
figure, figcaption, footer, header, hgroup,
|
||||||
|
menu, nav, output, ruby, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
ol, ul {
|
||||||
|
list-style: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote, q {
|
||||||
|
quotes: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after {
|
||||||
|
content: "";
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
:root {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
background: #121212;
|
||||||
|
color: #ffffff;
|
||||||
|
font-family: "Segoe UI", "Segoe UI Variable", "Helvetica Neue", Arial, sans-serif;
|
||||||
|
min-width: 1200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 1400px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.site {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 18px 24px;
|
||||||
|
border-radius: 14px;
|
||||||
|
background: #cf1717;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 24px;
|
||||||
|
box-shadow: 0 25px 50px rgba(231, 0, 11, 0.5);
|
||||||
|
border: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn--small {
|
||||||
|
padding: 10px 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
box-shadow: 0 10px 15px rgba(231, 0, 11, 0.4), 0 4px 6px rgba(231, 0, 11, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn--ghost {
|
||||||
|
background: rgba(41, 49, 51, 0.6);
|
||||||
|
border: 2px solid rgba(255, 255, 255, 0.2);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0 0 auto;
|
||||||
|
z-index: 20;
|
||||||
|
background: rgba(18, 18, 18, 0.95);
|
||||||
|
border-bottom: 1px solid rgba(207, 23, 23, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
min-height: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
display: inline-flex;
|
||||||
|
width: 137px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__nav {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 32px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__nav a {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero {
|
||||||
|
position: relative;
|
||||||
|
min-height: 852px;
|
||||||
|
padding-top: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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("https://www.figma.com/api/mcp/asset/e5a37fb1-e23a-4258-855e-e6951519202d") center/cover no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__bg::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 8px), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 8px);
|
||||||
|
mix-blend-mode: soft-light;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__content {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
max-width: 816px;
|
||||||
|
margin-left: 528px;
|
||||||
|
padding-top: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h1 {
|
||||||
|
max-width: 768px;
|
||||||
|
font-size: 72px;
|
||||||
|
line-height: 90px;
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h1 span {
|
||||||
|
color: #cf1717;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero p {
|
||||||
|
max-width: 768px;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 32.5px;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 12px;
|
||||||
|
margin-bottom: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__tags li {
|
||||||
|
padding: 9px 17px;
|
||||||
|
border-radius: 999px;
|
||||||
|
border: 1px solid rgba(207, 23, 23, 0.3);
|
||||||
|
background: rgba(41, 49, 51, 0.6);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlights {
|
||||||
|
background: #293133;
|
||||||
|
padding: 96px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlights__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-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: 178px;
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-card h3 {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-card p {
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
position: relative;
|
||||||
|
padding: 96px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section--pattern {
|
||||||
|
background: #1a2124;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section--pattern::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background-image: radial-gradient(circle at 80px 80px, rgba(207, 23, 23, 0.25) 0 2px, transparent 2px 70px), radial-gradient(circle at 120px 120px, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 48px);
|
||||||
|
background-size: 320px 320px;
|
||||||
|
opacity: 0.4;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section > .container {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head h2 {
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head p {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.advantages__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-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: 162px;
|
||||||
|
padding: 25px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card::before {
|
||||||
|
content: "";
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
border-radius: 14px;
|
||||||
|
background: rgba(207, 23, 23, 0.16);
|
||||||
|
border: 1px solid rgba(207, 23, 23, 0.32);
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card h3 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card p {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.objects .section__head {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card--reverse .object-card__image {
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card--reverse .object-card__content {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__image {
|
||||||
|
min-height: 400px;
|
||||||
|
border-radius: 16px;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content {
|
||||||
|
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: 338px;
|
||||||
|
align-self: center;
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content h3 {
|
||||||
|
font-size: 36px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content p {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content ul {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 14px;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li + li {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 12px;
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #cf1717;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services {
|
||||||
|
background: #293133;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-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);
|
||||||
|
padding: 33px;
|
||||||
|
min-height: 260px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card h3 {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1.15;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card p {
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
margin-bottom: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card a {
|
||||||
|
display: inline-flex;
|
||||||
|
width: fit-content;
|
||||||
|
margin-top: 20px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 10px 20px;
|
||||||
|
border-radius: 14px;
|
||||||
|
background: #cf1717;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery {
|
||||||
|
background: #1b2225;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery__item {
|
||||||
|
aspect-ratio: 16/10;
|
||||||
|
border-radius: 16px;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.reviews {
|
||||||
|
background: #1a2023;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reviews__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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);
|
||||||
|
padding: 33px;
|
||||||
|
min-height: 206px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card p {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card span {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats article {
|
||||||
|
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: 144px;
|
||||||
|
padding: 32px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
color: #cf1717;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats span {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking {
|
||||||
|
background: #1b2225;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking__wrap {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking h2 {
|
||||||
|
font-size: 64px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking p {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1.4;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking input {
|
||||||
|
width: 100%;
|
||||||
|
height: 58px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
background: rgba(18, 18, 18, 0.35);
|
||||||
|
border-radius: 14px;
|
||||||
|
padding: 0 24px;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking input::placeholder {
|
||||||
|
color: rgba(255, 255, 255, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking form .btn {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 4px;
|
||||||
|
height: 56px;
|
||||||
|
padding: 0 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card,
|
||||||
|
.hours-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);
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card h3 {
|
||||||
|
font-size: 32px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card li strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card li span {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hours-card h4 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hours-card p {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
background: #12161a;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
padding: 49px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__top {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col h4 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col p,
|
||||||
|
.footer__col span,
|
||||||
|
.footer__col a {
|
||||||
|
display: block;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col p {
|
||||||
|
margin-top: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col a + a,
|
||||||
|
.footer__col span + span {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__socials {
|
||||||
|
display: flex;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__socials a {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom {
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
padding-top: 24px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom span,
|
||||||
|
.footer__bottom a {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom div {
|
||||||
|
display: flex;
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
1
assets/css/main.min.css
vendored
Normal file
1
assets/css/main.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
674
assets/scss/_base.scss
Normal file
674
assets/scss/_base.scss
Normal file
@@ -0,0 +1,674 @@
|
|||||||
|
@use "vars" as *;
|
||||||
|
@use "mixins" as *;
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
background: $color-bg;
|
||||||
|
color: $color-text;
|
||||||
|
font-family: $font-main;
|
||||||
|
min-width: 1200px;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: inherit;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
display: block;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.container {
|
||||||
|
@include container;
|
||||||
|
padding: 0 $container-padding;
|
||||||
|
}
|
||||||
|
|
||||||
|
.site {
|
||||||
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn {
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 18px 24px;
|
||||||
|
border-radius: $radius-sm;
|
||||||
|
background: $color-accent;
|
||||||
|
color: $color-text;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: 700;
|
||||||
|
line-height: 24px;
|
||||||
|
box-shadow: $shadow-accent;
|
||||||
|
border: 0;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn--small {
|
||||||
|
padding: 10px 24px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
box-shadow: 0 10px 15px rgba(231, 0, 11, 0.4), 0 4px 6px rgba(231, 0, 11, 0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn--ghost {
|
||||||
|
background: rgba(41, 49, 51, 0.6);
|
||||||
|
border: 2px solid rgba(255, 255, 255, 0.2);
|
||||||
|
box-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
position: fixed;
|
||||||
|
inset: 0 0 auto;
|
||||||
|
z-index: 20;
|
||||||
|
background: rgba(18, 18, 18, 0.95);
|
||||||
|
border-bottom: 1px solid rgba(207, 23, 23, 0.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__inner {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
min-height: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo {
|
||||||
|
display: inline-flex;
|
||||||
|
width: 137px;
|
||||||
|
height: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo img {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__nav {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
gap: 32px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header__nav a {
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
color: rgba(255, 255, 255, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero {
|
||||||
|
position: relative;
|
||||||
|
min-height: 852px;
|
||||||
|
padding-top: 72px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.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("https://www.figma.com/api/mcp/asset/e5a37fb1-e23a-4258-855e-e6951519202d") center/cover no-repeat;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__bg::after {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background-image: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 8px), repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.045) 0 1px, transparent 1px 8px);
|
||||||
|
mix-blend-mode: soft-light;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__content {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
max-width: 816px;
|
||||||
|
margin-left: 528px;
|
||||||
|
padding-top: 104px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h1 {
|
||||||
|
max-width: 768px;
|
||||||
|
font-size: 72px;
|
||||||
|
line-height: 90px;
|
||||||
|
font-weight: 800;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero h1 span {
|
||||||
|
color: $color-accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero p {
|
||||||
|
max-width: 768px;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 32.5px;
|
||||||
|
color: $color-text-soft;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 12px;
|
||||||
|
margin-bottom: 28px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__tags li {
|
||||||
|
padding: 9px 17px;
|
||||||
|
border-radius: 999px;
|
||||||
|
border: 1px solid $color-border-strong;
|
||||||
|
background: rgba(41, 49, 51, 0.6);
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 600;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hero__actions {
|
||||||
|
display: flex;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlights {
|
||||||
|
background: $color-surface;
|
||||||
|
padding: 96px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlights__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-card {
|
||||||
|
@include card;
|
||||||
|
min-height: 178px;
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-card h3 {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.info-card p {
|
||||||
|
color: $color-text-muted;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section {
|
||||||
|
position: relative;
|
||||||
|
padding: 96px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section--pattern {
|
||||||
|
background: #1a2124;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section--pattern::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
inset: 0;
|
||||||
|
background-image: radial-gradient(circle at 80px 80px, rgba(207, 23, 23, 0.25) 0 2px, transparent 2px 70px), radial-gradient(circle at 120px 120px, rgba(255, 255, 255, 0.06) 0 1px, transparent 1px 48px);
|
||||||
|
background-size: 320px 320px;
|
||||||
|
opacity: 0.4;
|
||||||
|
pointer-events: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section > .container {
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head h2 {
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.section__head p {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1;
|
||||||
|
color: $color-text-soft;
|
||||||
|
}
|
||||||
|
|
||||||
|
.advantages__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card {
|
||||||
|
@include card;
|
||||||
|
min-height: 162px;
|
||||||
|
padding: 25px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card::before {
|
||||||
|
content: "";
|
||||||
|
width: 48px;
|
||||||
|
height: 48px;
|
||||||
|
border-radius: 14px;
|
||||||
|
background: rgba(207, 23, 23, 0.16);
|
||||||
|
border: 1px solid rgba(207, 23, 23, 0.32);
|
||||||
|
display: block;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card h3 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.feature-card p {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: $color-text-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.objects .section__head {
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card:last-child {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card--reverse .object-card__image {
|
||||||
|
order: 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card--reverse .object-card__content {
|
||||||
|
order: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__image {
|
||||||
|
min-height: 400px;
|
||||||
|
border-radius: $radius-md;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content {
|
||||||
|
@include card;
|
||||||
|
min-height: 338px;
|
||||||
|
align-self: center;
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content h3 {
|
||||||
|
font-size: 36px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content p {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
color: $color-text-muted;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content ul {
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 14px;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
color: $color-text-soft;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li + li {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.object-card__content li::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
left: 0;
|
||||||
|
top: 12px;
|
||||||
|
width: 6px;
|
||||||
|
height: 6px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: $color-accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services {
|
||||||
|
background: $color-surface;
|
||||||
|
}
|
||||||
|
|
||||||
|
.services__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card {
|
||||||
|
@include card;
|
||||||
|
padding: 33px;
|
||||||
|
min-height: 260px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card h3 {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1.15;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card p {
|
||||||
|
color: $color-text-muted;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 28px;
|
||||||
|
margin-bottom: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.service-card a {
|
||||||
|
display: inline-flex;
|
||||||
|
width: fit-content;
|
||||||
|
margin-top: 20px;
|
||||||
|
font-size: 14px;
|
||||||
|
line-height: 20px;
|
||||||
|
font-weight: 700;
|
||||||
|
padding: 10px 20px;
|
||||||
|
border-radius: $radius-sm;
|
||||||
|
background: $color-accent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery {
|
||||||
|
background: #1b2225;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.gallery__item {
|
||||||
|
aspect-ratio: 16 / 10;
|
||||||
|
border-radius: $radius-md;
|
||||||
|
background-size: cover;
|
||||||
|
background-position: center;
|
||||||
|
border: 1px solid $color-border;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reviews {
|
||||||
|
background: #1a2023;
|
||||||
|
}
|
||||||
|
|
||||||
|
.reviews__grid {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 64px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card {
|
||||||
|
@include card;
|
||||||
|
padding: 33px;
|
||||||
|
min-height: 206px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card p {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: $color-text-soft;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.review-card span {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: $color-text-muted;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats article {
|
||||||
|
@include card;
|
||||||
|
min-height: 144px;
|
||||||
|
padding: 32px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 48px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
color: $color-accent;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.stats span {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking {
|
||||||
|
background: #1b2225;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking__wrap {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: 1fr 1fr;
|
||||||
|
gap: 48px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking h2 {
|
||||||
|
font-size: 64px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking p {
|
||||||
|
font-size: 28px;
|
||||||
|
line-height: 1.4;
|
||||||
|
color: $color-text-soft;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking form {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking input {
|
||||||
|
width: 100%;
|
||||||
|
height: 58px;
|
||||||
|
border: 1px solid $color-border;
|
||||||
|
background: rgba(18, 18, 18, 0.35);
|
||||||
|
border-radius: 14px;
|
||||||
|
padding: 0 24px;
|
||||||
|
color: $color-text;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 22px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking input::placeholder {
|
||||||
|
color: rgba(255, 255, 255, 0.75);
|
||||||
|
}
|
||||||
|
|
||||||
|
.booking form .btn {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 4px;
|
||||||
|
height: 56px;
|
||||||
|
padding: 0 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card,
|
||||||
|
.hours-card {
|
||||||
|
@include card;
|
||||||
|
padding: 33px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card {
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card h3 {
|
||||||
|
font-size: 32px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 24px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card ul {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
gap: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card li strong {
|
||||||
|
display: block;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
margin-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contacts-card li span {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1.5;
|
||||||
|
color: $color-text-soft;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hours-card h4 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.hours-card p {
|
||||||
|
margin: 0;
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
background: #12161a;
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||||
|
padding: 49px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__top {
|
||||||
|
display: grid;
|
||||||
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
||||||
|
gap: 32px;
|
||||||
|
margin-bottom: 32px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col h4 {
|
||||||
|
font-size: 24px;
|
||||||
|
line-height: 1;
|
||||||
|
font-weight: 700;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col p,
|
||||||
|
.footer__col span,
|
||||||
|
.footer__col a {
|
||||||
|
display: block;
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: $color-text-soft;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col p {
|
||||||
|
margin-top: 16px;
|
||||||
|
line-height: 1.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__col a + a,
|
||||||
|
.footer__col span + span {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__socials {
|
||||||
|
display: flex;
|
||||||
|
gap: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__socials a {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
border-radius: 10px;
|
||||||
|
border: 1px solid $color-border;
|
||||||
|
display: inline-flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: 700;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom {
|
||||||
|
border-top: 1px solid rgba(255, 255, 255, 0.08);
|
||||||
|
padding-top: 24px;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom span,
|
||||||
|
.footer__bottom a {
|
||||||
|
font-size: 20px;
|
||||||
|
line-height: 1;
|
||||||
|
color: rgba(255, 255, 255, 0.7);
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer__bottom div {
|
||||||
|
display: flex;
|
||||||
|
gap: 24px;
|
||||||
|
}
|
||||||
3
assets/scss/_fonts.scss
Normal file
3
assets/scss/_fonts.scss
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
:root {
|
||||||
|
color-scheme: dark;
|
||||||
|
}
|
||||||
17
assets/scss/_mixin.scss
Normal file
17
assets/scss/_mixin.scss
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@use "vars" as *;
|
||||||
|
|
||||||
|
@mixin container{
|
||||||
|
width: 100%;
|
||||||
|
max-width: $container;
|
||||||
|
margin: 0 auto;
|
||||||
|
|
||||||
|
@media only screen and (max-width: 1400px){
|
||||||
|
padding: 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin image{
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
object-fit: contain;
|
||||||
|
}
|
||||||
14
assets/scss/_mixins.scss
Normal file
14
assets/scss/_mixins.scss
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
@use "vars" as *;
|
||||||
|
|
||||||
|
@mixin container {
|
||||||
|
width: 100%;
|
||||||
|
max-width: $container;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
@mixin card {
|
||||||
|
background: rgba(18, 18, 18, 0.4);
|
||||||
|
border: 1px solid $color-border;
|
||||||
|
border-radius: $radius-md;
|
||||||
|
box-shadow: $shadow-card;
|
||||||
|
}
|
||||||
47
assets/scss/_reset.scss
Normal file
47
assets/scss/_reset.scss
Normal file
@@ -0,0 +1,47 @@
|
|||||||
|
/* http://meyerweb.com/eric/tools/css/reset/
|
||||||
|
v2.0 | 20110126
|
||||||
|
License: none (public domain)
|
||||||
|
*/
|
||||||
|
html, body, div, span, applet, object, iframe,
|
||||||
|
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
|
||||||
|
a, abbr, acronym, address, big, cite, code,
|
||||||
|
del, dfn, em, img, ins, kbd, q, s, samp,
|
||||||
|
small, strike, strong, sub, sup, tt, var,
|
||||||
|
b, u, i, center,
|
||||||
|
dl, dt, dd, ol, ul, li,
|
||||||
|
fieldset, form, label, legend,
|
||||||
|
table, caption, tbody, tfoot, thead, tr, th, td,
|
||||||
|
article, aside, canvas, details, embed,
|
||||||
|
figure, figcaption, footer, header, hgroup,
|
||||||
|
menu, nav, output, ruby, section, summary,
|
||||||
|
time, mark, audio, video {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
border: 0;
|
||||||
|
font-size: 100%;
|
||||||
|
font: inherit;
|
||||||
|
vertical-align: baseline;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* HTML5 display-role reset for older browsers */
|
||||||
|
article, aside, details, figcaption, figure,
|
||||||
|
footer, header, hgroup, menu, nav, section {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
|
||||||
|
body { line-height: 1; }
|
||||||
|
|
||||||
|
ol, ul { list-style: none; }
|
||||||
|
|
||||||
|
blockquote, q { quotes: none; }
|
||||||
|
|
||||||
|
blockquote:before, blockquote:after,
|
||||||
|
q:before, q:after {
|
||||||
|
content: '';
|
||||||
|
content: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
table {
|
||||||
|
border-collapse: collapse;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
21
assets/scss/_vars.scss
Normal file
21
assets/scss/_vars.scss
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
$container: 1400px;
|
||||||
|
$container-padding: 24px;
|
||||||
|
|
||||||
|
$font-main: "Segoe UI", "Segoe UI Variable", "Helvetica Neue", Arial, sans-serif;
|
||||||
|
|
||||||
|
$color-bg: #121212;
|
||||||
|
$color-surface: #293133;
|
||||||
|
$color-surface-2: #20272a;
|
||||||
|
$color-border: rgba(255, 255, 255, 0.1);
|
||||||
|
$color-border-strong: rgba(207, 23, 23, 0.3);
|
||||||
|
$color-text: #ffffff;
|
||||||
|
$color-text-muted: rgba(255, 255, 255, 0.7);
|
||||||
|
$color-text-soft: rgba(255, 255, 255, 0.8);
|
||||||
|
$color-accent: #cf1717;
|
||||||
|
|
||||||
|
$radius-sm: 14px;
|
||||||
|
$radius-md: 16px;
|
||||||
|
$radius-lg: 20px;
|
||||||
|
|
||||||
|
$shadow-accent: 0 25px 50px rgba(231, 0, 11, 0.5);
|
||||||
|
$shadow-card: 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 0, 0, 0.1);
|
||||||
5
assets/scss/main.scss
Normal file
5
assets/scss/main.scss
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
@use "reset";
|
||||||
|
@use "fonts";
|
||||||
|
@use "vars" as *;
|
||||||
|
@use "mixins" as *;
|
||||||
|
@use "base";
|
||||||
321
index.html
321
index.html
@@ -1,11 +1,312 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="ru">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>OlimpArena</title>
|
<title>OlimpArena</title>
|
||||||
</head>
|
<link rel="stylesheet" href="./assets/css/main.min.css">
|
||||||
<body>
|
</head>
|
||||||
<h1>OlimpArena IN DEV</h1>
|
<body>
|
||||||
</body>
|
<div class="site">
|
||||||
|
<header class="header" id="top">
|
||||||
|
<div class="container header__inner">
|
||||||
|
<a class="logo" href="#top" aria-label="OlimpArena">
|
||||||
|
<img src="https://www.figma.com/api/mcp/asset/8a836c8e-ef3b-4a4c-80e1-57e33b81f3f2" alt="OlimpArena">
|
||||||
|
</a>
|
||||||
|
<nav class="header__nav" aria-label="Основная навигация">
|
||||||
|
<a href="#objects">Объекты</a>
|
||||||
|
<a href="#services">Услуги</a>
|
||||||
|
<a href="#gallery">Галерея</a>
|
||||||
|
<a href="#contacts">Контакты</a>
|
||||||
|
</nav>
|
||||||
|
<a class="btn btn--small" href="#booking">Забронировать</a>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<main>
|
||||||
|
<section class="hero">
|
||||||
|
<div class="hero__bg" aria-hidden="true"></div>
|
||||||
|
<div class="container hero__content">
|
||||||
|
<h1>
|
||||||
|
Современная
|
||||||
|
<span>спортивная арена</span>
|
||||||
|
в центре Москвы
|
||||||
|
</h1>
|
||||||
|
<p>
|
||||||
|
Два ледовых поля 56×26 м и полный комплекс для тренировок —
|
||||||
|
15 минут пешком от метро Волгоградский проспект
|
||||||
|
</p>
|
||||||
|
<ul class="hero__tags">
|
||||||
|
<li>2 ледовых поля 56×26 м</li>
|
||||||
|
<li>Универсальный зал</li>
|
||||||
|
<li>Фитнес-центр</li>
|
||||||
|
<li>Апарт-комплекс на 150+ спортсменов</li>
|
||||||
|
</ul>
|
||||||
|
<div class="hero__actions">
|
||||||
|
<a class="btn" href="#booking">Забронировать лед / зал</a>
|
||||||
|
<a class="btn btn--ghost" href="#">Посмотреть расписание</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="highlights">
|
||||||
|
<div class="container highlights__grid">
|
||||||
|
<article class="info-card">
|
||||||
|
<h3>Развитая спортивная инфраструктура</h3>
|
||||||
|
<p>Всё для тренировок в одном месте</p>
|
||||||
|
</article>
|
||||||
|
<article class="info-card">
|
||||||
|
<h3>Идеальная транспортная доступность</h3>
|
||||||
|
<p>15 минут пешком от метро</p>
|
||||||
|
</article>
|
||||||
|
<article class="info-card">
|
||||||
|
<h3>Комфортные условия</h3>
|
||||||
|
<p>Проживание и питание на территории</p>
|
||||||
|
</article>
|
||||||
|
<article class="info-card">
|
||||||
|
<h3>Профессиональный сервис</h3>
|
||||||
|
<p>Современное оборудование и команда</p>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section section--pattern advantages">
|
||||||
|
<div class="container">
|
||||||
|
<header class="section__head">
|
||||||
|
<h2>Преимущества</h2>
|
||||||
|
<p>Всё для профессионального спорта и активного отдыха</p>
|
||||||
|
</header>
|
||||||
|
<div class="advantages__grid">
|
||||||
|
<article class="feature-card"><h3>Два ледовых поля</h3><p>Профессиональные поля 56×26 м</p></article>
|
||||||
|
<article class="feature-card"><h3>Универсальный зал</h3><p>Для любых тренировок</p></article>
|
||||||
|
<article class="feature-card"><h3>Фитнес-центр</h3><p>Новейшее оборудование</p></article>
|
||||||
|
<article class="feature-card"><h3>Зал хореографии</h3><p>Для фигуристов и танцоров</p></article>
|
||||||
|
<article class="feature-card"><h3>Зал единоборств</h3><p>Оборудованный татами</p></article>
|
||||||
|
<article class="feature-card"><h3>Апарт-комплекс</h3><p>150+ мест для спортсменов</p></article>
|
||||||
|
<article class="feature-card"><h3>Ресторан</h3><p>Спортивное питание</p></article>
|
||||||
|
<article class="feature-card"><h3>Отличная локация</h3><p>15 минут от метро</p></article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section section--pattern objects" id="objects">
|
||||||
|
<div class="container">
|
||||||
|
<header class="section__head">
|
||||||
|
<h2>Наши объекты</h2>
|
||||||
|
<p>Профессиональная инфраструктура для ваших целей</p>
|
||||||
|
</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('https://images.unsplash.com/photo-1515703407324-5f753afd8be8?auto=format&fit=crop&w=1400&q=80');"></div>
|
||||||
|
<div class="object-card__content">
|
||||||
|
<h3>Ледовые поля</h3>
|
||||||
|
<p>Два профессиональных поля 56×26 м для хоккея, фигурного катания и массовых катаний.</p>
|
||||||
|
<ul>
|
||||||
|
<li>56×26 м, профессиональное покрытие и LED-освещение</li>
|
||||||
|
<li>Хоккей, фигурное катание, массовые катания</li>
|
||||||
|
</ul>
|
||||||
|
<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('https://images.unsplash.com/photo-1544717305-2782549b5136?auto=format&fit=crop&w=1400&q=80');"></div>
|
||||||
|
<div class="object-card__content">
|
||||||
|
<h3>Универсальный зал</h3>
|
||||||
|
<p>Многофункциональное пространство для командных и индивидуальных тренировок.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Полноразмерный зал с современным покрытием</li>
|
||||||
|
<li>Баскетбол, волейбол, мини-футбол, ОФП</li>
|
||||||
|
</ul>
|
||||||
|
<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('https://images.unsplash.com/photo-1571019613454-1cb2f99b2d8b?auto=format&fit=crop&w=1400&q=80');"></div>
|
||||||
|
<div class="object-card__content">
|
||||||
|
<h3>Фитнес-центр</h3>
|
||||||
|
<p>Современная зона для силовых и функциональных тренировок.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Кардио и силовое оборудование нового поколения</li>
|
||||||
|
<li>Персональные и групповые тренировки</li>
|
||||||
|
</ul>
|
||||||
|
<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('https://images.unsplash.com/photo-1571902943202-507ec2618e8f?auto=format&fit=crop&w=1400&q=80');"></div>
|
||||||
|
<div class="object-card__content">
|
||||||
|
<h3>Апарт-комплекс</h3>
|
||||||
|
<p>Комфортное проживание спортсменов и команд на территории комплекса.</p>
|
||||||
|
<ul>
|
||||||
|
<li>150+ мест с современной инфраструктурой</li>
|
||||||
|
<li>Кухня, прачечная, зоны отдыха и восстановления</li>
|
||||||
|
</ul>
|
||||||
|
<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('https://images.unsplash.com/photo-1556909212-d5b604d0c90d?auto=format&fit=crop&w=1400&q=80');"></div>
|
||||||
|
<div class="object-card__content">
|
||||||
|
<h3>Ресторан</h3>
|
||||||
|
<p>Полноценное спортивное питание и меню для командных сборов.</p>
|
||||||
|
<ul>
|
||||||
|
<li>Баланс БЖУ, восстановительные рационы</li>
|
||||||
|
<li>Обслуживание турниров и корпоративных мероприятий</li>
|
||||||
|
</ul>
|
||||||
|
<a class="btn btn--small" href="#booking">Забронировать</a>
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section services" id="services">
|
||||||
|
<div class="container">
|
||||||
|
<header class="section__head">
|
||||||
|
<h2>Услуги</h2>
|
||||||
|
<p>Полный цикл сопровождения тренировочного процесса</p>
|
||||||
|
</header>
|
||||||
|
<div class="services__grid">
|
||||||
|
<article class="service-card"><h3>Аренда площадок</h3><p>Лед, залы и специализированные пространства под задачи команды.</p><a href="#booking">Подробнее</a></article>
|
||||||
|
<article class="service-card"><h3>Тренировочные сборы</h3><p>Проживание, питание и логистика в рамках одного комплекса.</p><a href="#booking">Подробнее</a></article>
|
||||||
|
<article class="service-card"><h3>Турниры и мероприятия</h3><p>Организация соревнований, матчей и корпоративных ивентов.</p><a href="#booking">Подробнее</a></article>
|
||||||
|
<article class="service-card"><h3>Реабилитация и ОФП</h3><p>Фитнес, восстановление и индивидуальные программы подготовки.</p><a href="#booking">Подробнее</a></article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section gallery" id="gallery">
|
||||||
|
<div class="container">
|
||||||
|
<header class="section__head">
|
||||||
|
<h2>Галерея</h2>
|
||||||
|
<p>Пространства OlimpArena в деталях</p>
|
||||||
|
</header>
|
||||||
|
<div class="gallery__grid">
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1541534741688-6078c6bfb5c5?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1546519638-68e109498ffc?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1517466787929-bc90951d0974?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1593079831268-3381b0db4a77?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1571019613914-85f342c55f5f?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
<div class="gallery__item" style="background-image:url('https://images.unsplash.com/photo-1623874514711-0f321325f318?auto=format&fit=crop&w=1000&q=80');"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section reviews">
|
||||||
|
<div class="container">
|
||||||
|
<header class="section__head">
|
||||||
|
<h2>Отзывы</h2>
|
||||||
|
<p>Что говорят о нас спортсмены и тренеры</p>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
<div class="reviews__grid">
|
||||||
|
<article class="review-card">
|
||||||
|
<p>"Лучшие ледовые условия в Москве. Качество льда на высочайшем уровне, всё организовано профессионально."</p>
|
||||||
|
<strong>Александр Иванов</strong>
|
||||||
|
<span>Тренер хоккейной школы</span>
|
||||||
|
</article>
|
||||||
|
<article class="review-card">
|
||||||
|
<p>"Отличный комплекс для тренировок. Залы хореографии и фитнеса действительно помогают прогрессировать быстрее."</p>
|
||||||
|
<strong>Елена Петрова</strong>
|
||||||
|
<span>Фигуристка</span>
|
||||||
|
</article>
|
||||||
|
<article class="review-card">
|
||||||
|
<p>"Проводим здесь турниры уже второй год. Профессиональный подход команды и высокая готовность площадок."</p>
|
||||||
|
<strong>Дмитрий Соколов</strong>
|
||||||
|
<span>Организатор турниров</span>
|
||||||
|
</article>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="stats">
|
||||||
|
<article><strong>150+</strong><span>Мест для проживания</span></article>
|
||||||
|
<article><strong>2</strong><span>Профессиональных ледовых поля</span></article>
|
||||||
|
<article><strong>10</strong><span>Оборудованных раздевалок</span></article>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<section class="section booking" id="booking">
|
||||||
|
<div class="container booking__wrap">
|
||||||
|
<div class="booking__form">
|
||||||
|
<h2>Забронировать время</h2>
|
||||||
|
<p>Заполните форму, и мы свяжемся с вами в ближайшее время для подтверждения заявки.</p>
|
||||||
|
<form action="#" method="post">
|
||||||
|
<label>
|
||||||
|
<input type="text" name="sport" placeholder="Вид спорта">
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="text" name="date" placeholder="Желаемая дата">
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="text" name="name" placeholder="Ваше имя">
|
||||||
|
</label>
|
||||||
|
<label>
|
||||||
|
<input type="tel" name="phone" placeholder="Телефон">
|
||||||
|
</label>
|
||||||
|
<button class="btn" type="submit">Отправить заявку</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="booking__contacts" id="contacts">
|
||||||
|
<div class="contacts-card">
|
||||||
|
<h3>Контакты</h3>
|
||||||
|
<ul>
|
||||||
|
<li><strong>Адрес</strong><span>Москва, в пределах ТТК<br>15 минут от м. Волгоградский проспект</span></li>
|
||||||
|
<li><strong>Телефон</strong><span>+7 (495) 123-45-67</span></li>
|
||||||
|
<li><strong>Email</strong><span>info@olimparena.ru</span></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="hours-card">
|
||||||
|
<h4>Режим работы</h4>
|
||||||
|
<p>Ежедневно: 06:00 — 23:00</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
|
||||||
|
<footer class="footer">
|
||||||
|
<div class="container">
|
||||||
|
<div class="footer__top">
|
||||||
|
<div class="footer__col">
|
||||||
|
<a class="logo" href="#top" aria-label="OlimpArena">
|
||||||
|
<img src="https://www.figma.com/api/mcp/asset/8a836c8e-ef3b-4a4c-80e1-57e33b81f3f2" alt="OlimpArena">
|
||||||
|
</a>
|
||||||
|
<p>Современный спортивный комплекс в центре Москвы</p>
|
||||||
|
</div>
|
||||||
|
<div class="footer__col">
|
||||||
|
<h4>Навигация</h4>
|
||||||
|
<a href="#objects">Объекты</a>
|
||||||
|
<a href="#services">Услуги</a>
|
||||||
|
<a href="#gallery">Галерея</a>
|
||||||
|
<a href="#contacts">Контакты</a>
|
||||||
|
</div>
|
||||||
|
<div class="footer__col">
|
||||||
|
<h4>Контакты</h4>
|
||||||
|
<span>+7 (495) 123-45-67</span>
|
||||||
|
<span>info@olimparena.ru</span>
|
||||||
|
<span>Москва, ТТК</span>
|
||||||
|
</div>
|
||||||
|
<div class="footer__col">
|
||||||
|
<h4>Социальные сети</h4>
|
||||||
|
<div class="footer__socials">
|
||||||
|
<a href="#" aria-label="Telegram">Tg</a>
|
||||||
|
<a href="#" aria-label="VK">Vk</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="footer__bottom">
|
||||||
|
<span>© 2026 OlimpArena. Все права защищены.</span>
|
||||||
|
<div>
|
||||||
|
<a href="#">Политика конфиденциальности</a>
|
||||||
|
<a href="#">Условия использования</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</footer>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
</html>
|
</html>
|
||||||
4219
package-lock.json
generated
Normal file
4219
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load Diff
26
package.json
Normal file
26
package.json
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "olymparena",
|
||||||
|
"version": "1.0.0",
|
||||||
|
"description": "",
|
||||||
|
"main": "index.js",
|
||||||
|
"scripts": {
|
||||||
|
"scss:build": "sass assets/scss/main.scss assets/css/main.css --no-source-map",
|
||||||
|
"css:minify": "postcss assets/css/main.css -o assets/css/main.min.css",
|
||||||
|
"css:build": "npm-run-all scss:build css:minify",
|
||||||
|
"scss:watch": "sass --watch assets/scss:assets/css --no-source-map",
|
||||||
|
"css:watch": "postcss assets/css/main.css -o assets/css/main.min.css --watch",
|
||||||
|
"dev": "npm-run-all --parallel scss:watch css:watch"
|
||||||
|
},
|
||||||
|
"keywords": [],
|
||||||
|
"author": "",
|
||||||
|
"license": "ISC",
|
||||||
|
"type": "commonjs",
|
||||||
|
"devDependencies": {
|
||||||
|
"autoprefixer": "^10.4.27",
|
||||||
|
"cssnano": "^7.1.2",
|
||||||
|
"npm-run-all": "^4.1.5",
|
||||||
|
"postcss": "^8.5.6",
|
||||||
|
"postcss-cli": "^11.0.1",
|
||||||
|
"sass": "^1.97.3"
|
||||||
|
}
|
||||||
|
}
|
||||||
6
postcss.config.cjs
Normal file
6
postcss.config.cjs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
module.exports = {
|
||||||
|
plugins: [
|
||||||
|
require('autoprefixer'),
|
||||||
|
require('cssnano')({ preset: 'default' })
|
||||||
|
]
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user