/* CSS Reset */ * { margin: 0; padding: 0; box-sizing: border-box; font-family: inherit; } /* CSS Custom Properties */ :root { --primary-color: #003454; --primary-hover: #004a66; --background-color: #e3c5c5; --text-color: #333; --white-overlay: rgba(255, 255, 255, 0.9); --white-semi: rgba(255, 255, 255, 0.3); --spotify-color: #4A817B; --border-radius: 6px; --transition: 0.3s ease; --shadow-light: 0 2px 5px rgba(0, 0, 0, 0.1); --shadow-medium: 0 10px 30px rgba(0, 0, 0, 0.2); --shadow-heavy: 0 10px 30px rgba(0, 0, 0, 0.3); --max-width: 800px; --container-width: 1200px; } /* Base Styles */ body { display: grid; grid-template-rows: auto 1fr auto; min-height: 100vh; background-color: var(--background-color); color: var(--text-color); font-family: Arial, sans-serif; line-height: 1.6; margin: 0; padding: 0; } /* Header */ header { background-color: var(--white-overlay); padding: 1rem 1rem; position: sticky; top: 0; box-shadow: var(--shadow-light); max-height: fit-content; } .nav-container { display: flex; justify-content: space-between; align-items: center; max-width: var(--container-width); margin: 0 auto; } .nav-brand { font-size: 1.5rem; font-weight: bold; color: var(--primary-color); cursor: pointer; transition: color var(--transition); } .nav-brand:hover { color: var(--primary-hover); text-decoration: none; } .nav-menu { display: flex; list-style: none; gap: 1rem; } .nav-item { cursor: pointer; padding: 0.5rem 0.5rem; border-radius: var(--border-radius); transition: background-color var(--transition); } .nav-item:hover { background-color: rgba(0, 52, 84, 0.1); text-decoration: none; } .hamburger { display: none; flex-direction: column; cursor: pointer; padding: 1px; } .hamburger span { width: 25px; height: 3px; background-color: var(--text-color); margin: 3px 0; transition: var(--transition); } .footer { flex-shrink: 0; /* Prevents footer from shrinking */ margin-top: auto; /* Pushes footer to bottom */ } .bottom-banner { text-align: center; padding: 10px; font-size: 14px; font-family: "Courier", "Courier New", "Lucida Console", "Liberation Mono", monospace; color: white; background-image: linear-gradient(to right, #4A817B, #003454) } /* Main Content */ .page-section { display: block; padding: 2rem; max-width: var(--max-width); margin: 0 auto; flex: 1 0 auto; width: 100%; } .content-page { display: flex; flex-direction: column; max-width: var(--max-width); margin: 0 auto; } /* Hero Section */ .hero { text-align: center; padding: 3rem 0; } .logo-container { margin-bottom: 2rem; } .logo-image { max-width: 300px; height: auto; border-radius: var(--border-radius); box-shadow: var(--shadow-medium); } .description { font-size: 1.5rem; color: var(--primary-color); margin-bottom: 0; } /* Interactive Elements */ .back-button { background-color: var(--primary-color); color: white; border: none; padding: 0.5rem 1rem; border-radius: var(--border-radius); cursor: pointer; margin-bottom: 2rem; font-size: 1rem; transition: background-color var(--transition); } .back-button:hover { background-color: var(--primary-hover); } .platform-button { display: flex; flex-direction: column; align-items: center; padding: 15px; background: #f8f8f8; border: 2px solid transparent; border-radius: var(--border-radius); text-decoration: none; transition: all var(--transition); cursor: pointer; } .platform-button:hover { background: #fff; border-color: #667eea; transform: translateY(-3px); box-shadow: 0 10px 20px rgba(102, 126, 234, 0.2); } /* Typography */ h1 { color: var(--primary-color); margin-bottom: 1.5rem; font-size: 2.5rem; text-align: center; } h3 { color: var(--primary-color); margin-bottom: 1rem; text-align: center; } p { margin-bottom: 1rem; font-size: 1.1rem; } a { color: var(--primary-color); text-decoration: none; } a:hover { text-decoration: none; } /* Content Cards */ .host-info, .contact-info, .socials { margin: 2rem 0; padding: 1.5rem; background-color: var(--white-semi); border-radius: var(--border-radius); box-shadow: var(--shadow-heavy); } .socials { align-items: center; margin: 0 auto; } .podcast-container { background: rgba(255, 255, 255, 0.95); border-radius: var(--border-radius); padding: 30px; max-width: 768px; width: 100%; box-shadow: var(--shadow-heavy); align-items: center; margin: 0 auto; } /* Grid Layouts */ .platform-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(60px, 1fr)); gap: 10px; margin-bottom: 30px; } .social-links { display: grid; grid-template-columns: repeat(auto-fit, minmax(40px, 1fr)); gap: 10px; } /* Media Elements */ .episodes-embed-container { width: 100%; margin: 0 auto; max-width: var(--max-width); position: relative; border-radius: var(--border-radius); overflow: hidden; contain: layout style; will-change: transform; } .episodes-embed-container iframe { width: 100%; max-height: 400px; border: none; border-radius: var(--border-radius); display: block; transform: translateZ(0); backface-visibility: hidden; } .iframespotify-wrapper { position: relative; width: 100%; padding-bottom: 70%; /* Adjust ratio based on content */ border-radius: var(--border-radius); } .iframespotify-wrapper iframe { position: absolute; left: 0; width: 100% !important; height: 100% !important; border-radius: var(--border-radius); } .iframespotify-wrapper h3 { color: #ffffff; text-align: center; margin: 0; padding: 1rem; background-color: var(--spotify-color); border-radius: var(--border-radius); font-size: 1.4rem; font-weight: 900; } /* Icons */ .platform-icon { width: 64px; height: 64px; margin-bottom: 18px; display: block; border-radius: var(--border-radius); } .socials-icon { height: 36px; display: block; border-radius: var(--border-radius); } /* Text Styling */ .platform-name, .rss-feed { font-size: 14px; color: var(--text-color); text-align: center; } .platform-name { font-weight: 500; } .rss-feed { margin-top: 10px; } .rss-link { color: #667eea; word-break: break-all; text-decoration: none; } .rss-link:hover { text-decoration: underline; } /* Images */ .fit-picture { max-height: 480px; max-width: 720px; display: block; margin: auto; border: 5px solid var(--primary-hover); border-radius: var(--border-radius); } .fit-guest-picture { max-width: 360px; border: 3px solid var(--spotify-color) } /* Tables */ table { table-layout: fixed; border-collapse: collapse; margin: 20px auto; font-family: Arial, sans-serif; font-size: 0.9rem; } th, td { border: 1px transparent; padding: 4px; text-align: center; } col.col1 { width: 100px; } col.col2 { width: 110px; } col.col3 { width: 40px; } col.col4 { width: 40px; } col.col5 { width: 40px; } col.col6 { width: 40px; } col.col7 { width: 50px; } col.col8 { width: 50px; } col.col9 { width: 40px; } col.col10 { width: 40px; } col.col11 { width: 40px; } col.col12 { width: 40px; } col.col13 { width: 110px; } .header, .bold { font-weight: bold; border: 1.5px solid darkgreen; } .merged-header { background-color: #f0f0f0; border: 1.0px solid var(--primary-color); } .header-friends { column-span: 5; } .positive { background-color: #d4f6d4; } .negative { background-color: #fde0e0; } .zero { background-color: lightgray; } .text-header-cell, .episode-cell { text-align: center; color: var(--primary-color); } .text-cell { text-align: center; background-color: var(--primary-color); color: lightgray; border: 1.5px solid green; } .last-row { font-weight: bold; border: 1.5px solid darkgreen; } .last-row-totals { font-weight: bold; border: 5px solid darkgreen; } .desktop-row { display: table-cell; } .mobile-row { display: none; } /* Media Queries */ @media (max-width: 768px) { .nav-menu { position: fixed; left: -100%; top: 70px; flex-direction: column; background-color: rgba(255, 255, 255, 0.95); width: 100%; text-align: center; transition: var(--transition); box-shadow: 0 10px 27px rgba(0, 0, 0, 0.05); padding: 1rem; z-index: 1000; } .nav-menu.active { left: 0; } .nav-item { margin: 0.25rem; padding: 0.25rem; } .hamburger { display: flex; } .hamburger.active span:nth-child(2) { opacity: 0; } .hamburger.active span:nth-child(1) { transform: translateY(8px) rotate(45deg); } .hamburger.active span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); } header { padding: 1rem; } .page-section { padding: 1rem; } .hero { padding: 2rem 0; } .logo-image { max-width: 250px; } .description { font-size: 1.2rem; } table { font-size: small; } /* th[colspan="5"], th[colspan="10"] { display: none; } th[colspan="4"] { display: table-cell; } th[colspan="2"], td[colspan="2"] { display: table-cell; } td[colspan="9"], td[colspan="5"] { display: none; } td[colspan="4"] { display: table-cell; } */ .header-friends { column-span: 2; } .desktop-row { display: none; } .mobile-row { display: table-cell; } col.col1 { width: 20%; } col.col2 { width: 30%; } col.col3 { width: 10%; } col.col4 { width: 10%; } col.col5 { width: 30%; } h1 { font-size: 2rem; } .iframespotify-wrapper h3 { font-size: 1.2rem; padding: 0.8rem; } .platform-links, .social-links { grid-template-columns: repeat(3, 1fr); } .fit-picture { max-width: 100%; height: auto; } .fit-guest-picture { max-width: 75%; height: auto; } } @media (max-width: 480px) { table { font-size: 0.75rem; } .logo-image { max-width: 200px; } .description { font-size: 1rem; } h1 { font-size: 1.8rem; } .iframespotify-wrapper h3 { font-size: 1.2rem; padding: 0.8rem; } .platform-links { grid-template-columns: repeat(2, 1fr); } .social-links { grid-template-columns: repeat(3, 1fr); } .fit-picture { max-width: 100%; height: auto; } .fit-guest-picture { max-width: 75%; height: auto; } }