From ccdc895288c32bbe1a033cacc31aa1535f630e3d Mon Sep 17 00:00:00 2001 From: a Date: Mon, 11 Jul 2022 17:50:12 -0500 Subject: [PATCH] experiment with hugo --- hugo/.gitignore | 3 + hugo/archetypes/default.md | 6 + hugo/assets/js/main.js | 10 + hugo/assets/scss/base/links.scss | 30 + hugo/assets/scss/base/list.scss | 50 ++ hugo/assets/scss/base/mixins.scss | 42 ++ hugo/assets/scss/base/page.scss | 152 ++++ hugo/assets/scss/base/paper.scss | 22 + hugo/assets/scss/base/reset.scss | 44 ++ hugo/assets/scss/base/sections.scss | 21 + hugo/assets/scss/base/variables.scss | 19 + hugo/assets/scss/components/button.scss | 84 +++ hugo/assets/scss/components/pullquote.scss | 20 + hugo/assets/scss/content/index.scss | 118 ++++ hugo/assets/scss/libraries/photoswipe.scss | 663 ++++++++++++++++++ hugo/assets/scss/main.scss | 19 + hugo/assets/scss/partials/h-card.scss | 4 + hugo/assets/scss/partials/site-footer.scss | 94 +++ hugo/assets/scss/partials/site-header.scss | 134 ++++ hugo/config.toml | 44 ++ ...es-arent-as-exciting-as-they-used-to-be.md | 26 + .../content/notes/108619642167941717/index.md | 7 + hugo/layouts/_default/baseof.html | 119 ++++ hugo/layouts/_default/list.html | 25 + hugo/layouts/_default/single.html | 37 + hugo/layouts/index.html | 31 + hugo/layouts/partials/h-card.html | 22 + hugo/layouts/partials/site-footer.html | 20 + hugo/layouts/partials/site-header.html | 27 + hugo/static/avatar.png | Bin 0 -> 22885 bytes 30 files changed, 1893 insertions(+) create mode 100644 hugo/.gitignore create mode 100644 hugo/archetypes/default.md create mode 100644 hugo/assets/js/main.js create mode 100644 hugo/assets/scss/base/links.scss create mode 100644 hugo/assets/scss/base/list.scss create mode 100644 hugo/assets/scss/base/mixins.scss create mode 100644 hugo/assets/scss/base/page.scss create mode 100644 hugo/assets/scss/base/paper.scss create mode 100644 hugo/assets/scss/base/reset.scss create mode 100644 hugo/assets/scss/base/sections.scss create mode 100644 hugo/assets/scss/base/variables.scss create mode 100644 hugo/assets/scss/components/button.scss create mode 100644 hugo/assets/scss/components/pullquote.scss create mode 100644 hugo/assets/scss/content/index.scss create mode 100644 hugo/assets/scss/libraries/photoswipe.scss create mode 100644 hugo/assets/scss/main.scss create mode 100644 hugo/assets/scss/partials/h-card.scss create mode 100644 hugo/assets/scss/partials/site-footer.scss create mode 100644 hugo/assets/scss/partials/site-header.scss create mode 100644 hugo/config.toml create mode 100644 hugo/content/comments/smartphones-arent-as-exciting-as-they-used-to-be.md create mode 100644 hugo/content/notes/108619642167941717/index.md create mode 100644 hugo/layouts/_default/baseof.html create mode 100644 hugo/layouts/_default/list.html create mode 100644 hugo/layouts/_default/single.html create mode 100644 hugo/layouts/index.html create mode 100644 hugo/layouts/partials/h-card.html create mode 100644 hugo/layouts/partials/site-footer.html create mode 100644 hugo/layouts/partials/site-header.html create mode 100644 hugo/static/avatar.png diff --git a/hugo/.gitignore b/hugo/.gitignore new file mode 100644 index 0000000..fc795e5 --- /dev/null +++ b/hugo/.gitignore @@ -0,0 +1,3 @@ +**/public +**/_gen +.hugo_build.lock \ No newline at end of file diff --git a/hugo/archetypes/default.md b/hugo/archetypes/default.md new file mode 100644 index 0000000..00e77bd --- /dev/null +++ b/hugo/archetypes/default.md @@ -0,0 +1,6 @@ +--- +title: "{{ replace .Name "-" " " | title }}" +date: {{ .Date }} +draft: true +--- + diff --git a/hugo/assets/js/main.js b/hugo/assets/js/main.js new file mode 100644 index 0000000..7959c93 --- /dev/null +++ b/hugo/assets/js/main.js @@ -0,0 +1,10 @@ +var root = document.documentElement; +let vh = window.innerHeight * 0.01; +root.style.setProperty('--vh', `${vh}px`); + +// We listen to the resize event +window.addEventListener('resize', () => { + // We execute the same script as before + let vh = window.innerHeight * 0.01; + root.style.setProperty('--vh', `${vh}px`); +}); \ No newline at end of file diff --git a/hugo/assets/scss/base/links.scss b/hugo/assets/scss/base/links.scss new file mode 100644 index 0000000..67593a3 --- /dev/null +++ b/hugo/assets/scss/base/links.scss @@ -0,0 +1,30 @@ +a { + transition: all 0.1s ease-out; + @media (prefers-reduced-motion) { + transition: none; + } + &:link { + color: var(--link-color); + text-decoration-thickness: .125rem; + text-underline-offset: 0.125em; + text-decoration-skip-ink: none; + } + &:visited { + color: var(--link-visited); + } + &:focus { + outline: none; + background: var(--primary-accent); + color: var(--primary-accent-text); + padding: 4px; + border-radius: 2px; + text-decoration: none; + } + &:hover { + text-decoration-thickness: 0.25em; + text-underline-offset: 0.25em; + } + &:active { + + } + } \ No newline at end of file diff --git a/hugo/assets/scss/base/list.scss b/hugo/assets/scss/base/list.scss new file mode 100644 index 0000000..399da53 --- /dev/null +++ b/hugo/assets/scss/base/list.scss @@ -0,0 +1,50 @@ +.list { + .container { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(240px,1fr)); + gap: 3em; + } + .list-item { + color: inherit; + text-decoration: none; + transition: color 0.2s ease-in-out; + &__link { + display: block; + &:focus { + background: unset; + padding: unset; + @include focus-outline; + &:link { + color: var(--link-color); + } + &:visited { + color: var(--link-visited); + } + } + + &:hover { + } + + &:active { + + } + } + &__image { + width: 100%; + height: auto; + } + &__title { + font-size: 1.5em; + font-weight: 700; + margin: 1.5em 0 0.5em; + } + &__summary { + margin-bottom: 0.5em; + line-height: 1.4; + } + &__date { + display: block; + margin-bottom: 1em; + } + } +} \ No newline at end of file diff --git a/hugo/assets/scss/base/mixins.scss b/hugo/assets/scss/base/mixins.scss new file mode 100644 index 0000000..42ea976 --- /dev/null +++ b/hugo/assets/scss/base/mixins.scss @@ -0,0 +1,42 @@ +@mixin box-shadow { + box-shadow: 0 1px 1px rgba(0,0,0,0.11), + 0 2px 2px rgba(0,0,0,0.11), + 0 4px 4px rgba(0,0,0,0.11), + 0 6px 8px rgba(0,0,0,0.11), + 0 8px 16px rgba(0,0,0,0.11); +} + +@mixin box-shadow-heavy { + box-shadow: 0 2px 1px rgba(0,0,0,0.09), + 0 4px 2px rgba(0,0,0,0.09), + 0 8px 4px rgba(0,0,0,0.09), + 0 16px 8px rgba(0,0,0,0.09), + 0 32px 16px rgba(0,0,0,0.09); +} + +@mixin focus-outline { + outline: solid; + outline-color: var(--primary-accent); + outline-offset: 4px; +} + +@function css-function( $function, $values... ) { + @return + $function + + unquote( '(' ) + + $values + + unquote( ')' ) + ; +} + +@function css-min( $values... ) { + @return css-function( min, $values ); +} + +@function css-max( $values... ) { + @return css-function( max, $values ); +} + +@function css-clamp( $values... ) { + @return css-function( clamp, $values ); +} \ No newline at end of file diff --git a/hugo/assets/scss/base/page.scss b/hugo/assets/scss/base/page.scss new file mode 100644 index 0000000..38937ef --- /dev/null +++ b/hugo/assets/scss/base/page.scss @@ -0,0 +1,152 @@ +.page-title {font-size: 2.5em; font-weight: 700} +.page { + font-size: 1em; + @media (min-width: 600px) {font-size: 1.25em;} + max-width: 960px; + margin: 0 auto; + @media (min-width: 960px) { + display: grid; + grid-template-columns: minmax(45ch,65ch) 1fr; + grid-template-rows: auto auto; + grid-template-areas: + "header header" + "content meta"; + } + .section { + padding: 1em 0; + grid-area: content; + + } + .page-header { + padding: 2em 0; + grid-area: header; + } + .meta { + grid-area: meta; + } + .page-summary {margin: 1em 0;} + .page-cover {width: 100%;} + + h1,h2,h3,h4,h5,h6 { + line-height: 1.2; + margin-bottom: 1rem; + margin-top: 2rem; + font-weight: 700; + } + p { + line-height: 1.4; + margin-bottom: 1em; + } + a {word-wrap: break-word;} + h1 {font-size: 2.49em} + h2 {font-size: 2.07em} + h3 {font-size: 1.728em} + h4 {font-size: 1.44em} + h5 {font-size: 1.2em} + h6 {font-size: 1em} + + h1 {font-size: 1.8em} + h2 {font-size: 1.600em} + h3 {font-size: 1.423em} + h4 {font-size: 1.265em} + h5 {font-size: 1.125em} + h6 {font-size: 1em} + + blockquote { + font-size: 1em; + margin: 1em 0; + border-left: 0.25rem solid black; + padding-left: 0.5em; + line-height: 1.4; + } + + pre { + font-family: monospace; + background: #333; + color: white; + padding: 1em; + line-height: 1.4; + overflow-x: scroll; + margin-bottom: 1em; + } + ul {list-style: disc; margin: 1em 0;} + li {margin-bottom: 1em; line-height: 1.4; margin-left: 1em;} + ol {list-style: decimal; margin: 1em 0;} + dl {margin: 1em 0; line-height: 1.4;} + dt {font-weight: 700;} + dd {margin-left: 1em;} + em {font-style: italic} + strong {font-weight: 700} + sup { + position: relative; + font-size: 0.8em; + a {position: relative; top: -0.5em;} + } + table { + text-align: center; + thead { + font-weight: 700; + } + th, td {border: 1px solid black; padding: 0.5em;} + } + figure { + img { + width: 100%; + margin-bottom: -0.125em; + } + figcaption { + background: #212121; + color: white; + font-style: italic; + padding: 1em; + font-size: 0.8em; + line-height: 1.2; + } + margin-bottom: 1em; + } + + img { + width: 100%; + margin-bottom: 1em; + } + +} + +.tags { + display: flex; + flex-flow: row wrap; + gap: 0.25em; + li { + list-style: none; + border-radius: 4px; + margin-left: 1em; + margin-bottom: 0; + } +} + +.meta .container {height: 100%; margin-top: 0.75rem;} +article .container *:first-child {margin-top: 0;} + +#TableOfContents { + position: sticky; + top: 2rem; + @media (min-width: 960px) {top: 96px;} + max-width: max-content; + font-size: 0.75em; + margin: 2em 0; + ul {list-style: none; margin: 0;} + li {margin-bottom: 0; margin-left: 0;} + li li {margin-left: 1em;} + a { + background: unset; + text-decoration-thickness: unset; + text-underline-offset: unset; + color: inherit; + text-decoration: none; + transition: color 0.2s ease-in-out; + &:hover { + color: #0060ff; + text-decoration: underline; + } + } +} \ No newline at end of file diff --git a/hugo/assets/scss/base/paper.scss b/hugo/assets/scss/base/paper.scss new file mode 100644 index 0000000..6940658 --- /dev/null +++ b/hugo/assets/scss/base/paper.scss @@ -0,0 +1,22 @@ +:root { + --paper-padding: 4em; +} + +body {position: relative;} +main {background: #ddd; z-index: 1; position: relative;} +main:before { + content: ''; + position: absolute; + width: calc(var(--container-width) + 2 * var(--paper-padding)); + height: 100%; + z-index: 0; + left: calc(50% - (var(--container-width) + 2 * var(--paper-padding)) / 2); + box-shadow: 0px 0px 6px rgba(0,0,0,0.2); + background: white; +} +footer {z-index: 1;} +main > * {position: relative; z-index: 1} + +.site-header {box-shadow: 0px 2px 6px rgba(0,0,0,0.2);} +.site-nav {box-shadow: 0px -2px 6px rgba(0,0,0,0.2);} +.site-footer {box-shadow: 0px -2px 3px rgba(0,0,0,0.2);} \ No newline at end of file diff --git a/hugo/assets/scss/base/reset.scss b/hugo/assets/scss/base/reset.scss new file mode 100644 index 0000000..5cebaa4 --- /dev/null +++ b/hugo/assets/scss/base/reset.scss @@ -0,0 +1,44 @@ +html, body, div, span, applet, object, iframe, +h1, h2, h3, h4, h5, h6, p, blockquote, pre, +a, abbr, acronym, address, big, cite, code, +del, dfn, em, img, ins, kbd, q, s, samp, +small, strike, strong, sub, sup, tt, var, +b, u, i, center, +dl, dt, dd, ol, ul, li, +fieldset, form, label, legend, +table, caption, tbody, tfoot, thead, tr, th, td, +article, aside, canvas, details, embed, +figure, figcaption, footer, header, hgroup, +menu, nav, output, ruby, section, summary, +time, mark, audio, video { + margin: 0; + padding: 0; + border: 0; + font-size: 100%; + font: inherit; + vertical-align: baseline; + box-sizing: border-box; +} + +article, aside, details, figcaption, figure, +footer, header, hgroup, menu, nav, section { + display: block; +} +body { + line-height: 1; +} +ol, ul { + list-style: none; +} +blockquote, q { + quotes: none; +} +blockquote:before, blockquote:after, +q:before, q:after { + content: ''; + content: none; +} +table { + border-collapse: collapse; + border-spacing: 0; +} \ No newline at end of file diff --git a/hugo/assets/scss/base/sections.scss b/hugo/assets/scss/base/sections.scss new file mode 100644 index 0000000..b7b5f7d --- /dev/null +++ b/hugo/assets/scss/base/sections.scss @@ -0,0 +1,21 @@ +html { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; + scroll-behavior: smooth; +} +body { + display: flex; + flex-flow: column; + min-height: calc(var(--vh, 1vh) * 100); +} +main {flex-grow: 1;} +.section { + padding: 2em 0; + @media (min-width: 600px) {padding: 3em 0} + @media (min-width: 62em) {padding: 4em 0} +} +.container { + width: 100%; + max-width: 960px; + margin: 0 auto; + padding: 0 1em; +} \ No newline at end of file diff --git a/hugo/assets/scss/base/variables.scss b/hugo/assets/scss/base/variables.scss new file mode 100644 index 0000000..2320337 --- /dev/null +++ b/hugo/assets/scss/base/variables.scss @@ -0,0 +1,19 @@ +$container-width: 960px; +$nav-height: 4em; +$header-height: 4em; + +:root { + --container-width: #{$container-width}; + --nav-height: #{$nav-height}; + --header-height: #{$header-height}; + --link-color: rgb(0,96,255); + --link-visited: rgb(140, 74, 194); + --primary-accent: rgb(0,96,255); + --primary-accent-transparent: rgba(0,96,255,0.25); + --primary-accent-text: #fff; + --ui-background: #fff; + --ui-background-track: #aaa; + --ui-text: #212121; + --ui-text-muted: #777; + --ui-text-bold: #000; +} \ No newline at end of file diff --git a/hugo/assets/scss/components/button.scss b/hugo/assets/scss/components/button.scss new file mode 100644 index 0000000..14418aa --- /dev/null +++ b/hugo/assets/scss/components/button.scss @@ -0,0 +1,84 @@ +.button { + width: 100%; + @media (min-width: 33.75em) { + width: max-content; + } + font-size: clamp(1em,2vw,1em); + padding: 1em; + display: flex; + justify-content: center; + align-items: center; + text-decoration: none; + border-radius: 0.25em; + font-weight: 700; + gap: 1em; + &:link { + + } + + &:visited { + + } + + &:focus { + padding: 1em; + border-radius: 0.25em; + @include focus-outline; + } + + &:hover { + + } + + &:active { + + } +} + +.button.primary { + background: var(--primary-accent); + color: var(--primary-accent-text); + &:link { + + } + + &:visited { + + } + + &:focus { + + } + + &:hover { + background: var(--primary-accent-transparent); + } + + &:active { + + } +} +.button.secondary { + background: white; + border: 2px solid var(--primary-accent); + color: var(--primary-accent); + &:link { + + } + + &:visited { + + } + + &:focus { + + } + + &:hover { + background: var(--primary-accent-transparent); + } + + &:active { + + } +} \ No newline at end of file diff --git a/hugo/assets/scss/components/pullquote.scss b/hugo/assets/scss/components/pullquote.scss new file mode 100644 index 0000000..9cfa309 --- /dev/null +++ b/hugo/assets/scss/components/pullquote.scss @@ -0,0 +1,20 @@ +@mixin pullquote { + content: attr(data-pullquote); + font-size: 1em; + line-height: 1.2; + display: flex; + font-family: serif; + color: #555; + padding: 1em; + font-size: 1.25em; +} +.has-pullquote{ + &.before:before { + @include pullquote; + margin-bottom: 1rem; + } + &.after:after { + @include pullquote; + margin-top: 1rem; + } +} \ No newline at end of file diff --git a/hugo/assets/scss/content/index.scss b/hugo/assets/scss/content/index.scss new file mode 100644 index 0000000..dba62c7 --- /dev/null +++ b/hugo/assets/scss/content/index.scss @@ -0,0 +1,118 @@ +#index { + .title { + font-size: 1.5em; + font-weight: 700; + line-height: 1.2; + &:before { + font-size: 3em; + font-weight: 700; + color: #ddd; + position: absolute; + top: -0.5em; + left: -0.3em; + z-index: -1; + } + position: relative; + margin-bottom: 2em; + } + .subtitle { + font-size: 1.5em; + line-height: 1.2; + margin-bottom: 0.5em; + margin-top: 2em; + } + .quotes { + + padding: 2rem; + font-size: 1.25rem; + display: flex; + flex-flow: column; + justify-content: space-between; + line-height: 1.5; + gap: 2em; + font-family: monospace; + .heading { + font-weight: 700; + font-family: initial; + } + } + .quotes-container { + color: #555; + display: flex; + flex-flow: column; + justify-content: space-around; + flex-grow: 1; + gap: 3rem; + } + + #summary .container { + display: grid; + grid-template-columns: 1fr; + @media (min-width: 40rem) { + grid-template-columns: 18rem 1fr; + } + } + + #birdsounds { + background: black; + color: white; + text-align: center; + .container { + display: flex; + flex-flow: column; + align-items: center; + } + .photo { + max-height: 100vh; + height: 100%; + max-width: 100%; + object-fit: contain; + object-position: center bottom; + } + .info { + display: flex; + flex-flow: column; + align-items: center; + } + .logo { + margin: 2rem 0; + } + @media (min-width: 40rem) { + .photo { + height: 20rem; + } + .container { + flex-flow: row; + justify-content: space-between; + } + .info { + flex-grow: 1; + } + } + a { + color: white; + position: relative; + &:after { + content: '→'; + position: absolute; + right: -1em; + color: white; + } + } + } + #updates { + line-height: 1.5; + font-size: 1.25rem; + .heading { + font-size: 1.5em; + font-weight: 700; + margin-bottom: 1em; + } + p + p { + margin: 1em 0; + } + p { + max-width: 55ch; + } + } +} \ No newline at end of file diff --git a/hugo/assets/scss/libraries/photoswipe.scss b/hugo/assets/scss/libraries/photoswipe.scss new file mode 100644 index 0000000..fb9f3e8 --- /dev/null +++ b/hugo/assets/scss/libraries/photoswipe.scss @@ -0,0 +1,663 @@ +/*! PhotoSwipe main CSS by Dmitry Semenov | photoswipe.com | MIT license */ +/* + Styles for basic PhotoSwipe functionality (sliding area, open/close transitions) +*/ +/* pswp = photoswipe */ +.pswp { + display: none; + position: absolute; + width: 100%; + height: 100%; + left: 0; + top: 0; + overflow: hidden; + -ms-touch-action: none; + touch-action: none; + z-index: 1500; + -webkit-text-size-adjust: 100%; + /* create separate layer, to avoid paint on window.onscroll in webkit/blink */ + -webkit-backface-visibility: hidden; + outline: none; } + .pswp * { + -webkit-box-sizing: border-box; + box-sizing: border-box; } + .pswp img { + max-width: none; } + + /* style is added when JS option showHideOpacity is set to true */ + .pswp--animate_opacity { + /* 0.001, because opacity:0 doesn't trigger Paint action, which causes lag at start of transition */ + opacity: 0.001; + will-change: opacity; + /* for open/close transition */ + -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); } + + .pswp--open { + display: block; } + + .pswp--zoom-allowed .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-zoom-in; + cursor: -moz-zoom-in; + cursor: zoom-in; } + + .pswp--zoomed-in .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-grab; + cursor: -moz-grab; + cursor: grab; } + + .pswp--dragging .pswp__img { + /* autoprefixer: off */ + cursor: -webkit-grabbing; + cursor: -moz-grabbing; + cursor: grabbing; } + + /* + Background is added as a separate element. + As animating opacity is much faster than animating rgba() background-color. + */ + .pswp__bg { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + background: #000; + opacity: 0; + -webkit-transform: translateZ(0); + transform: translateZ(0); + -webkit-backface-visibility: hidden; + will-change: opacity; } + + .pswp__scroll-wrap { + position: absolute; + left: 0; + top: 0; + width: 100%; + height: 100%; + overflow: hidden; } + + .pswp__container, + .pswp__zoom-wrap { + -ms-touch-action: none; + touch-action: none; + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; } + + /* Prevent selection and tap highlights */ + .pswp__container, + .pswp__img { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + -webkit-tap-highlight-color: transparent; + -webkit-touch-callout: none; } + + .pswp__zoom-wrap { + position: absolute; + width: 100%; + -webkit-transform-origin: left top; + -ms-transform-origin: left top; + transform-origin: left top; + /* for open/close transition */ + -webkit-transition: -webkit-transform 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: transform 333ms cubic-bezier(0.4, 0, 0.22, 1); } + + .pswp__bg { + will-change: opacity; + /* for open/close transition */ + -webkit-transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); + transition: opacity 333ms cubic-bezier(0.4, 0, 0.22, 1); } + + .pswp--animated-in .pswp__bg, + .pswp--animated-in .pswp__zoom-wrap { + -webkit-transition: none; + transition: none; } + + .pswp__container, + .pswp__zoom-wrap { + -webkit-backface-visibility: hidden; } + + .pswp__item { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + overflow: hidden; } + + .pswp__img { + position: absolute; + width: auto; + height: auto; + top: 0; + left: 0; } + + /* + stretched thumbnail or div placeholder element (see below) + style is added to avoid flickering in webkit/blink when layers overlap + */ + .pswp__img--placeholder { + -webkit-backface-visibility: hidden; } + + /* + div element that matches size of large image + large image loads on top of it + */ + .pswp__img--placeholder--blank { + background: #222; } + + .pswp--ie .pswp__img { + width: 100% !important; + height: auto !important; + left: 0; + top: 0; } + + /* + Error message appears when image is not loaded + (JS option errorMsg controls markup) + */ + .pswp__error-msg { + position: absolute; + left: 0; + top: 50%; + width: 100%; + text-align: center; + font-size: 14px; + line-height: 16px; + margin-top: -8px; + color: #CCC; } + + .pswp__error-msg a { + color: #CCC; + text-decoration: underline; } + +/*! PhotoSwipe Default UI CSS by Dmitry Semenov | photoswipe.com | MIT license */ +/* + + Contents: + + 1. Buttons + 2. Share modal and links + 3. Index indicator ("1 of X" counter) + 4. Caption + 5. Loading indicator + 6. Additional styles (root element, top bar, idle state, hidden state, etc.) + +*/ +/* + + 1. Buttons + + */ +/*