/* ======================================== Desktop: Ensure Sidebar Content Visible (>1280px) ======================================== */ /* ======================================== Responsive: iPad/Tablet - Text Wraps Around Photo (769px - 1280px) Covers: iPad Mini (768px), iPad (820px), iPad Air (820px), iPad Pro 11" (1194px), iPad Pro 12.9" (1366px in landscape crops to ~1280px) ======================================== */ @media (min-width: 769px) and (max-width: 1280px) { /* Make ALL text (name, years, intro) wrap around photo like in a magazine */ .cv-header-left { padding-right: 0; /* Remove padding - text will wrap around floated photo */ } .cv-photo { /* Float photo right so ALL content wraps around it */ position: static; float: right; margin: 0 0 15px 20px; /* Space for text to wrap: top right bottom left */ shape-outside: margin-box; /* Text follows the margin box shape */ } /* Text aligns right next to photo */ .cv-name { text-align: right; } .years-experience { text-align: right; } .intro-text { margin-top: 15px; } /* Clear float after the header */ .cv-header-left::after { content: ""; display: table; clear: both; } } /* ======================================== Responsive: Medium Screens (901px - 1023px) ======================================== */ @media (min-width: 901px) and (max-width: 1023px) { /* ========== Global Font Size Reduction ========== */ html { font-size: 14px; /* Reduced from default 16px */ } .cv-name { font-size: 1.8em; /* Reduced from 2.2em */ } .sidebar-title { font-size: 0.95rem; } .sidebar-content { font-size: 0.9rem; } /* ========== Selector Labels - Hide, Show on Hover ========== */ .selector-label { max-width: 0; overflow: hidden; opacity: 0; transition: all 0.3s ease; white-space: nowrap; } .selector-group:hover .selector-label { max-width: 200px; opacity: 1; margin-right: 0.75rem; } /* ========== Language Selector - Collapse to EN/ES ========== */ .language-selector .selector-btn { position: relative; padding: 0.4rem 1rem; /* Keep padding consistent */ min-width: 50px; font-size: 0; /* Hide actual text */ overflow: visible; transition: font-size 0.3s ease; /* Slower animation */ display: inline-flex; justify-content: center; align-items: center; } /* Show only short version (EN/ES) */ .language-selector .selector-btn::before { content: attr(data-short); font-size: 1rem; /* Restore font size for pseudo-element */ opacity: 1; transition: opacity 0.3s ease; /* Slower animation */ display: block; width: 100%; text-align: center; } /* On hover of INDIVIDUAL button only, show full text */ .language-selector .selector-btn:hover { font-size: 1rem; /* Restore font size to show full text */ min-width: auto; } .language-selector .selector-btn:hover::before { content: ''; /* Hide short version */ opacity: 0; } /* ========== Action Buttons - Icon Only, Expand on Hover ========== */ .action-btn { position: relative; width: 45px; overflow: hidden; transition: width 0.3s ease, padding 0.3s ease; white-space: nowrap; text-indent: 0; } /* Hide button text, keep icon */ .action-btn iconify-icon { flex-shrink: 0; } .action-btn { font-size: 0; padding: 0 0.65rem; justify-content: center; } /* On hover, show text */ .action-btn:hover { width: auto; font-size: 0.95rem; padding: 0.65rem 1.5rem; gap: 0.5rem; } } /* ======================================== Sidebar: Medium Screens (901px - 1280px) Content always visible - removed hide-on-hover behavior ======================================== */ /* ======================================== Responsive: Medium Screens (1024px - 1280px) ======================================== */ @media (min-width: 1024px) and (max-width: 1280px) { /* ========== Global Font Size Reduction ========== */ html { font-size: 14px; /* Reduced from default 16px */ } .cv-name { font-size: 1.8em; /* Reduced from 2.2em */ } .sidebar-title { font-size: 0.95rem; } .sidebar-content { font-size: 0.9rem; } /* ========== Selector Labels - Hide, Show on Hover ========== */ .selector-label { max-width: 0; overflow: hidden; opacity: 0; transition: all 0.3s ease; white-space: nowrap; } .selector-group:hover .selector-label { max-width: 200px; opacity: 1; margin-right: 0.75rem; } /* ========== Language Selector - Collapse to EN/ES ========== */ .language-selector .selector-btn { position: relative; padding: 0.4rem 1rem; /* Keep padding consistent */ min-width: 50px; font-size: 0; /* Hide actual text */ overflow: visible; transition: font-size 0.3s ease; /* Slower animation */ display: inline-flex; justify-content: center; align-items: center; } /* Show only short version (EN/ES) */ .language-selector .selector-btn::before { content: attr(data-short); font-size: 1rem; /* Restore font size for pseudo-element */ opacity: 1; transition: opacity 0.3s ease; /* Slower animation */ display: block; width: 100%; text-align: center; } /* On hover of INDIVIDUAL button only, show full text */ .language-selector .selector-btn:hover { font-size: 1rem; /* Restore font size to show full text */ min-width: auto; } .language-selector .selector-btn:hover::before { content: ''; /* Hide short version */ opacity: 0; } /* ========== Action Buttons - Icon Only, Expand on Hover ========== */ .action-btn { position: relative; width: 45px; overflow: hidden; transition: width 0.3s ease, padding 0.3s ease; white-space: nowrap; text-indent: 0; } /* Hide button text, keep icon */ .action-btn iconify-icon { flex-shrink: 0; } .action-btn { font-size: 0; padding: 0 0.65rem; justify-content: center; } /* On hover, show text */ .action-btn:hover { width: auto; font-size: 0.95rem; padding: 0.65rem 1.5rem; gap: 0.5rem; } } /* ======================================== Responsive: Small Screens (up to 540px) ======================================== */ /* ======================================== Responsive: Tablet Screens - Center Photo (up to 768px) ======================================== */ @media (max-width: 768px) { /* ======================================== LAYOUT - Single column on mobile ======================================== */ /* Collapse grid to single column */ .page-1 .page-content, .page-2 .page-content { grid-template-columns: 1fr !important; grid-template-rows: auto auto; } /* Stack elements vertically: sidebar -> main */ .page-1 .cv-sidebar-left { grid-column: 1; grid-row: 1; order: 1; } .page-1 .cv-main { grid-column: 1; grid-row: 2; order: 2; } /* Stack elements vertically: main -> sidebar */ .page-2 .cv-main { grid-column: 1; grid-row: 1; order: 1; } .page-2 .cv-sidebar-right { grid-column: 1; grid-row: 2; order: 2; } /* ======================================== TYPOGRAPHY - Subtle font size reductions ======================================== */ .cv-name { text-align: center; font-size: 1.6rem; } .years-experience { text-align: center; font-size: 1.1em; } .section-title { font-size: 1.2em; } .sidebar-title { font-size: 1.2em; } .experience-period, .experience-separator, .experience-location, .experience-duration { font-size: 0.95rem; } .position { font-size: 0.95rem; } .short-desc, .responsibilities li { font-size: 0.85rem; } /* ======================================== TEXT ALIGNMENT FIXES - Selective alignment ======================================== */ /* Keep justified for intro and skills */ .intro-text, .summary-text { text-align: justify; font-size: 0.85rem; line-height: 1.5; } .intro-text { margin-top: 0; width: 100%; } /* Left-align for course/project descriptions */ .course-desc, .project-desc { text-align: left !important; font-size: 0.85rem !important; line-height: 1.5; } /* ======================================== HEADER LAYOUT - Centered photo ======================================== */ .cv-header-content { flex-direction: column; align-items: center; gap: 1rem; } .cv-header-left { width: 100%; position: static; padding-right: 0; } .cv-photo { position: static; width: auto; height: auto; max-width: 250px; margin: 1.5rem auto; text-align: center; right: auto; top: auto; } .cv-photo img { width: 100%; height: auto; max-height: none; } /* ======================================== UNIFIED LOGO/ICON SIZING - Consistent 60px ======================================== */ .company-logo, .course-icon, .project-icon, .award-logo { width: 60px !important; height: 60px !important; flex-shrink: 0; overflow: hidden; /* Prevent any child overflow */ } .company-logo img, .course-icon img, .project-icon img, .award-logo img { width: 60px !important; height: 60px !important; object-fit: contain; } /* Sprite icons must also scale down to 60px on mobile */ .company-logo .icon-sprite.icon-section, .course-icon .icon-sprite.icon-section, .project-icon .icon-sprite.icon-section, .award-logo .icon-sprite.icon-section { width: 60px !important; height: 60px !important; padding: 6px !important; background-size: auto 48px !important; /* 60px - 2*6px padding = 48px */ } .company-logo .icon-sprite.icon-section.icon-company { background-position-x: calc(var(--icon-index, 0) * -48px) !important; } .project-icon .icon-sprite.icon-section.icon-project { background-position-x: calc(var(--icon-index, 0) * -48px) !important; } .course-icon .icon-sprite.icon-section.icon-course { background-position-x: calc(var(--icon-index, 0) * -48px) !important; } /* ======================================== CONSISTENT ITEM LAYOUT - Uniform spacing ======================================== */ .experience-item, .course-item, .project-item, .award-item { display: flex; flex-direction: row; gap: 1rem !important; align-items: flex-start; margin-bottom: 2rem !important; padding-bottom: 1.5rem !important; border-bottom: 1px solid rgba(0, 0, 0, 0.1); } .experience-item { margin-bottom: 1.8rem !important; } .experience-content, .course-content, .project-content, .award-content { flex: 1; min-width: 0; } /* ======================================== FONT SIZE CONSISTENCY - Titles and descriptions ======================================== */ .course-title, .project-title, .award-item strong { font-size: 0.95rem !important; line-height: 1.4; } .course-item small, .project-item small, .award-item small { font-size: 0.8rem !important; } .course-desc, .project-desc, .award-desc { font-size: 0.85rem !important; line-height: 1.5; } /* ======================================== RESPONSIBILITIES MOBILE OPTIMIZATION ======================================== */ .responsibilities li:has(img), .responsibilities li:has(iconify-icon) { grid-template-columns: 60px 1fr !important; gap: 0.75rem !important; margin-bottom: 0.75rem !important; } .responsibilities li img, .responsibilities li iconify-icon.default-company-icon { width: 60px !important; height: 60px !important; } /* ======================================== SIDEBAR ITEMS MOBILE OPTIMIZATION ======================================== */ .language-item, .reference-item, .other-content { margin-bottom: 0 !important; line-height: 1.4 !important; margin-left: 1rem !important; font-size: 0.85rem !important; } /* ======================================== SIDEBAR ACCORDION - MOBILE ONLY ======================================== */ /* Compact sidebar on mobile - remove excessive padding */ .cv-sidebar { padding: 0 !important; } /* Show accordion header on mobile - matches CV title badges style */ .sidebar-accordion summary.sidebar-accordion-header { display: flex !important; justify-content: space-between; align-items: center; padding: 8px 15px; /* Reduced padding for compact look */ background: #303030 !important; /* Match CV title badges dark gray */ color: #ccc; cursor: pointer; border-radius: 0; /* No rounding - match title badges */ margin-bottom: 0; font-weight: normal; font-size: 0.85em; /* Slightly smaller */ text-transform: uppercase; gap: 0.3rem; /* Reduced gap */ list-style: none; -webkit-user-select: none; user-select: none; border-bottom: 1px solid #34495e; /* Thinner border */ } /* Accordion content - compact and animated */ .sidebar-accordion-content { padding: 0.5rem 1rem; /* Minimal padding when open */ margin: 0; overflow: hidden; transition: max-height 0.3s ease-in-out; } /* Compact sidebar sections */ .sidebar-section { margin-bottom: 0.5rem !important; } /* Remove default details marker */ .sidebar-accordion summary.sidebar-accordion-header::-webkit-details-marker, .sidebar-accordion summary.sidebar-accordion-header::marker { display: none; } /* Chevron rotation when open */ .sidebar-accordion[open] summary.sidebar-accordion-header .chevron { transform: rotate(180deg); transition: transform 0.3s ease; } .sidebar-accordion summary.sidebar-accordion-header .chevron { transition: transform 0.3s ease; color: #ccc; /* Match header text color */ } /* Hide when closed */ .sidebar-accordion:not([open]) .sidebar-accordion-content { max-height: 0; opacity: 0; } /* Show when open */ .sidebar-accordion[open] .sidebar-accordion-content { max-height: 2000px; opacity: 1; } } /* ======================================== Responsive: All Mobile Screens (up to 540px) ======================================== */ @media (max-width: 540px) { /* Simplify action bar grid for mobile: single column */ .action-bar-content { grid-template-columns: 1fr; gap: 0; padding: 0; } /* Hide center controls on mobile (moved to hamburger menu) */ .view-controls-center { display: none; } /* Hide action buttons on small screens (available in hamburger menu) */ .action-buttons-right { display: none; } /* Site title uses flexbox with percentage widths */ .site-title { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0 0.5rem; gap: 0.5rem; } /* Left group (hamburger + title) takes ~50-60% */ .site-title-left { display: flex; align-items: center; gap: 0.5rem; flex: 1 1 1; min-width: 0; } /* Title link is flexible within left group */ .site-title-link { flex: 1 1 auto; min-width: 0; overflow: hidden; } .site-title-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } /* Language selector takes ~30-35% */ .language-selector { display: flex; flex: 0 0 35%; margin-left: auto; padding-left: 0; margin-right: 0; justify-content: flex-end; gap: 0.25rem; } /* Hide year from title in mobile view */ .site-title-year { display: none; } /* Hide desktop logo, show mobile icon in title */ .site-logo-link { display: none; } .site-icon-mobile { display: inline-flex; } /* ========== Language Selector - Show Short Names Only ========== */ .language-selector .selector-btn { position: relative; padding: 0.4rem 0.75rem; min-width: 40px; font-size: 0; /* Hide actual text */ overflow: visible; transition: font-size 0.3s ease; display: inline-flex; justify-content: center; align-items: center; } /* Show only short version (EN/ES) */ .language-selector .selector-btn::before { content: attr(data-short); font-size: 0.95rem; opacity: 1; transition: opacity 0.3s ease; display: block; width: 100%; text-align: center; } /* Keep short names on hover (no expansion) */ .language-selector .selector-btn:hover { font-size: 0; min-width: 40px; } .language-selector .selector-btn:hover::before { content: attr(data-short); opacity: 1; } } /* ======================================== Mobile: iOS-Style Button Bar with Blur ======================================== */ /* iOS-style blur bar - Only show on devices that support backdrop-filter (primarily iOS) */ @media (max-width: 540px) { @supports (backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px)) { .fixed-buttons-backdrop { position: fixed; bottom: 0; left: 0; right: 0; height: 90px; /* Enough to cover button area */ background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-top: 0.5px solid rgba(0, 0, 0, 0.1); z-index: 98; /* Below buttons (99) but above content */ pointer-events: none; /* Don't block button clicks */ } /* Dark mode blur bar */ [data-color-theme="dark"] .fixed-buttons-backdrop, [data-color-theme="auto"] .fixed-buttons-backdrop { background: rgba(30, 30, 30, 0.8); border-top: 0.5px solid rgba(255, 255, 255, 0.1); } } } /* ======================================== Landscape Orientation Fixes (Mobile Devices) ======================================== */ @media (max-width: 915px) and (orientation: landscape) { /* iOS-style blur backdrop for buttons in landscape */ @supports (backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px)) { .fixed-buttons-backdrop { display: block !important; position: fixed; bottom: 0; left: 0; right: 0; height: 70px; /* Slightly smaller for landscape */ background: rgba(255, 255, 255, 0.8); backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-top: 0.5px solid rgba(0, 0, 0, 0.1); z-index: 98; pointer-events: none; } [data-color-theme="dark"] .fixed-buttons-backdrop, [data-color-theme="auto"] .fixed-buttons-backdrop { background: rgba(30, 30, 30, 0.8); border-top: 0.5px solid rgba(255, 255, 255, 0.1); } } /* CRITICAL: Prevent horizontal scroll in landscape */ * { max-width: 100vw !important; } html, body { width: 100vw !important; max-width: 100vw !important; overflow-x: hidden !important; } .cv-container { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; padding: 0 !important; margin: 0 !important; } .cv-page { width: 100% !important; max-width: 100% !important; margin: 0 !important; transform: scale(1) !important; /* Reset zoom that might cause overflow */ box-shadow: none !important; /* Remove shadow that might cause overflow */ } .page-content { width: 100% !important; max-width: 100% !important; overflow-x: hidden !important; } /* Hide elements that might cause overflow */ .action-bar, .cv-header, .cv-sidebar, .cv-main { max-width: 100% !important; overflow-x: hidden !important; } /* Force single column layout in landscape mobile */ .cv-page .page-1 .page-content, .cv-page .page-2 .page-content, .page-1 .page-content, .page-2 .page-content { grid-template-columns: 1fr !important; grid-template-rows: auto auto !important; max-width: 100% !important; } /* Stack elements vertically in landscape: sidebar -> main */ .page-1 .cv-sidebar-left { grid-column: 1; grid-row: 1; order: 1; } .page-1 .cv-main { grid-column: 1; grid-row: 2; order: 2; } /* Stack elements vertically in landscape: main -> sidebar */ .page-2 .cv-main { grid-column: 1; grid-row: 1; order: 1; } .page-2 .cv-sidebar-right { grid-column: 1; grid-row: 2; order: 2; } /* Reduce header size in landscape */ .cv-header { margin-bottom: 1rem !important; } .cv-name { font-size: 1.4rem !important; text-align: left !important; /* Left-aligned with photo on right */ } .years-experience { font-size: 1em !important; text-align: left !important; /* Left-aligned with photo on right */ } /* Two-column layout in landscape: text left, photo right */ .cv-header-left { display: grid !important; grid-template-columns: 1fr auto !important; grid-template-rows: auto auto auto !important; gap: 0.5rem 1rem !important; align-items: start !important; } /* Name spans column 1, row 1 */ .cv-name { grid-column: 1; grid-row: 1; } /* Experience years spans column 1, row 2 */ .years-experience { grid-column: 1; grid-row: 2; margin: 0 !important; } /* Intro text spans column 1, row 3 */ .intro-text { grid-column: 1; grid-row: 3; margin: 0 !important; } /* Photo on the right side, spans all 3 rows */ .cv-photo { grid-column: 2; grid-row: 1 / 4; position: static !important; width: auto !important; height: auto !important; max-width: 180px !important; /* Bigger than before (was 120px) */ margin: 0 !important; align-self: start; } .cv-photo img { width: 100% !important; height: auto !important; border-radius: 8px; } /* Compact action bar - keep hamburger menu visible */ .action-bar { padding: 0.5rem 0.75rem !important; } /* Simplify action bar for landscape */ .action-bar-content { grid-template-columns: 1fr !important; gap: 0; padding: 0; } /* Hide center controls on landscape mobile (moved to hamburger menu) */ .view-controls-center { display: none !important; } /* Hide action buttons on landscape (available in hamburger menu) */ .action-buttons-right { display: none !important; } /* Keep site title visible and compact */ .site-title { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 0 0.5rem; gap: 0.5rem; } .site-title-left { display: flex; align-items: center; gap: 0.5rem; flex: 1 1 auto; min-width: 0; } .site-title-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 0.95rem !important; } /* Language selector compact */ .language-selector { display: flex; flex: 0 0 auto; margin-left: auto; gap: 0.25rem; } .language-selector .selector-btn { padding: 0.3rem 0.6rem !important; font-size: 0.85rem !important; min-width: 35px !important; } /* Hide year from title in landscape mobile */ .site-title-year { display: none !important; } /* Show mobile icon in title */ .site-logo-link { display: none !important; } .site-icon-mobile { display: inline-flex !important; } /* Fix sidebar to show all content in landscape */ .cv-sidebar, .cv-sidebar-left, .cv-sidebar-right { padding: 0.75rem !important; overflow: visible !important; /* CRITICAL: Allow content to show */ height: auto !important; /* CRITICAL: Remove fixed height */ max-height: none !important; } /* CRITICAL: Fix actual-content wrapper to expand with accordion content */ .cv-sidebar .actual-content, .cv-sidebar-left .actual-content, .cv-sidebar-right .actual-content { height: auto !important; max-height: none !important; overflow: visible !important; } /* CRITICAL: Force accordions open in landscape so sidebars are visible */ /* Override
default collapsed behavior by completely neutralizing it */ .sidebar-accordion, .sidebar-accordion[open], .sidebar-accordion:not([open]) { display: block !important; /* Override details display */ overflow: visible !important; height: auto !important; max-height: none !important; min-height: 0 !important; } /* Ensure all children of details are visible */ .sidebar-accordion > * { display: block !important; } /* Make the summary not clickable in landscape since accordion should stay open */ .sidebar-accordion summary { pointer-events: none !important; list-style: none !important; /* Remove details arrow */ } .sidebar-accordion summary::-webkit-details-marker { display: none !important; /* Remove Chrome/Safari details marker */ } /* Show chevron as pointing down (expanded state) */ .sidebar-accordion summary.sidebar-accordion-header .chevron { transform: rotate(0deg) !important; /* Chevron points down = expanded */ } /* Force accordion content visible regardless of [open] attribute */ .sidebar-accordion .sidebar-accordion-content, .sidebar-accordion:not([open]) .sidebar-accordion-content { display: block !important; opacity: 1 !important; max-height: none !important; visibility: visible !important; overflow: visible !important; } /* Show inner details elements as expanded too */ .sidebar-accordion details { /* Make nested details also expanded */ } .sidebar-accordion details > summary::after { transform: rotate(0deg) !important; } .sidebar-accordion details .sidebar-content { display: block !important; max-height: none !important; opacity: 1 !important; } /* Compact accordion headers in landscape */ .sidebar-accordion summary.sidebar-accordion-header { padding: 6px 12px !important; font-size: 0.8em !important; } /* Compact sections */ .section-title { font-size: 1rem !important; margin-bottom: 0.5rem !important; } /* Reduce margins */ .experience-item, .project-item, .course-item { margin-bottom: 1rem !important; padding-bottom: 1rem !important; } /* Reduce font sizes for landscape */ .experience-period, .experience-location, .position { font-size: 0.85rem !important; } .short-desc, .responsibilities li { font-size: 0.8rem !important; } /* Make hamburger button accessible in landscape */ .hamburger-btn { display: flex !important; /* Force visible */ position: relative !important; z-index: 1001 !important; opacity: 1 !important; visibility: visible !important; } /* Adjust bottom button bar for landscape - fluid sizing Buttons: clamp(32px, calc(2.2vw + 19.6px), 40px) - scales from 32px at 380px to 40px at 915px Icons: clamp(16px, calc(1.1vw + 9.8px), 20px) - scales from 16px at 380px to 20px at 915px */ .download-btn, .print-friendly-btn, .fixed-btn.contact-btn, .shortcuts-btn, .info-button, .back-to-top, .color-theme-switcher { width: clamp(32px, calc(2.2vw + 19.6px), 40px) !important; height: clamp(32px, calc(2.2vw + 19.6px), 40px) !important; bottom: 1rem !important; } /* Scale icons proportionally for landscape buttons */ .download-btn iconify-icon, .print-friendly-btn iconify-icon, .fixed-btn.contact-btn iconify-icon, .shortcuts-btn iconify-icon, .info-button iconify-icon, .back-to-top iconify-icon, .color-theme-switcher iconify-icon { width: clamp(16px, calc(1.1vw + 9.8px), 20px) !important; height: clamp(16px, calc(1.1vw + 9.8px), 20px) !important; font-size: clamp(16px, calc(1.1vw + 9.8px), 20px) !important; } /* Recalculate button positions for landscape - 7 buttons with shortcuts */ /* 7 buttons: 7 * 40px + 6 * 10px = 340px total, start at -170px */ .download-btn { left: calc(50% - 170px) !important; } .print-friendly-btn { left: calc(50% - 120px) !important; } .fixed-btn.contact-btn { left: calc(50% - 70px) !important; } .shortcuts-btn { left: calc(50% - 20px) !important; } .color-theme-switcher { left: calc(50% + 30px) !important; } .info-button { left: calc(50% + 80px) !important; } .back-to-top { left: calc(50% + 130px) !important; } /* Real mobile devices in landscape: 6 buttons (no shortcuts) */ /* 6 buttons: 6 * 40px + 5 * 10px = 290px total, start at -145px */ .is-mobile-device .download-btn { left: calc(50% - 145px) !important; } .is-mobile-device .print-friendly-btn { left: calc(50% - 95px) !important; } .is-mobile-device .fixed-btn.contact-btn { left: calc(50% - 45px) !important; } .is-mobile-device .color-theme-switcher { left: calc(50% + 5px) !important; } .is-mobile-device .info-button { left: calc(50% + 55px) !important; } .is-mobile-device .back-to-top { left: calc(50% + 105px) !important; } /* Reduce blur bar height for landscape */ .fixed-buttons-backdrop { height: 70px !important; } /* Add bottom padding to footer for landscape */ footer.no-print { padding-bottom: 90px !important; } }