.hamburger-line:nth-child(1) {
top: 0;
}
.hamburger-line:nth-child(2) {
top: 10px;
}
.hamburger-line:nth-child(3) {
top: 20px;
}
/* Hamburger to X animation */
.hamburger-menu.active .hamburger-line:nth-child(1) {
transform: rotate(45deg);
top: 10px;
}
.hamburger-menu.active .hamburger-line:nth-child(2) {
opacity: 0;
}
.hamburger-menu.active .hamburger-line:nth-child(3) {
transform: rotate(-45deg);
top: 10px;
}
/* Старые CSS стили nav-menu удалены */
/* Все старые стили nav-menu удалены */
}
/* nav-menu-link hover удален */
.menu-cta-button {
background: linear-gradient(135deg, #F3EAD9, #E6DDC6);
color: #575756;
padding: 15px 30px;
border-radius: 30px;
text-decoration: none;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
margin-top: 30px;
}
.menu-cta-button:hover {
transform: translateY(-2px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
color: #575756;
}
/* Fixed header with glass effect */
.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 15px 20px;
position: fixed;
top: 0;
left: 0;
right: 0;
z-index: 1001;
background: rgba(87, 87, 86, 0.8);
backdrop-filter: blur(10px);
box-shadow: 0 2px 20px rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
height: 60px;
}
/* Desktop Navigation positioning */
.desktop-nav {
order: 1;
flex: 1;
display: none; /* Hidden by default on mobile */
justify-content: flex-start;
gap: 30px;
}
/* Header Logo positioning */
.header-logo {
order: 2;
position: absolute;
left: 50%;
transform: translateX(-50%);
width: 120px;
height: 40px;
background: url('/static/logo.png') no-repeat center;
background-size: contain;
z-index: 1002;
cursor: pointer;
transition: opacity 0.3s ease;
text-decoration: none;
display: block;
pointer-events: auto;
}
.header-logo:hover {
opacity: 0.8;
}
/* Page Banner */
.page-banner {
background: linear-gradient(135deg, #F3EAD9, #E6DDC6);
padding: 120px 20px 60px;
text-align: center;
margin-bottom: 40px;
}
.page-title {
font-size: 3rem;
font-weight: 700;
color: #575756;
margin-bottom: 15px;
}
.page-subtitle {
font-size: 1.2rem;
color: #8B7355;
margin-bottom: 20px;
}
.page-description {
font-size: 1rem;
color: #A89B9B;
max-width: 600px;
margin: 0 auto;
}
/* Gallery Filter */
.gallery-filter {
max-width: 1200px;
margin: 0 auto 50px;
padding: 0 20px;
}
.filter-container {
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 15px;
}
.filter-button {
background: rgba(255, 255, 255, 0.9);
color: #575756;
border: 2px solid transparent;
padding: 12px 25px;
border-radius: 25px;
text-decoration: none;
font-weight: 500;
transition: all 0.3s ease;
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}
.filter-button:hover {
background: #575756;
color: #F3EAD9;
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}
.filter-button.active {
background: #575756;
color: #F3EAD9;
border-color: #F3EAD9;
}
/* Gallery Grid */
.gallery-container {
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
.gallery-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(350px, 1fr));
gap: 30px;
margin-bottom: 60px;
}
.gallery-item {
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
overflow: hidden;
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
transition: all 0.4s ease;
position: relative;
}
.gallery-item:hover {
transform: translateY(-10px) scale(1.02);
box-shadow: 0 25px 80px rgba(0, 0, 0, 0.3);
}
.gallery-image { width:100%; height:300px; object-fit:cover; image-rendering:auto; transition: transform .4s ease; }
.gallery-item:hover .gallery-image {
transform: scale(1.1);
}
.gallery-overlay {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(135deg, rgba(87, 87, 86, 0.9), rgba(74, 74, 73, 0.9));
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
opacity: 0;
transition: opacity 0.4s ease;
padding: 30px;
text-align: center;
}
.gallery-item:hover .gallery-overlay {
opacity: 1;
}
.gallery-title {
color: #F3EAD9;
font-size: 1.3rem;
font-weight: 600;
margin-bottom: 10px;
}
.gallery-description {
color: #D7D0C1;
font-size: 0.9rem;
margin-bottom: 15px;
}
.gallery-category {
background: rgba(243, 234, 217, 0.2);
color: #F3EAD9;
padding: 5px 15px;
border-radius: 15px;
font-size: 0.8rem;
font-weight: 500;
}
.gallery-info {
padding: 25px;
}
.gallery-info-title {
font-size: 1.2rem;
font-weight: 600;
color: #575756;
margin-bottom: 10px;
}
.gallery-info-description {
color: #8B7355;
font-size: 0.9rem;
line-height: 1.5;
}
/* Empty State */
.empty-gallery {
text-align: center;
padding: 80px 20px;
background: rgba(255, 255, 255, 0.95);
border-radius: 20px;
box-shadow: 0 15px 50px rgba(0, 0, 0, 0.2);
}
/* Booking Modal Styles */
.booking-modal {
display: none;
position: fixed;
z-index: 2000;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(87, 87, 86, 0.8);
backdrop-filter: blur(10px);
}
.booking-modal-content {
background: rgba(87, 87, 86, 0.9);
backdrop-filter: blur(10px);
margin: 15% auto;
padding: 0;
border-radius: 15px;
width: 90%;
max-width: 400px;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
animation: modalSlideIn 0.3s ease-out;
}
@keyframes modalSlideIn {
from {
opacity: 0;
transform: translateY(-50px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
.booking-modal-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 20px 25px;
border-bottom: 1px solid rgba(215, 208, 193, 0.2);
}
.booking-modal-header h3 {
color: #D7D0C1;
font-family: 'Montserrat', sans-serif;
font-size: 1.2rem;
font-weight: 600;
margin: 0;
text-transform: uppercase;
letter-spacing: 1px;
}
.booking-modal-close {
background: none;
border: none;
color: #D7D0C1;
font-size: 24px;
cursor: pointer;
padding: 0;
width: 30px;
height: 30px;
display: flex;
align-items: center;
justify-content: center;
transition: color 0.3s ease;
}
.booking-modal-close:hover {
color: #FFFFFF;
}
.booking-modal-body {
padding: 25px;
}
.booking-buttons {
display: flex;
flex-direction: column;
gap: 15px;
}
.booking-button {
display: flex;
align-items: center;
gap: 15px;
padding: 15px 20px;
border-radius: 10px;
text-decoration: none;
font-family: 'Montserrat', sans-serif;
font-size: 14px;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 1px;
transition: all 0.3s ease;
border: 2px solid transparent;
}
.booking-button i {
font-size: 18px;
width: 20px;
text-align: center;
}
.booking-button.online { background: #D7D0C1; color: #575756; text-decoration: none; }
.booking-button.online:hover { background: #C4BBA8; transform: translateY(-2px); }
.booking-button.telegram {
background: #0088cc;
color: #FFFFFF;
}
.booking-button.telegram:hover {
background: #0077b3;
transform: translateY(-2px);
}
.booking-button.whatsapp {
background: #25D366;
color: #FFFFFF;
}
.booking-button.whatsapp:hover {
background: #20ba5a;
transform: translateY(-2px);
}
.booking-button.phone {
background: transparent;
color: #D7D0C1;
border-color: #D7D0C1;
}
.booking-button.phone:hover {
background: rgba(215, 208, 193, 0.1);
transform: translateY(-2px);
}
.empty-icon {
font-size: 4rem;
color: #A89B9B;
margin-bottom: 20px;
}
.empty-title {
font-size: 1.8rem;
font-weight: 600;
color: #575756;
margin-bottom: 15px;
}
.empty-description {
color: #8B7355;
font-size: 1rem;
}
/* CTA Section */
.cta-section {
background: linear-gradient(135deg, #575756, #4A4A49);
color: #F3EAD9;
padding: 80px 20px;
text-align: center;
margin: 60px 0;
border-radius: 20px;
margin-left: 20px;
margin-right: 20px;
}
.cta-title {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 20px;
}
.cta-description {
font-size: 1.1rem;
margin-bottom: 40px;
color: #D7D0C1;
}
.cta-buttons {
display: flex;
justify-content: center;
gap: 20px;
flex-wrap: wrap;
}
.cta-button {
background: linear-gradient(135deg, #F3EAD9, #E6DDC6);
color: #575756;
padding: 15px 30px;
border-radius: 30px;
text-decoration: none;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
display: flex;
align-items: center;
gap: 10px;
}
.cta-button:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
color: #575756;
}
.cta-button.secondary {
background: transparent;
color: #F3EAD9;
border: 2px solid #F3EAD9;
}
.cta-button.secondary:hover {
background: #F3EAD9;
color: #575756;
}
/* Footer Styles */
.footer {
background: linear-gradient(135deg, #575756, #4A4A49);
color: #D7D0C1;
padding: 60px 20px 30px;
margin-top: 80px;
}
.footer-container {
max-width: 1200px;
margin: 0 auto;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 40px;
}
.footer-section {
display: flex;
flex-direction: column;
gap: 15px;
}
.footer-section-title {
font-size: 1.2rem;
font-weight: 600;
margin-bottom: 10px;
color: #F3EAD9;
}
.footer-section-content {
display: flex;
flex-direction: column;
gap: 10px;
}
.footer-link {
color: #D7D0C1;
text-decoration: none;
transition: color 0.3s ease;
display: flex;
align-items: center;
gap: 10px;
}
.footer-link:hover {
color: #F3EAD9;
}
.footer-social {
display: flex;
gap: 15px;
margin-top: 10px;
}
.footer-social a {
color: #D7D0C1;
font-size: 1.5rem;
transition: color 0.3s ease;
}
.footer-social a:hover {
color: #F3EAD9;
}
.footer-bottom {
margin-top: 40px;
padding-top: 30px;
border-top: 1px solid rgba(215, 208, 193, 0.2);
text-align: center;
color: #A89B9B;
font-size: 0.9rem;
}
.footer-bottom-links {
display: flex;
justify-content: center;
gap: 30px;
margin-top: 15px;
}
.footer-bottom-links a {
color: #A89B9B;
text-decoration: none;
transition: color 0.3s ease;
}
.footer-bottom-links a:hover {
color: #D7D0C1;
}
/* Mobile styles for fixed header */
@media (max-width: 767px) {
.header {
padding: 15px 15px;
height: 60px;
}
.hamburger-menu {
position: fixed;
top: 18px;
left: 15px;
z-index: 1005;
}
}
/* Responsive Design */
@media (min-width: 768px) {
/* Show desktop navigation */
.desktop-nav {
display: flex !important;
}
/* Hide hamburger menu on desktop */
.hamburger-menu {
display: none;
}
/* Header overrides on light hero background */
.app-header .desktop-nav a { color: #575756 !important; }
.app-header .desktop-nav a:hover { color: #4A4A49 !important; }
.app-header .header-logo { filter: brightness(0) saturate(100%) invert(12%) sepia(7%) saturate(393%) hue-rotate(14deg) brightness(92%) contrast(86%); }
}
/* Header overrides on light hero background (mobile) */
@media (max-width: 767px) {
#app-hamburger span { background: #575756 !important; }
.app-header .header-logo { filter: brightness(0) saturate(100%) invert(12%) sepia(7%) saturate(393%) hue-rotate(14deg) brightness(92%) contrast(86%); }
}
.page-banner {
padding: 100px 20px 40px;
margin-bottom: 30px;
}
.page-title {
font-size: 2rem;
}
.page-subtitle {
font-size: 1rem;
}
.page-description {
font-size: 0.9rem;
}
.gallery-filter {
margin-bottom: 30px;
}
.filter-container {
gap: 10px;
}
.filter-button {
padding: 10px 20px;
font-size: 0.9rem;
}
.gallery-grid {
grid-template-columns: 1fr;
gap: 20px;
margin-bottom: 40px;
}
.gallery-image {
height: 250px;
}
.gallery-info {
padding: 20px;
}
.gallery-info-title {
font-size: 1.1rem;
}
.cta-section {
padding: 50px 20px;
margin: 40px 0;
}
.cta-title {
font-size: 1.8rem;
}
.cta-description {
font-size: 1rem;
}
.cta-buttons {
flex-direction: column;
align-items: center;
}
.cta-button {
width: 100%;
max-width: 300px;
justify-content: center;
}
Галерея работ
Примеры наших работ по перманентному макияжу