/* !!! --- CSS reset START --- !!! */ /* Reset all elements & pseudo-elements */ *, *::before, *::after { box-sizing: border-box; } /* Remove default margin */ body, h1, h2, h3, h4, h5, h6, p, ul[class], ol[class], li, figure, figcaption, blockquote, dl, dd { margin: 0; } html, body { width: 100%; height: 100%; } /* Fill the viewport even when empty, increase default line height, increase page load time */ body { font-family: 'IBM Plex Sans', sans-serif; font-size: 0.875rem; font-weight: 400; line-height: 1.5; min-height: 100vh; scroll-behavior: smooth; text-rendering: optimizeSpeed; } /* Reset list elements with a class attribute */ ul[class], ol[class] { list-style-type: none; } /* For links without a class atttribute, nicer render */ a:not([class]) { text-decoration-skip-ink: auto; } /* Fix weird gap at bottom for non-block elements, fluid images */ img { max-width: 100%; display: block; } /* Avoids tiny or mono text */ button, input, textarea, select { font: inherit; } /* Resets animation, transitions, and scroll behaviour for user who want reduced motion */ @media (prefers-reduced-motion: reduce) { * { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; } } /* !!! --- CSS reset END --- !!! */ .container { display: grid; grid-template-columns: 100%; grid-template-rows: auto 1fr auto; min-height: 100%; } .headerContainer { display: flex; flex-direction: column; } .navbar { background-color: #000000; color: #ffffff; grid-area: nav; } .mainContainer { padding: 2em 0; } .mainWrapper { display: flex; flex-direction: column; text-align: center; } .titleContainer { display: flex; flex-direction: column; margin: 3rem auto; } .mainTitle { font-size: 1rem; font-weight: 700; padding: 1rem auto; } .mainDescription { margin: 1rem auto; width: 50%; } .cardsContainer { display: flex; flex-direction: row; justify-content: center; margin: 1rem; } .cardWrapper { align-items: center; background: #002d9c; border-radius: 5px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.4); color: #ffffff; display: flex; flex-direction: column; margin: 1rem; padding: 2rem; text-align: center; width: 35%; } .cardTitle { font-size: 1rem; } .cardIcon { margin: 1rem 0; } .cardIcon > svg { height: 50px; width: 50px; fill: #0f62fe; } .cardButton { background: #0f62fe; border-radius: 5px; box-shadow: rgba(0, 0, 0, 0.9); color: #ffffff; display: block; padding: 1rem; text-decoration: none; transition: all 200ms ease-in-out; } .cardButton:hover { background-color: #78a9ff; } .footer { background-color: #000000; color: #ffffff; padding: 1rem; } /* Media Queries */ @media only screen and (max-width: 568px) { .cardWrapper { width: 50%; } .mainTitle { font-size: 1rem; font-weight: 700; margin: 1rem 2rem; } .mainDescription { margin: auto; padding: 0 1rem; width: 100%; } } @media only screen and (max-width: 767px) { .cardsContainer { display: flex; flex-direction: column; align-items: center; } } @media only screen and (min-width: 768px) { body { font-size: 1rem; } .mainTitle { font-size: 1.75rem; font-weight: 700; } .mainDescription { margin: auto; width: 60%; } }