/* Base styles - Reset, typography, and CSS variables */ /* Reset and base styles */ * { font-family: "Rubik", sans-serif; box-sizing: border-box; } /* CSS Variables */ :root { --unit-100vh: 100vh; --tb-images-width: 45vw; --tb-header-footer-horizontal-padding: 90px; --tb-header-footer-vertical-padding: 30px; --tb-page-padding: 180px; --tb-page-mobile-padding: 30px; --tb-subpage-animation-duration: 0.5s; --tb-loading-textColor: #ff0000; --tb-loading-backgroundColor: #2f3640; --tb-page-margin: calc( calc(var(--tb-header-footer-vertical-padding) * 2) + 30px ); } body, html { height: var(--unit-100vh); touch-action: pan-y; /* Allow vertical scrolling */ overscroll-behavior: none; } body { overflow: hidden; background-color: var(--tb-loading-backgroundColor); } .tb-root { height: var(--unit-100vh); overflow: hidden; } body.tb-body { transition: background-color 0.5s cubic-bezier(0.4, 0, 0.2, 1); } /* Typography */ p, span, label, input, textarea { font-weight: 500; font-size: 18px; line-height: 1.2; } @supports (height: 100dvh) { body { --unit-100vh: 100dvh; } } @supports (height: 100lvh) { body.tb-ios-webclip { --unit-100vh: 100lvh; } } svg > g[id="Artboard1"], svg > rect[id="Artboard1"] { stroke: none; } /* Typography styles */ .tb-title:first-child { margin-top: 0; } h1.tb-title, h1.tb-title a span, h2.tb-title, h2.tb-title a span { font-weight: 600; font-style: normal; font-weight: "bold"; margin: 0.09em 0; } h1.tb-title, h1.tb-title a span { font-size: 46px; line-height: 52px; } h2.tb-title, h2.tb-title a span { margin-bottom: 0; margin-top: 0.5em; font-size: 32px; line-height: 1; } h3.tb-title, h3.tb-title a span { font-size: 20px; margin-bottom: 0; margin-top: 0.5em; font-weight: 600; } h4.tb-title, h4.tb-title a span { font-size: 1.25em; margin-bottom: 0; margin-top: 0.5em; } @media (max-width: 600px) { h1.tb-title, h1.tb-title a span { font-size: 2.75em; /* Adjust as needed */ line-height: 46px; } h2.tb-title, h2.tb-title a { font-size: 1.5em; /* Adjust as needed */ } } .tb-title i { font-weight: 400; font-style: italic; } ul.tb-list, ol.tb-list { margin: 7.5px 0; } p.tb-paragraph { margin: 0; } p.tb-paragraph:first-child, ul.tb-list:first-child, ol.tb-list:first-child { margin: 0; } p.tb-paragraph:last-child, ul.tb-list:last-child, ol.tb-list:last-child { margin: 0; } ul.tb-list, ol.tb-list { padding-left: 22.5px; } ul.tb-list li, ol.tb-list li { margin: 0 0 5px 0; } ul.tb-list li:last-child, ol.tb-list li:last-child { margin: 0; } /* Link styling */ a.tb-link { color: unset; display: inline-flex; align-items: center; gap: 5px; /* space between text and icon */ text-decoration: none; } /* Text wrapper for underline */ a.tb-link .tb-link-text { position: relative; display: inline-block; } /* Base underline (50% opacity) */ a.tb-link .tb-link-text::before { content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 100%; background-color: var(--tb-textColor); opacity: 0.15; border-radius: 1px; } /* Hover underline (100% opacity, animates from left to right) */ a.tb-link .tb-link-text::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 2px; width: 0; background-color: var(--tb-textColor); opacity: 1; border-radius: 1px; transition: width 0.3s ease; } /* Animate hover underline */ a.tb-link:hover .tb-link-text::after { width: 100%; } /* Keep underline on active item */ .tb-menu-nav-item-active a.tb-link .tb-link-text::after { width: 100%; } /* Icon after the text */ a.tb-link .tb-link-icon { fill: var(--tb-textColor); margin-top: 2.5px; } a.tb-link .tb-link-icon > svg { width: 12.5px; } hr.tb-divider { width: 100px; height: 0px; min-height: 0px; border: none; border-radius: 1px; background-color: var(--tb-textColor); margin: 8px 0; } .tb-inline-emoji { height: 1.25em; vertical-align: middle; display: inline; width: auto; fill: var(--tb-textColor); }