* { box-sizing: border-box; } html, body { margin: 0; padding: 0; } html { color: #313131; font-family: "Open Sans"; font-size: 22px; line-height: 1.5rem; } @media(max-width: 70rem) { html { font-size: 18px; } } body { background-color: #f5f5f5; } a { color: #404c9e; transition: color .2s ease-in-out; } a:hover { color: #7586f0; text-decoration: none; } h1, h2, h3 { margin-top: 0; margin-bottom: 0.5rem; word-wrap: break-word; } h1 { margin-bottom: 1.75rem; } h1 { font-size: 2rem; line-height: 2.5rem; } h2 { font-size: 1.5rem; line-height: 2rem; } h3 { font-size: 1rem; line-height: 1.5rem; } * + h1, * + h2, * + h3 { margin-top: 1.5rem; } p { margin-top: 0; margin-bottom: 1rem; } p:last-child { margin-bottom: 0; } ul, ol, dl { margin-top: 0; margin-bottom: 1rem; } ul:last-child, ol:last-child, dl:last-child { margin-bottom: 0; } p + ul, p + ol, p + dl { margin-top: -.5rem; } small { font-size: .8em; line-height: 1em; } strong { font-weight: bold; } img { max-width: 100%; height: auto; } .app-page-header { padding-top: .5rem; padding-bottom: .5rem; margin-bottom: 2rem; box-shadow: 0 0 1px #313131; } .app-page-header .container { display: flex; align-items: center; } .app-page-header .container > * { flex-grow: 0; } .app-page-header .container > .separator { flex-grow: 1; } @media(max-width: 70rem) { .app-page-header .container { flex-direction: column; } } .app-page-header h1 a { color: #313131; text-decoration: none; } .app-page-header .app-page-header-title { margin-bottom: 0; font-size: 1.5rem; line-height: 2rem; } .app-page { padding-bottom: 10rem; } @media(max-width: 70rem) { .app-page { padding-bottom: 5rem; } } .container { max-width: 70rem; margin-left: auto; margin-right: auto; padding-left: .5rem; padding-right: .5rem; } .galleries { display: flex; flex-wrap: wrap; justify-content: space-evenly; } .gallery-cover { width: 20rem; max-width: 100%; margin-bottom: 2rem; margin-right: .5rem; } .gallery-cover a { text-decoration: none; } .gallery-cover img { width: 100%; height: 12rem; border-radius: 0.25rem; } .gallery-cover .gallery-cover-name { display: block; font-size: 1rem; font-weight: bold; overflow: hidden; text-overflow: ellipsis; } .gallery-photos { display: flex; flex-wrap: wrap; justify-content: space-evenly; margin-top: 2rem; } .photo { width: 20rem; max-width: 100%; margin-right: .5rem; margin-bottom: 2rem; } .photo img { width: 100%; height: 12rem; } .to-the-top { position: fixed; bottom: 2rem; right: 2rem; padding: .25rem .5rem; color: #fff; text-decoration: none; font-size: .9rem; background-color: #404c9e; border-radius: .25rem; transition: background .2s ease-in-out; } .to-the-top:hover { color: #fff; background-color: #7586f0; }