:root { --pocket-logo-size: 300px; --intro-text-max-width: 700px; --section-max-width: 1100px; --section-padding: 20px; --section-margin-bottom: 70px; --feature-img-size: 64px; --fs-intro-heading: 40px; --fs-section-title: 35px; --fs-feature-title: 24px; --fs-footer: 13px; } html { scroll-padding-top: var(--navbar-height); } pre:first-line { line-height: 0; } body { background-color: #F6F8F8; } p { margin: 30px 0; font-size: 16px; line-height: 28px; letter-spacing: .6px; } /*****************************************************************************/ /* BASIC LAYOUT */ /*****************************************************************************/ #navbar { /* Other properties are defined at navbar.css */ transition: .2s; position: fixed; width: 100%; z-index: 100; } #page-intro { height: 100vh; padding-top: var(--navbar-height); /* Because navbar is fixed. */ display: flex; align-items: center; justify-content: center; } /*****************************************************************************/ /* SECTION */ /*****************************************************************************/ section { margin: 0 auto var(--section-margin-bottom) auto; max-width: var(--section-max-width); padding: var(--section-padding); } .section-title { font-size: var(--fs-section-title); margin: 0px 0px 30px 0px; } /*****************************************************************************/ /* NAVBAR */ /*****************************************************************************/ #navbar.stick { box-shadow: var(--shadow); transform: translateY(-5px); } #toggle-menu { cursor: pointer; display: none; } /*****************************************************************************/ /* PAGE INTRO */ /*****************************************************************************/ #intro-text { max-width: var(--intro-text-max-width); } #intro-text h1 { font-size: var(--fs-intro-heading); margin-bottom: 30px; } #intro-text p { margin: 30px 0px; } #page-intro img { margin: 0 auto; height: var(--pocket-logo-size); width: var(--pocket-logo-size); } #intro-buttons { display: flex; gap: 15px; } /*****************************************************************************/ /* FEATURES SECTION */ /*****************************************************************************/ #features-grid { display: grid; grid-gap: 30px; grid-template-columns: repeat(4, 1fr);; } .feature { display: flex; flex-direction: column; } .feature img { height: var(--feature-img-size); margin-bottom: 16px; } .feature h2 { /* Feature title. */ font-size: var(--fs-feature-title); } .feature p { letter-spacing: normal; line-height: normal; margin: 16px 0; } /*****************************************************************************/ /* FOOTER */ /*****************************************************************************/ #footer { margin-top: 150px; padding: 20px; background-color: var(--color-footer-bg); } #footer p { font-size: var(--fs-footer); text-align: center; margin: 0; } /*****************************************************************************/ /* MEDIA SIZE OVERRIDE */ /*****************************************************************************/ @media screen and (max-height: 500px) { #page-intro { height: auto; padding-top: calc(var(--navbar-height) + 60px); } } @media screen and (max-width: 995px) { #page-intro { height: auto; padding-top: calc(var(--navbar-height) + 30px); } #page-intro img { display: none; } #features-grid { grid-template-columns: repeat(2, 1fr);; } } @media screen and (max-width: 620px) { #intro-text h1 { font-size: 35px; } #intro-buttons { flex-direction: column; } #intro-buttons a.button { width: 100%; text-align: center; } #features-grid { grid-template-columns: repeat(1, 1fr);; } .section-title { font-size: 30px; } }