:root { --color: #1834e9; } * { box-sizing: border-box; } html, body { font-size: 24px; line-height: 1.6; font-family: "Sora", sans-serif; color: #333; margin: 0; } main.welcome { position: absolute; top: 0; left: 0; width: 100vw; height: 100vh; padding: 48px; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; color: #ffffff; background-color: var(--color); } .welcome .title { font-size: 128px; line-height: 1.2; margin: 24px 0; font-weight: 800; max-width: 100%; } .welcome .description { font-size: 36px; } .welcome .button { text-decoration: none; display: inline-block; background-color: white; background-color: #8bebbb; color: var(--color); margin-top: 64px; border-radius: 8px; padding: 8px 32px; font-size: 18px; font-weight: 600; font-style: normal; } nav { display: flex; justify-content: flex-end; padding: 16px 32px; } a { color: currentColor; text-decoration: none; font-style: italic; } nav a { font-style: normal; } nav a + a { margin-left: 32px; } a.current { color: var(--color); font-weight: 600; position: relative; } a.current:after { content: ""; position: absolute; display: inline-block; width: 100%; height: 4px; left: 0; bottom: -2px; background-color: var(--color); } header { text-align: center; padding: 96px 24px; } header .title { color: var(--color); margin: 16px 0; font-weight: 800; } header .description { max-width: 40ch; margin: 0 auto; color: #999999; } main.tips { padding: 24px; display: flex; justify-content: center; align-items: flex-start; gap: 24px; } main.tips .card { flex-grow: 0; flex-shrink: 0; flex-basis: 30%; display: inline-block; padding: 24px; border: 1px solid #f2f5f8; box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.2); border-radius: 4px; } .tips .card .title { font-weight: 400; font-size: 32px; text-align: center; color: var(--color); margin-bottom: 48px; } .card ul { padding: 0; } .card li { color: #333; list-style: none; } .card li:before { content: "—"; font-weight: 800; color: #8bebbb; margin-right: 4px; } .card li + li { margin-top: 24px; } main.about { margin: 0 auto; padding: 24px; } main.about p { margin: 0 auto; text-align: center; max-width: 54ch; } main.about p + p { margin-top: 24px; } .big-card { margin: 96px auto; display: flex; align-items: center; gap: 24px; max-width: 1200px; } .big-card > .quote { width: 50%; font-size: 56px; color: var(--color); text-align: center; } .big-card > img { width: 50%; max-height: 75vh; height: auto; object-fit: contain; } .switch { position: relative; display: inline-block; width: 60px; height: 34px; } .switch input { opacity: 0; width: 0; height: 0; } .slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background: #eef1f8; border: 1px solid #b6c2e2; transition: 0.4s; } .slider:before { position: absolute; content: ""; height: 25px; width: 25px; left: 4px; bottom: 4px; background-color: white; transition: 0.4s; } input:checked + .slider { background-color: var(--color); } input:focus + .slider { box-shadow: 0 0 1px #b6c2e2; } input:checked + .slider:before { -webkit-transform: translateX(26px); -ms-transform: translateX(26px); transform: translateX(26px); } /* Rounded sliders */ .slider.round { border-radius: 34px; } .slider.round:before { border-radius: 50%; } .more-info { font-size: 20px; display: inline-block; margin-left: auto; margin-right: 32px; position: relative; transition: all 0.4s; color: #b6c2e2; } .more-info input { opacity: 0; width: 0; height: 0; } .more-info span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 50%; text-align: center; } .more-info:hover { cursor: pointer; } .accordion { padding: 24px 24px; max-width: 1000px; margin: 0 auto; transition: height 0.4s ease; } .accordion .header { display: flex; align-items: baseline; } .accordion + .accordion { border-top: 1px solid #d9d9d9; } .accordion .header .title { margin: 0; font-size: 24px; font-weight: 600; } .accordion .content { max-width: 40ch; color: #999; transition: all 0.4s; max-height: 0px; overflow: hidden; } @media (max-width: 991.98px) { html, body { font-size: 18px; } nav { font-size: 1rem; padding: 16px; } nav a + a { margin-left: 16px; } main.tips { display: block; padding: 24px; } .tips .card .title { font-size: 24px; } .tips .card + .card { margin-top: 32px; } .big-card { display: block; margin: 24px; } .big-card .quote, .big-card img { width: 100%; max-width: 100%; max-height: 100vh; } .big-card .quote { font-size: 32px; } }