| |
|
| | :root { |
| | --header-h: 80px; |
| | } |
| | body { |
| | padding: 0; |
| | margin: 0; |
| | font-family: 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', sans-serif; |
| | background: white; |
| | min-height: 100vh; |
| | color: #333; |
| | padding-top: var(--header-h); |
| | } |
| | |
| | .holiday-hero { |
| | position: relative; |
| | background: linear-gradient(135deg, #b91d1d 0%, #166534 100%); |
| | color: white; |
| | padding: 100px 0; |
| | min-height: 500px; |
| | display: flex; |
| | align-items: center; |
| | overflow: hidden; |
| | } |
| |
|
| | .holiday-hero::before { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | left: 0; |
| | width: 100%; |
| | height: 100%; |
| | background: url('https://static.photos/holiday/1200x630/1') center/cover; |
| | opacity: 0.3; |
| | z-index: 0; |
| | } |
| |
|
| | |
| | .snowflakes { |
| | position: absolute; |
| | top: 0; |
| | left: 0; |
| | width: 100%; |
| | height: 100%; |
| | pointer-events: none; |
| | z-index: 1; |
| | } |
| |
|
| | .snowflake { |
| | position: absolute; |
| | color: white; |
| | font-size: 1.5rem; |
| | animation: falling linear infinite; |
| | text-shadow: 0 0 5px white; |
| | } |
| |
|
| | @keyframes falling { |
| | 0% { |
| | transform: translateY(-10vh) rotate(0deg); |
| | opacity: 1; |
| | } |
| | 100% { |
| | transform: translateY(110vh) rotate(360deg); |
| | opacity: 0; |
| | } |
| | } |
| |
|
| | .snowflake:nth-child(1) { |
| | left: 10%; |
| | animation-duration: 8s; |
| | animation-delay: 0s; |
| | } |
| |
|
| | .snowflake:nth-child(2) { |
| | left: 30%; |
| | animation-duration: 10s; |
| | animation-delay: 2s; |
| | } |
| |
|
| | .snowflake:nth-child(3) { |
| | left: 60%; |
| | animation-duration: 7s; |
| | animation-delay: 1s; |
| | } |
| |
|
| | .snowflake:nth-child(4) { |
| | left: 80%; |
| | animation-duration: 9s; |
| | animation-delay: 3s; |
| | } |
| | .hero-banner .container { |
| | position: relative; |
| | z-index: 10; |
| | } |
| |
|
| | .hero-banner::after { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | left: 0; |
| | width: 100%; |
| | height: 100%; |
| | background: rgba(0,0,0,0.3); |
| | } |
| | .holiday-hero h1 { |
| | color: white; |
| | font-size: 3.5rem; |
| | margin-bottom: 1.5rem; |
| | text-shadow: 2px 2px 4px rgba(0,0,0,0.3); |
| | position: relative; |
| | z-index: 2; |
| | } |
| | .holiday-hero p { |
| | font-size: 1.5rem; |
| | text-shadow: 1px 1px 2px rgba(0,0,0,0.3); |
| | position: relative; |
| | z-index: 2; |
| | color: rgba(0,0,0,0.9); |
| | } |
| | .hero-banner p { |
| | color: rgba(255,255,255,0.9); |
| | font-size: 1.25rem; |
| | margin-bottom: 2rem; |
| | } |
| | #beforeAfterModal img { |
| | transition: transform 0.3s ease; |
| | } |
| |
|
| | #beforeAfterModal img:hover { |
| | transform: scale(1.02); |
| | } |
| | |
| | .service-tab { |
| | background: #fff; |
| | border: 1px solid #e5e5e5; |
| | color: #333; |
| | padding: 0.75rem 1.5rem; |
| | border-radius: 50px; |
| | font-weight: 600; |
| | cursor: pointer; |
| | transition: all 0.3s ease; |
| | user-select: none; |
| | } |
| | .service-tab:hover { |
| | background: #f0f0f0; |
| | transform: translateY(-2px); |
| | } |
| |
|
| | .service-tab.active { |
| | background: #333; |
| | color: white; |
| | } |
| | |
| | .service-category { |
| | display: none; |
| | } |
| |
|
| | .service-category.active { |
| | display: block; |
| | animation: fadeIn 0.5s ease; |
| | } |
| |
|
| | @keyframes fadeIn { |
| | from { opacity: 0; } |
| | to { opacity: 1; } |
| | } |
| | .logo { |
| | background: linear-gradient(90deg, #2196F3 0%, #E53935 100%); |
| | -webkit-background-clip: text; |
| | background-clip: text; |
| | color: transparent; |
| | font-weight: 700; |
| | font-size: 2rem; |
| | text-shadow: 0 2px 4px rgba(0,0,0,0.1); |
| | animation: gradientFlow 5s ease infinite; |
| | background-size: 200% 200%; |
| | } |
| | @keyframes gradientFlow { |
| | 0% {background-position: 0% 50%;} |
| | 50% {background-position: 100% 50%;} |
| | 100% {background-position: 0% 50%;} |
| | } |
| | .hero-logo { |
| | mix-blend-mode: overlay; |
| | filter: brightness(1.2); |
| | } |
| | h1, h2, h3 { |
| | color: #1565C0; |
| | font-weight: 600; |
| | } |
| |
|
| | p { |
| | color: #546E7A; |
| | line-height: 1.6; |
| | } |
| |
|
| | .card { |
| | max-width: 800px; |
| | margin: 2rem auto; |
| | padding: 2rem; |
| | background: white; |
| | border-radius: 12px; |
| | box-shadow: 0 10px 30px rgba(33, 150, 243, 0.1); |
| | border: none; |
| | } |
| |
|
| | .primary-btn { |
| | background: linear-gradient(90deg, #2196F3 0%, #1976D2 100%); |
| | color: white; |
| | border: none; |
| | padding: 12px 24px; |
| | border-radius: 8px; |
| | font-weight: 600; |
| | transition: all 0.3s ease; |
| | box-shadow: 0 4px 6px rgba(33, 150, 243, 0.2); |
| | } |
| | .primary-btn:hover { |
| | transform: translateY(-2px); |
| | box-shadow: 0 6px 12px rgba(33, 150, 243, 0.3); |
| | } |
| |
|
| | |
| | #estimate-result { |
| | transition: all 0.3s ease; |
| | } |
| | .form-group.hidden { |
| | display: none; |
| | opacity: 0; |
| | height: 0; |
| | padding: 0; |
| | margin: 0; |
| | overflow: hidden; |
| | transition: all 0.3s ease; |
| | } |
| | .form-input { |
| | width: 100%; |
| | padding: 0.75rem; |
| | border: 1px solid #e2e8f0; |
| | border-radius: 0.375rem; |
| | transition: border-color 0.2s; |
| | } |
| |
|
| | .form-input:focus { |
| | outline: none; |
| | border-color: #4299e1; |
| | box-shadow: 0 0 0 3px rgba(66, 153, 225, 0.2); |
| | } |
| | |
| | .contact-wrapper { |
| | display: flex; |
| | gap: 2rem; |
| | align-items: flex-start; |
| | } |
| |
|
| | .contact-info { |
| | flex: 1; |
| | } |
| |
|
| | .contact-form { |
| | flex: 1; |
| | } |
| |
|
| | |
| | @media (min-width: 769px) { |
| | .contact-wrapper { |
| | flex-direction: row; |
| | } |
| | } |
| |
|
| | |
| | @media (max-width: 768px) { |
| | .contact-wrapper { |
| | flex-direction: column-reverse; |
| | gap: 1rem; |
| | } |
| | } |
| |
|
| | .water-effect { |
| | position: relative; |
| | overflow: hidden; |
| | } |
| |
|
| | .water-effect::after { |
| | content: ''; |
| | position: absolute; |
| | top: 0; |
| | left: 0; |
| | right: 0; |
| | bottom: 0; |
| | background: linear-gradient(90deg, rgba(33,150,243,0.1) 0%, rgba(255,255,255,0.3) 50%, rgba(33,150,243,0.1) 100%); |
| | animation: waterFlow 8s linear infinite; |
| | z-index: -1; |
| | } |
| |
|
| | @keyframes waterFlow { |
| | 0% {transform: translateX(-100%);} |
| | 100% {transform: translateX(100%);} |
| | } |
| |
|