body { color: #212121; background-color: #fffdf6; font-family: 'Gill Sans', Helvetica, Arial, sans-serif; margin: 0 100px; -webkit-font-smoothing: antialiased; } a { color: #7b6240; } ul li a { transition: opacity ease-in 0.22s; color: #444444; text-decoration: none; } ul:hover a { opacity: 0.5; } ul:hover a:hover { opacity: 1; text-decoration: underline; } header, footer { max-width: 960px; margin-right: auto; margin-left: auto; text-align: center; padding-bottom: 1.5em; } header h1 { font-family: 'Gill Sans', Optima, sans-serif; font-size: 3.1em; font-weight: 400; text-transform: uppercase; letter-spacing: 0.1em; } header a { text-decoration: none; color: #111; } header ol { list-style-type: none; margin-bottom: 0; } header ol li { display: inline-block; margin: inherit 5px; text-transform: capitalize; } header ol li:after { content: ">"; padding: 0 5px 0 10px; } header ol li:last-child:after { content: ""; padding: 0; } header ol li a { text-decoration: underline; } .photos_index main { display: flex; } nav input, nav label { display: none; } nav { flex: none; max-width: 180px; margin-right: 30px; vertical-align: top; } nav h1 { font-size: 16px; text-transform: uppercase; margin-bottom: 8px; } nav ul { margin-top: 0; margin-bottom: 2rem; list-style: none; padding-left: 20px; } nav li { margin: 0.95em 0; font-size: 0.9em; padding-left: 0; } nav li a { display: block; } section h2 { font-size: 1em; } /* This is both a flexbox item (of the main element) and a Flexbox container itself (for the photos). */ .photos { flex: auto; display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); grid-gap: 0; align-content: start; } .photos a img { width: 100%; height: auto; } .event_block { max-width: 100%; margin: 0; vertical-align: middle; font-size: 36px; font-weight: bold; color: #ddd; background-color: #222; padding: 1rem; display: flex; align-items: center; justify-content: center; overflow: hidden; } .event_block a { color: #ddd; text-decoration: none; } .event_block.event_start { text-align: right; } .event_block.event_end { text-align: left; } .event_block.event_start:before { content: '\27fb'; padding-right: 1rem; } .event_block.event_end:after { content: '\27fc'; padding-left: 1rem; } .keywords { margin: 72px 72px 18px; line-height: 2; } .keywords a { white-space: nowrap; } .keywords a { text-decoration: none; text-transform: uppercase; letter-spacing: 0.1em; font-size: 80%; color: #7b6240; border-radius: 10px; border-color: #7b6240; border-width: 2px; padding: 5px 10px; transition: all 0.5s; display: inline-block; } .keywords a:hover { background-color: grey; color: white; border-radius: 20px; } .thumbnail, .stamp { line-height: 0; vertical-align: bottom; } .stamp { max-width: 96px; max-height: 96px; } .stamp.current { box-sizing: border-box; border: 3px solid #fffdf6; opacity: 55%; } .navigation_arrow { text-decoration: none; font-size: 72px; padding: 0 15px; color: black; } .streams { border-top: 1px solid #eaeaea; } .stream, .stamps { display: flex; flex-direction: row; } .stream { justify-content: center; padding-top: 1rem; padding-bottom: 1rem; } .stamps { overflow-x: scroll; } header { border-bottom: 1px solid #eaeaea; margin-bottom: 2em; padding-top: 1em; } footer { border-top: 1px solid #eaeaea; font-size: 80%; color: #444; margin-top: 2em; padding-top: 2em; min-height: 100px; font-family: 'Gill Sans', Optima, sans-serif; } /* Styles for the photo_show template */ body.photo_show { margin: 0; } .photo_show main h2, .photo_show p.description, .photo_show p.settings, .photo_show p.date, .photo_show ul.location, .photo_show .streams { margin-left: 100px; margin-right: 100px; } .photo_show .streams h2 { margin-left: 0; margin-right: 0; } .photo_show img { display: block; } ul.location { padding-left: 0; } ul.location li { display: inline-block; } ul.location li:after { content: ", "; } ul.location li:last-of-type:after { content: "."; } .photo_with_pagination { display: flex; justify-content: space-between; align-items: center; } .photo_with_pagination img { flex-grow: 2; object-fit: contain; min-width: 0; max-width: 100%; } /* --------- Mobile styles ---------- */ @media(max-width: 688px) { body { margin: 1rem 0; } header { margin-bottom: 1rem; } header h1 { font-size: 2.1em; } .photos_index main { display: block; } nav { max-width: initial; padding: 0 1rem 1rem; margin-bottom: 1rem; margin-right: 0; border-bottom: 1px solid #eaeaea; } nav section { display: none; } nav input:checked ~ section { display: block; } nav label { display: block; font-size: 110%; text-transform: uppercase; letter-spacing: 0.09em; opacity: 65%; margin-bottom: 0.03em; } nav label:before { content: "\2630 Open "; } nav input:checked + label:before { content: "\2630 Close "; } nav ul { display: flex; flex-wrap: wrap; } nav ul li { width: 50%; } .photos { grid-template-columns: repeat(3, 1fr); } .event_block { font-size: 18px; } .photo_with_pagination .navigation_arrow { position: absolute; z-index: 1; background-color: rgba(0, 0, 0, 0.2); color: rgba(255, 255, 255, 0.75); border-top-right-radius: 1rem; border-bottom-right-radius: 1rem; font-weight: lighter; } .photo_with_pagination .navigation_arrow:last-child { right: 0; border-radius: 0; border-top-left-radius: 1rem; border-bottom-left-radius: 1rem; } .photo_show main h2, .photo_show p.description, .photo_show p.settings, .photo_show p.date, .photo_show ul.location, .photo_show .keywords, .photo_show .streams { margin-left: 1rem; margin-right: 1rem; } }