/* ===== MEDIA QUERIES AND RESPONSIVE DESIGN ===== */ /* ===== LARGE DESKTOP (1024px and up) ===== */ @media (min-width: 1024px) { .hero-container { padding: 12rem 4% 2rem 4%; } } @media (min-height: 600px) { #hero { height: 80vh; min-height: 600px; } } @media (max-height: 599px) { #hero { height: auto; min-height: 500px; padding: 2rem 0; } .hero-container { height: auto; min-height: 500px; } } /* ===== TABLET (769px - 1023px) ===== */ @media (min-width: 769px) and (max-width: 1023px) { .hero-container { padding: 10rem 4% 2rem 4%; } .exp-grid { gap: 1.5rem; max-width: 100%; padding: 0 2rem; grid-template-columns: repeat(4, 1fr); } .exp-item { padding: 1.8rem; max-width: 340px; min-height: 320px; } .exp-item img { width: 100px; margin-bottom: 1.2rem; } .exp-item p:first-of-type { font-size: 1.3rem; margin-bottom: 0.9rem; } .exp-item .exp-description { font-size: 0.95rem; line-height: 1.5; } } /* ===== MOBILE AND TABLET (768px and below) ===== */ @media (max-width: 768px) { /* Base mobile adjustments */ body { padding-top: 80px; } #hero { min-height: calc(100vh - 80px); height: calc(100vh - 80px); padding-top: 2rem; } .hero-container { padding: 3rem 5% 2rem 5%; justify-content: center; align-items: center; } .hero-content { text-align: center; max-width: 100%; padding: 0 1rem; margin-top: 1rem; } .hero-content h1 { font-size: 4.5rem; font-weight: 100; line-height: 1.2; margin-bottom: 1.5rem; letter-spacing: 0.5px; text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7); } .hero-content p { font-size: 1.4rem; line-height: 1.4; margin-bottom: 2rem; color: rgba(255, 255, 255, 0.9); max-width: 90%; margin-left: auto; margin-right: auto; } .hero-content .btn-primary { padding: 1rem 2rem; font-size: 1.2rem; border-radius: 12px; min-width: 200px; } /* Navigation mobile styles */ .site-header { padding: 0.5rem 1rem; } /* Logo adjustments */ .logo-img { height: 55px; max-width: 240px; } .logo { min-height: 60px; padding: 0.4rem 0.8rem; } /* Technology cards mobile */ .tech-icon { min-width: 35px; min-height: 35px; max-width: 65px; max-height: 65px; } #technologies { padding-top: 1.5rem; } /* Expertise grid mobile */ .exp-grid { gap: 1.2rem; padding: 0 1.5rem; grid-template-columns: repeat(2, 1fr); } .exp-item { padding: 1.5rem; max-width: 100%; min-height: 300px; } .exp-item img { width: 90px; margin-bottom: 1rem; } .exp-item p:first-of-type { font-size: 1.2rem; margin-bottom: 0.8rem; } .exp-item .exp-description { font-size: 0.9rem; line-height: 1.4; margin-top: 0.5rem; } /* Contact form mobile */ .contact-content { flex-direction: column; padding: 0; } .contact-form-container, .contact-info-container { max-width: 100%; padding-left: 30px; padding-right: 30px; padding: 1.5rem; } .contact-info-container { margin-top: 0; } /* Case studies mobile */ .case-studies-hero h1 { font-size: 2.2rem; } .case-studies-hero p, #contact-us-section .contact-header p { font-size: 1.2rem; } .filter-controls { flex-direction: column; align-items: stretch; gap: 1rem; } .dropdown-filter .dropdown-toggle-filter { width: 100%; } .search-filter { max-width: none; } .discuss-project-cta .container { flex-direction: column; text-align: center; } .discuss-project-cta h2 { margin-bottom: 1.5rem; font-size: 1.9rem; } .btn-discuss-project { width: 100%; text-align: center; } #contact-us-section .contact-header h1 { font-size: 3.35rem; } /* Enhanced Contact Form mobile */ .contact-form-container { padding: 1.5rem; } .form-group { margin-bottom: 1.5rem; } .form-group label { font-size: 1rem; margin-bottom: 0.5rem; } .form-group input[type="text"], .form-group input[type="email"], .form-group select, .form-group textarea { padding: 1rem; font-size: 1rem; } .form-group textarea { min-height: 100px; } .btn-send-message { padding: 1rem 1.5rem; font-size: 1.1rem; } /* General mobile adjustments */ .nav-links { display: none; } .section { padding: 60px 0; } .section .container { padding: 30px; } .page-header { padding: 70px 0 40px; } .page-header h1 { font-size: 3rem; } .grid-2 { grid-template-columns: 1fr; } .btn-outline { display: none; } /* Button adjustments */ .centered-btn { margin: 2rem auto 0 auto !important; } .btn-primary.centered-btn { padding: 14px 28px !important; font-size: 1.1rem !important; } .cta-buttons, .webinar-actions, .hero-cta-buttons, div[style*="text-align: center"] { flex-direction: column !important; gap: 1.5rem !important; margin: 2rem auto !important; } .hero-section .btn, .hero-section .btn-primary { width: auto !important; max-width: 280px !important; margin: 1rem auto !important; } /* Footer mobile adjustments */ .footer-content { gap: 20px; text-align: center; } .footer-col { min-width: 200px; } .footer-col-logo p { max-width: 100%; text-align: center; } .footer-col .social-links { justify-content: center; } .footer-logo-img { height: 120px; max-width: 350px; } } /* ===== EXTRA SMALL MOBILE (480px and below) ===== */ @media (max-width: 480px) { #hero { height: 65vh; min-height: 450px; padding-top: 1.5rem; } .hero-container { padding: 2.5rem 3% 1rem 3%; } .hero-content { margin-top: 1.5rem; } .hero-content h1 { font-size: 4.5rem; font-weight: 100; line-height: 1.1; margin-bottom: 0.8rem; text-shadow: none !important; letter-spacing: 0.3px; filter: brightness(1.08); } .hero-content p { font-size: 1.2rem; margin-bottom: 1.2rem; } .hero-content .btn-primary { padding: 0.8rem 1.5rem; font-size: 1.1rem; } /* Logo extra small */ .logo-img { height: 45px; max-width: 180px; } .logo { min-height: 50px; padding: 0.3rem 0.6rem; } .footer-logo-img { height: 100px; max-width: 300px; } /* Technology cards extra small */ .tech-icon { min-width: 30px; min-height: 30px; max-width: 50px; max-height: 50px; } /* Expertise grid extra small */ .exp-grid { gap: 1rem; padding: 0 1rem; grid-template-columns: 1fr; } .exp-item { padding: 1.2rem; max-width: 300px; min-height: 260px; margin: 0 auto; } .exp-item img { width: 80px; margin-bottom: 1rem; } .exp-item p:first-of-type { font-size: 1.1rem; margin-bottom: 0.7rem; } .exp-item .exp-description { font-size: 0.85rem; line-height: 1.5; margin-top: 0.5rem; } /* Enhanced contact form mobile */ .contact-form-container, .contact-info-container { padding: 1rem; margin: 0.5rem 0; } .form-group { margin-bottom: 1.2rem; } .form-group label { font-size: 0.9rem; } .form-group input[type="text"], .form-group input[type="email"], .form-group select, .form-group textarea { padding: 0.8rem; font-size: 0.95rem; } .btn-send-message { padding: 1rem; font-size: 1rem; letter-spacing: 1px; } #contact-us-section .contact-header h1 { font-size: 2.5rem; } #contact-us-section .contact-header p { font-size: 1.1rem; } /* Button adjustments extra small */ .centered-btn { margin: 1.5rem auto 0 auto !important; } .btn-primary.centered-btn { padding: 12px 24px !important; font-size: 1rem !important; letter-spacing: 1px !important; } .cta-buttons, .webinar-actions, .hero-cta-buttons { gap: 1rem !important; margin: 1.5rem auto !important; } .btn-primary, .btn { padding: 0.8rem 1.5rem !important; font-size: 0.95rem !important; min-width: 200px !important; text-align: center !important; } .hero-cta-buttons, .cta-buttons, .webinar-actions { flex-direction: column !important; align-items: center !important; width: 100% !important; } .btn-primary, .btn-secondary, .workflow-cta-btn, .specialization-btn { width: 100% !important; max-width: 280px !important; margin: 0.75rem auto !important; } /* Footer extra small */ .footer-content { flex-direction: column; gap: 25px; } .footer-col ul li p { padding: 3px 0; font-size: 0.9rem; margin-bottom: 1px; line-height: 1.2; } .footer-col ul li p i { margin-right: 10px; font-size: 1rem; min-width: 18px; } .footer-col .social-links a { min-width: 35px; min-height: 35px; font-size: 1.1rem; } } /* ===== CASE STUDIES RESPONSIVE ===== */ @media (min-width: 768px) { .case-studies-grid { grid-template-columns: repeat(2, 1fr); } } /* ===== INDUSTRY HERO RESPONSIVE ===== */ @media (max-width: 768px) { .industry-hero-content { flex-direction: column; text-align: center; gap: 20px; } .industry-hero .hero-text { max-width: 100%; } .industry-hero h1 { font-size: 3rem; } .industry-hero p { font-size: 1.3rem; } } /* ===== SPECIALIZED SECTIONS RESPONSIVE ===== */ @media (max-width: 1024px) { .specializations-cards-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; } .benefit-card { padding: 20px; } .benefit-card h3 { font-size: 1.2rem; } } @media (max-width: 768px) { .specializations-cards-grid { grid-template-columns: 1fr; gap: 25px; } .specialization-card { padding: 25px; } .specialization-card h3 { font-size: 1.6rem; } .benefit-card .btn-primary { padding: 14px 20px; font-size: 0.85rem; max-width: 180px; } } /* ===== WORKFLOW SECTION RESPONSIVE ===== */ @media (max-width: 768px) { .workflow-section { padding: 2.5rem 0; margin: 2rem 0; } .workflow-intro p { font-size: 1.1rem; } .workflow-benefits h3, .workflow-process h3 { font-size: 1.8rem; } .benefits-list { grid-template-columns: 1fr; gap: 1rem; } .benefit-item { padding: 1.2rem; flex-direction: column; text-align: center; gap: 0.8rem; } .workflow-step { padding: 1.5rem; margin-bottom: 2rem; } .workflow-step:hover { transform: translateY(-5px); } .step-icon { width: 70px; height: 70px; align-self: center; } .step-icon i { font-size: 1.8rem; } .step-content { text-align: center; } .step-content h4 { font-size: 1.4rem; } .step-details span { font-size: 0.9rem; } .workflow-cta { padding: 2rem 1.5rem; } .cta-content h3 { font-size: 1.6rem; } .cta-content p { font-size: 1.1rem; } .workflow-cta-btn { padding: 0.7rem 1.5rem; font-size: 1rem; max-width: 260px; width: 100%; } } @media (max-width: 480px) { .workflow-intro { margin-bottom: 2rem; } .workflow-step { flex-direction: column; text-align: center; gap: 1rem; } .step-connector { display: none; } } /* ===== COURSES AND WEBINARS RESPONSIVE ===== */ @media (max-width: 1024px) { .courses-grid { grid-template-columns: 1fr; gap: 2rem; } .course-card { padding: 1.25rem; } .webinar-videos-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 1.5rem; margin: 0.5rem 0; } .webinar-meta { gap: 1rem; } } @media (max-width: 768px) { .courses-grid { gap: 1.5rem; } .course-card { padding: 1rem; } .course-info h3 { font-size: 1.4rem; } .course-info p { font-size: 1rem; } .course-highlights { gap: 0.6rem; } .course-highlights .highlight-item { font-size: 0.8rem; padding: 0.3rem 0.6rem; } /* Webinar responsive */ .webinar-main-card { padding: 1.5rem; margin: 2rem 0 3rem 0; } .webinar-card-header h2 { font-size: 2rem; flex-direction: column; gap: 0.5rem; } .upcoming-webinar-item { flex-direction: column; gap: 1.5rem; padding: 1.5rem; } .webinar-date-badge { align-self: flex-start; min-width: 80px; } .webinar-meta { flex-direction: column; gap: 0.8rem; } .webinar-actions { flex-direction: column; } .register-btn, .add-calendar-btn { justify-content: center; text-align: center; } .webinar-videos-grid { grid-template-columns: 1fr; gap: 1.5rem; } .webinar-video-card { padding: 1rem; } } /* Responsive styles for webinar video cards */ @media (max-width: 768px) { .webinar-video-card .video-container { padding-bottom: 65%; /* Slightly increase height ratio on mobile */ } .webinar-video-card { padding: 1.2rem; /* Reduce padding to give more space to video */ } } @media (max-width: 480px) { .course-video-container { padding-bottom: 60%; } .course-info h3 { font-size: 1.3rem; } .course-highlights { flex-direction: column; align-items: flex-start; } .course-highlights .highlight-item { align-self: flex-start; } .gn-video-info h4 { font-size: 1.2rem; } }