Files
web7sys/website-7sys/css/responsive.css
2024-11-03 05:57:56 +01:00

245 lines
4.0 KiB
CSS

/* Base Responsive Design */
html {
font-size: 16px;
}
@media (max-width: 1400px) {
.container {
max-width: 1140px;
}
}
@media (max-width: 1200px) {
.container {
max-width: 960px;
}
/* Service Grid */
.service-grid {
gap: var(--space-lg);
}
}
@media (max-width: 992px) {
.container {
max-width: 720px;
}
/* Typography */
h1 {
font-size: var(--font-size-3xl);
}
h2 {
font-size: var(--font-size-2xl);
}
h3 {
font-size: var(--font-size-xl);
}
/* Hero Section */
.hero {
min-height: 70vh;
}
/* Contact Grid */
.contact-grid {
grid-template-columns: 1fr;
gap: var(--space-xl);
}
}
@media (max-width: 768px) {
html {
font-size: 15px;
}
.container {
max-width: 540px;
padding: 0 var(--space-md);
}
/* Header */
.main-nav {
padding: 0 var(--space-md);
}
/* Hero Section */
.hero {
min-height: 60vh;
padding: var(--space-2xl) var(--space-md);
}
.hero h1 {
font-size: var(--font-size-2xl);
}
.hero p {
font-size: var(--font-size-lg);
}
/* Service Grid */
.service-grid {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
/* Vision Grid */
.vision-grid {
grid-template-columns: 1fr;
gap: var(--space-lg);
}
/* Contact Form */
.contact-form,
.contact-info {
padding: var(--space-lg);
}
/* Footer */
.footer-content {
flex-direction: column;
text-align: center;
gap: var(--space-lg);
}
.footer-right {
flex-direction: column;
gap: var(--space-md);
}
}
@media (max-width: 576px) {
html {
font-size: 14px;
}
.container {
padding: 0 var(--space-md);
}
/* Header */
.logo {
font-size: var(--font-size-xl);
}
/* Hero Section */
.hero {
text-align: center;
padding: var(--space-xl) var(--space-md);
}
.hero h1 {
font-size: var(--font-size-xl);
}
.hero p {
font-size: var(--font-size-base);
}
.cta-button {
width: 100%;
justify-content: center;
}
/* Service Cards */
.service-card {
padding: var(--space-lg);
}
/* Contact Section */
.contact-form {
padding: var(--space-md);
}
.form-group {
margin-bottom: var(--space-md);
}
.input-wrapper input,
.input-wrapper textarea {
padding: var(--space-sm);
padding-left: calc(var(--space-sm) * 2 + 16px);
}
/* Cookie Consent */
.cookie-consent {
flex-direction: column;
text-align: center;
padding: var(--space-md);
}
.cookie-buttons {
width: 100%;
flex-direction: column;
gap: var(--space-sm);
}
.cookie-button {
width: 100%;
}
}
/* Height-based Media Queries */
@media (max-height: 700px) {
.hero {
min-height: auto;
padding: var(--space-2xl) 0;
}
}
/* Print Styles */
@media print {
.hero,
.contact-form,
.cookie-consent,
#theme-toggle,
.back-to-top {
display: none;
}
body {
color: black;
background: white;
}
.container {
max-width: none;
width: 100%;
padding: 0;
margin: 0;
}
a {
text-decoration: none;
color: black;
}
.service-card,
.vision-item,
.contact-info {
break-inside: avoid;
page-break-inside: avoid;
border: 1px solid #ddd;
}
}
/* High Contrast Support */
@media (forced-colors: active) {
.service-card,
.vision-item,
.contact-form,
.contact-info {
border: 1px solid CanvasText;
}
}
/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
* {
animation: none !important;
transition: none !important;
}
}