Spaces:
Sleeping
Sleeping
| /* ------------------------------- | |
| Global font and body settings | |
| ---------------------------------*/ | |
| body { | |
| font-family: Georgia, serif; /* body text */ | |
| font-size: 16px; | |
| line-height: 1.5; | |
| color: #111; /* dark text */ | |
| background-color: #fff; /* light background */ | |
| margin: 0; | |
| padding: 0; | |
| } | |
| /* ------------------------------- | |
| Home | |
| ---------------------------------*/ | |
| .home-content { | |
| max-width: 600px; | |
| margin: 60px; | |
| } | |
| @media (max-width: 768px) { | |
| .home-content { | |
| margin: 24px 16px; | |
| } | |
| } | |
| /* ===================================================== | |
| Title | |
| ===================================================== */ | |
| #page-title { | |
| font-size: 3rem; | |
| font-weight: 700; | |
| margin: 0; | |
| } | |
| /* ------------------------------- | |
| Headings | |
| ---------------------------------*/ | |
| h1, h2, h3, h4, h5, h6 { | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-weight: 400; /* normal weight for elegance */ | |
| margin: 0.5em 0; | |
| } | |
| /* ------------------------------- | |
| Dash Tabs | |
| ---------------------------------*/ | |
| .tab { | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-weight: 400; | |
| } | |
| /* ------------------------------- | |
| Buttons | |
| ---------------------------------*/ | |
| button, .dash-button { | |
| font-family: Georgia, serif; | |
| font-weight: 400; | |
| font-size: 19px; | |
| } | |
| .nav-button { | |
| background: #ffffff; | |
| border: none; | |
| padding: 8px 16px; | |
| margin: 0 0px; | |
| cursor: pointer; | |
| font-family: Georgia, serif; | |
| font-size: 12px; | |
| font-weight: 400; | |
| color: #222; | |
| border-radius: 6px; | |
| /* Drop shadow for button identity */ | |
| box-shadow: 0 2px 6px rgba(0,0,0,0.12); | |
| position: relative; | |
| transition: all 0.25s ease; | |
| } | |
| /* Hover: underline + raise button slightly */ | |
| .nav-button:hover { | |
| color: #0077ff; | |
| transform: translateY(-2px); | |
| box-shadow: 0 4px 10px rgba(0,0,0,0.18); | |
| } | |
| /* Underline animation */ | |
| .nav-button::after { | |
| content: ""; | |
| position: absolute; | |
| left: 16px; | |
| right: 16px; | |
| bottom: 5px; /* inside the button */ | |
| height: 2px; | |
| background-color: #0077ff; | |
| width: 0%; | |
| transition: width 0.25s ease; | |
| } | |
| .nav-button:hover::after { | |
| width: calc(100% - 32px); | |
| } | |
| /* -------------------------- | |
| ACTIVE TAB (distinct color) | |
| ---------------------------*/ | |
| .nav-button.active { | |
| background-color: #0077ff; /* fill */ | |
| color: white; /* white text */ | |
| box-shadow: 0 3px 12px rgba(0,0,0,0.22); | |
| transform: translateY(-1px); | |
| } | |
| /* Underline off for active โ not needed */ | |
| .nav-button.active::after { | |
| width: 0; | |
| } | |
| /* ---------------------------------- | |
| BASE BOX STYLE (shared everywhere) | |
| ----------------------------------- */ | |
| .box { | |
| background: #fafafa; | |
| border-radius: 14px; | |
| padding: 24px; | |
| box-shadow: 0 10px 30px rgba(0,0,0,0.08); | |
| line-height: 1.6; | |
| } | |
| .selector-box { | |
| max-width: 600px; | |
| margin: 0 auto; | |
| margin-bottom: 4px; | |
| } | |
| @media (max-width: 768px) { | |
| .selector-box { | |
| max-width: 100%; | |
| } | |
| } | |
| /* ---------------------------------- | |
| PLOT BOX | |
| ----------------------------------- */ | |
| .plot-box { | |
| padding: 10px 10px 10px 10px; | |
| } | |
| /* ---------------------------------- | |
| TEXT BOX | |
| ----------------------------------- */ | |
| .text-box h3 { | |
| margin-top: 0; | |
| font-weight: 500; | |
| } | |
| .box.highlight { | |
| background: #f0f7ff; | |
| border-left: 5px solid #1f77b4; | |
| } | |
| /* ---------------------------------- | |
| FIGURE + TEXT LAYOUT | |
| ----------------------------------- */ | |
| .figure-row { | |
| display: flex; | |
| gap: 24px; | |
| align-items: flex-start; | |
| max-width: 1200px; | |
| margin: 0 auto; | |
| } | |
| .figure-row .plot-box { | |
| flex: 2; | |
| min-width: 0; /* ๐ REQUIRED for flexbox + plotly */ | |
| } | |
| .figure-row .text-box { | |
| flex: 1; | |
| } | |
| @media (max-width: 768px) { | |
| .figure-row { | |
| flex-direction: column; | |
| } | |
| .figure-row .plot-box, | |
| .figure-row .text-box { | |
| width: 94%; | |
| } | |
| } | |
| /* ---------------------------------- | |
| GAS INTRO (TOP BOX) | |
| ----------------------------------- */ | |
| .gas-intro { | |
| max-width: 1200px; | |
| margin: 40px auto 30px auto; | |
| } | |
| .gas-intro h2 { | |
| margin-top: 0; | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| font-weight: 600; | |
| } | |
| /* Gas page nav buttons: lower position & centered */ | |
| .gas-nav { | |
| display: flex; | |
| justify-content: center; /* centers buttons horizontally */ | |
| margin-top: 40px; /* pushes buttons downward */ | |
| margin-bottom: 40px; /* spacing below buttons */ | |
| } | |
| .gas-nav #nav-buttons { | |
| display: flex; | |
| flex-wrap: wrap; /* โ allows wrapping */ | |
| gap: 12px 14px; /* spacing between buttons */ | |
| align-items: center; | |
| } | |
| /* ===================================================== | |
| HERO LAYOUT | |
| ===================================================== */ | |
| .hero { | |
| min-height: 100vh; | |
| padding-top: 180px; | |
| padding-left: 120px; | |
| padding-right: 120px; | |
| } | |
| .hero-header { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: flex-start; /* left-align everything */ | |
| gap: 20px; /* spacing between title, nav buttons, subtitle */ | |
| } | |
| .hero-title { | |
| font-size: 48px; | |
| font-weight: 600; | |
| margin: 0; /* remove extra margin */ | |
| } | |
| @media (max-width: 768px) { | |
| .hero { | |
| padding-top: 100px; | |
| padding-left: 16px; | |
| padding-right: 16px; | |
| } | |
| .hero-title { | |
| font-size: 36px; | |
| } | |
| } | |
| .hero-header #nav-buttons { | |
| display: flex; | |
| flex-wrap: wrap; /* โ allows wrapping */ | |
| gap: 12px 14px; /* row gap / column gap */ | |
| margin: 0; /* reasonable spacing between buttons */ | |
| justify-content: flex-start; | |
| } | |
| /* Optional: subtitle spacing */ | |
| .hero-subtitle { | |
| font-size: 22px; | |
| color: #555; | |
| margin-left: 0px; | |
| margin-right: 0px; | |
| margin-top: 0px; | |
| margin-bottom: 0px; | |
| } | |
| /* ----------------------------------- | |
| Plot container | |
| ----------------------------------- */ | |
| #gas-figure { | |
| background: #ffffff; | |
| border-radius: 14px; | |
| box-shadow: 0 12px 30px rgba(0,0,0,0.08); | |
| padding: 12px; | |
| } | |
| /* ------------------------------- | |
| Flexible Buttons | |
| ---------------------------------*/ | |
| @media (max-width: 768px) { | |
| .nav-button { | |
| padding: 10px 18px; | |
| font-size: 16px; | |
| } | |
| #nav-buttons { | |
| justify-content: center; /* center rows on mobile */ | |
| } | |
| } | |
| /* ------------------------------- | |
| Plotly Graph fonts | |
| ---------------------------------*/ | |
| .js-plotly-plot .gtitle, | |
| .js-plotly-plot .axistext { | |
| font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; | |
| } | |
| /* .js-plotly-plot, | |
| .plot-container { | |
| width: 100% !important; | |
| } */ | |