/* * Paper * A simple, clean, flexible Hugo theme * https://github.com/nanxiaobei/hugo-paper * Designed by MR.LEE (https://mrlee.me/) * Updated in 2019.6.11 */ /* Variables -------------------------------------------------- */ :root { --gap: 24px; --header-height: 64px; --footer-height: 60px; --primary: rgba(0, 0, 0, 0.88); --secondary: rgba(0, 0, 0, 0.56); --tertiary: rgba(0, 0, 0, 0.16); --background: linear-gradient(120deg, #f0efee, #efeee6, #edeceb, #ebded7, #e0d5cf); } /* Reset -------------------------------------------------- */ *, *::before, *::after { box-sizing: border-box; } html { -webkit-tap-highlight-color: transparent; } body { margin: 0; color: var(--primary); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 16px; } article, aside, figcaption, figure, footer, header, hgroup, main, nav, section { display: block; } h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: 0; } p { margin-top: 0; margin-bottom: 0; } strong, b { font-weight: 500; } ul { margin: 0; padding: 0; } a { color: var(--primary); text-decoration: none; } figure { margin: 0; } table { border-collapse: collapse; border-spacing: 0; } button, input, textarea { padding: 0; font: inherit; background: transparent; border: 0; -webkit-appearance: none; } button, input[type='button'], input[type='submit'] { cursor: pointer; } input, textarea { padding: 0; border: 0; outline: 0; } input:-webkit-autofill, textarea:-webkit-autofill { box-shadow: 0 0 0 50px #fff inset; } img { display: block; max-width: 100%; } /* Header -------------------------------------------------- */ .header { height: var(--header-height); } .header .wrap { display: flex; max-width: calc(1024px + var(--gap) * 2); margin-left: auto; margin-right: auto; } .logo a, .menu-toggle { padding-left: var(--gap); padding-right: var(--gap); } .logo a { display: block; font-size: 24px; font-weight: 700; line-height: var(--header-height); } .menu-toggle { position: relative; width: 68px; height: var(--header-height); margin-left: auto; outline: 0; } .menu-toggle::before, .menu-toggle::after { content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background: #000; transition: transform 0.2s; } .menu-toggle::before { transform: translate3d(-50%, -5px, 0); } .menu-toggle::after { transform: translate3d(-50%, 5px, 0); } .blur .header { position: fixed; z-index: 20; top: 0; left: 0; right: 0; } .blur .menu-toggle::before { transform: translate3d(-50%, -1px, 0) rotateZ(135deg); } .blur .menu-toggle::after { transform: translate3d(-50%, -1px, 0) rotateZ(-135deg); } .blur .menu { top: 0; } .blur .logo, .blur .main, .blur .footer { filter: blur(32px); } .blur .main { margin-top: var(--header-height); } .menu { position: fixed; z-index: 10; top: -100vh; left: 0; display: flex; justify-content: center; flex-direction: column; width: 100vw; height: 100vh; padding-bottom: var(--header-height); text-align: center; background: rgba(255, 255, 255, 0.4); list-style: none; } .menu a { font-size: 48px; line-height: 80px; } /* Body -------------------------------------------------- */ .list { background: var(--background); } /* Main -------------------------------------------------- */ .main { position: relative; min-height: calc(100vh - var(--header-height) - var(--footer-height)); max-width: calc(640px + var(--gap) * 2); margin-left: auto; margin-right: auto; padding: var(--gap); } .page-header { margin-top: 8px; margin-bottom: 40px; } .page-header h1 { font-size: 32px; font-weight: 400; } .pagination { display: flex; } .pagination a { color: #fff; font-size: 13px; line-height: 34px; background: var(--primary); border-radius: calc(34px / 2); } .pagination .prev { padding-left: 16px; padding-right: 18px; } .pagination .next { margin-left: auto; padding-left: 18px; padding-right: 16px; } /* Post entry -------------------------------------------------- */ .first-entry { position: relative; display: flex; flex-direction: column; justify-content: center; height: 320px; margin-bottom: var(--header-height); overflow: hidden; } .first-entry .entry-header h2 { font-size: 40px; } .first-entry .entry-content { max-height: 81px; margin-top: 12px; margin-bottom: 18px; font-size: 16px; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; display: -webkit-box; text-overflow: ellipsis; } .first-entry .entry-footer { font-size: 14px; } .post-entry { position: relative; margin-bottom: var(--gap); padding: var(--gap); background: #fff; box-shadow: 0 12px 0 -4px rgba(255, 255, 255, 0.4); border-radius: 8px; overflow: hidden; transition: box-shadow 0.2s; } .post-entry:active { transform: scale(0.96); transition: transform 0.1s; } .entry-header h2 { font-size: 24px; } .entry-content { margin-top: 8px; margin-bottom: 12px; color: var(--secondary); font-size: 14px; line-height: 1.7; } .entry-footer { color: var(--secondary); font-size: 12px; font-weight: 500; letter-spacing: 0.5px; } .entry-link { position: absolute; left: 0; right: 0; top: 0; bottom: 0; } /* Post single -------------------------------------------------- */ .post-header { margin-top: 16px; margin-bottom: 40px; } .post-title { margin-bottom: 12px; font-size: 40px; transform: translateX(-1px); } .post-meta { color: var(--secondary); font-size: 14px; font-weight: 500; letter-spacing: 0.5px; } .post-content { font-size: 18px; line-height: 1.8; } .post-content h1 { margin-top: 40px; margin-bottom: 32px; } .post-content h2 { margin-top: 32px; margin-bottom: 24px; } .post-content h3, .post-content h4, .post-content h5, .post-content h6 { margin-top: 24px; margin-bottom: 12px; } .post-content h1 { font-size: 40px; } .post-content h2 { font-size: 32px; } .post-content h3 { font-size: 24px; } .post-content h4 { font-size: 16px; } .post-content h5 { font-size: 14px; } .post-content h6 { font-size: 12px; } .post-content a { box-shadow: 0 1px 0 var(--primary); } .post-content a code { margin-left: 0; margin-right: 0; border-radius: 0; box-shadow: 0 -1px 0 var(--primary) inset; } .post-content del { text-decoration: none; background: linear-gradient(to right, var(--primary) 100%, transparent 0) 0 50% / 1px 1px repeat-x; } .post-content p, .post-content ul, .post-content ol, .post-content dl { margin-bottom: var(--gap); } .post-content pre, .post-content table { margin-bottom: 32px; } .post-content ul, .post-content ol { padding-left: 20px; } .post-content li { margin-top: 5px; } .post-content li p { margin-bottom: 0; } .post-content dl { display: flex; flex-wrap: wrap; margin: 0; } .post-content dt { width: 25%; font-weight: 700; } .post-content dd { width: 75%; margin-left: 0; padding-left: 10px; } .post-content dt ~ dt, .post-content dd ~ dd { margin-top: 10px; } .post-content table { width: 100%; border-collapse: collapse; border-spacing: 0; } .post-content th, .post-content td { padding: 10px; border-bottom: 1px solid #eee; } .post-content th { font-size: 14px; text-align: left; } .post-content pre { margin-top: 0; background: transparent !important; line-height: 1.7; } .post-content pre code { margin-left: 0; margin-right: 0; padding: 20px; white-space: inherit; } .post-content code { margin-left: 4px; margin-right: 4px; padding: 4px 6px; font-family: Menlo, Monaco, 'Courier New', Courier, monospace; font-size: 0.8em; white-space: pre-wrap; background: #f7f7f8; border-radius: 2px; } .post-content .highlight { margin-bottom: 32px; background: #f7f7f8; border-radius: 2px; overflow-x: auto; } .post-content .highlight table, .post-content .highlight pre { margin-bottom: 0; } .post-content .highlight code { background: transparent; } .post-content .highlight table { width: auto; } .post-content .highlight table td { padding: 0; border-bottom: 0; } .post-content .highlight table td:first-child pre code { padding-right: 16px; color: var(--tertiary); text-align: right; } .post-content .highlight table td:last-child pre code { padding-left: 0; overflow: hidden; } .post-content .highlight .ln { margin-right: 16px; color: var(--tertiary); } .post-content blockquote { margin: 0 0 0 calc(var(--gap) * -1); padding: 0 0 0 21px; font-style: italic; border-left: 3px solid var(--primary); } .post-content hr { height: 0; margin-top: 72px; margin-bottom: 72px; text-align: center; border: 0; overflow: visible; } .post-content hr::before { content: '...'; display: inline-block; color: var(--secondary); font-size: 32px; letter-spacing: 20px; transform: translate(10px, -40px); } .post-content iframe { max-width: 100%; } .post-footer { margin-top: 56px; } .post-tags li { display: inline-block; } .post-tags li + li { margin-left: 3px; } .post-tags a { display: block; padding-left: 12px; padding-right: 12px; color: var(--secondary); font-size: 14px; line-height: 32px; background: #f7f7f8; border-radius: 2px; } .post-tags a:hover { background: #f2f2f2; } /* Footer -------------------------------------------------- */ .footer { max-width: calc(640px + var(--gap) * 2); margin-left: auto; margin-right: auto; padding: calc((var(--footer-height) - var(--gap)) / 2) var(--gap); color: var(--secondary); font-size: 12px; text-align: center; line-height: 24px; } .footer span { margin-left: 1px; margin-right: 1px; } .footer a { color: inherit; } .footer a:hover { color: var(--primary); border-bottom: 1px solid var(--primary); } /* 404 -------------------------------------------------- */ .not-found { position: absolute; left: 0; right: 0; display: flex; align-items: center; justify-content: center; height: 80%; font-size: 160px; font-weight: 700; } /* InstantClick -------------------------------------------------- */ #instantclick-bar { background: linear-gradient(120deg, #7492e6, #8f72c3, #9c66b3, #ba4d95, #ba4d95, #dc3c75); }