/* general styling */ html, body { font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 1.1em; color: #444; margin: 0; padding: 0; } html { /* prevent scrollbar from repositioning website: * https://www.w3docs.com/snippets/css/how-to-prevent-scrollbar-from-repositioning-web-page.html */ overflow-y: scroll; } a, a:visited { color: #3a9784; } a:hover { text-decoration: none; color: #317f6f; } h1 { margin-top: 35px; margin-bottom: 30px; font-size: 2.5em; word-wrap: break-word; /* For very long topics */ padding-right: 40px; /* For the X on the detail page */ font-weight: 300; color: #666; } h2 { margin-top: 30px; margin-bottom: 5px; font-size: 1.8em; font-weight: 300; color: #333; } h3 { margin-top: 25px; margin-bottom: 5px; font-size: 1.3em; font-weight: 300; color: #333; } p { margin-top: 10px; margin-bottom: 20px; line-height: 160%; font-weight: 400; } p.smallMarginBottom { margin-bottom: 10px; } b { font-weight: 500; } tt { background: #eee; padding: 2px 7px; border-radius: 3px; } code { display: block; background: #eee; font-family: monospace; padding: 20px; border-radius: 3px; margin-top: 10px; margin-bottom: 20px; overflow-x: auto; white-space: nowrap; } /* Roboto font, embedded with the help of https://google-webfonts-helper.herokuapp.com/fonts/roboto?subsets=latin */ /* roboto-300 - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 300; src: local(''), url('../font/roboto-v29-latin-300.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../font/roboto-v29-latin-300.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } /* roboto-regular - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 400; src: local(''), url('../font/roboto-v29-latin-regular.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../font/roboto-v29-latin-regular.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } /* roboto-500 - latin */ @font-face { font-family: 'Roboto'; font-style: normal; font-weight: 500; src: local(''), url('../font/roboto-v29-latin-500.woff2') format('woff2'), /* Chrome 26+, Opera 23+, Firefox 39+ */ url('../font/roboto-v29-latin-500.woff') format('woff'); /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */ } /* Main page */ #main { max-width: 900px; margin: 0 auto 50px auto; padding: 0 10px; } #error { color: darkred; font-style: italic; } #ironicCenterTagDontFreakOut { color: #666; } /* Anchors */ .anchor .anchorLink { color: #ccc; text-decoration: none; padding: 0 5px; visibility: hidden; } .anchor:hover .anchorLink { visibility: visible; } .anchor .anchorLink:hover { color: #3a9784; visibility: visible; } /* Figures */ figure { text-align: center; } figure img, figure video { filter: drop-shadow(3px 3px 3px #ccc); border-radius: 7px; max-width: 100%; } figure video { width: 100%; max-height: 450px; } figcaption { text-align: center; font-style: italic; padding-top: 10px; } /* Screenshots */ #screenshots { text-align: center; } #screenshots img { height: 190px; margin: 3px; border-radius: 5px; filter: drop-shadow(2px 2px 2px #ddd); } #screenshots .nowrap { white-space: nowrap; } /* Lightbox; thanks to https://yossiabramov.com/blog/vanilla-js-lightbox */ .lightbox { opacity: 0; visibility: hidden; position: fixed; left:0; right: 0; top: 0; bottom: 0; z-index: -1; display: flex; align-items: center; justify-content: center; transition: all 0.15s ease-in; } .lightbox.show { background-color: rgba(0,0,0, 0.75); opacity: 1; visibility: visible; z-index: 1000; } .lightbox img { max-width: 90%; max-height: 90%; filter: drop-shadow(5px 5px 10px #222); border-radius: 5px; } .lightbox .close-lightbox { cursor: pointer; position: absolute; top: 30px; right: 30px; width: 20px; height: 20px; } .lightbox .close-lightbox::after, .lightbox .close-lightbox::before { content: ''; width: 3px; height: 20px; background-color: #ddd; position: absolute; border-radius: 5px; transform: rotate(45deg); } .lightbox .close-lightbox::before { transform: rotate(-45deg); } .lightbox .close-lightbox:hover::after, .lightbox .close-lightbox:hover::before { background-color: #fff; } /* Header */ #header { background: #3a9784; height: 130px; } #header #headerBox { max-width: 900px; margin: 0 auto; padding: 0 10px; } #header #logo { margin-top: 23px; float: left; } #header #name { float: left; color: white; font-size: 2.6em; font-weight: 300; margin: 35px 0 0 20px; } #header ol { list-style-type: none; float: right; margin-top: 80px; } #header ol li { display: inline-block; margin: 0 10px; font-weight: 400; } #header ol li a, nav ol li a:visited { color: white; text-decoration: none; } #header ol li a:hover { text-decoration: underline; } /* Subscribe box */ button { background: #3a9784; border: none; border-radius: 3px; padding: 3px 5px; color: white; cursor: pointer; } button:hover { background: #317f6f; padding: 5px; } ul { padding-left: 1em; list-style-type: circle; padding-bottom: 0; margin: 0; } li { padding: 4px 0; margin: 4px 0; font-size: 0.9em; } /* Hide top menu SMALL SCREEN */ @media only screen and (max-width: 780px) { #header ol { display: none; } } /* Subscribe box SMALL SCREEN */ @media only screen and (max-width: 1599px) { #subscribeBox #subscribeForm { border-left: 4px solid #3a9784; padding: 10px; } #subscribeBox #topicsHeader { margin-bottom: 0; } #subscribeBox input { height: 24px; min-width: 200px; max-width: 300px; border-radius: 3px; border: none; border-bottom: 1px solid #aaa; font-size: 0.8em; } #subscribeBox input:focus { border-bottom: 2px solid #3a9784; outline: none; } #subscribeBox ul { margin: 0; } #subscribeBox li { margin: 3px 0; padding: 0; } #subscribeBox li img { width: 15px; height: 15px; vertical-align: bottom; } #subscribeBox li a { padding: 0 5px 0 0; } #subscribeBox button { font-size: 0.8em; background: #3a9784; border-radius: 3px; padding: 5px; color: white; cursor: pointer; } #subscribeBox button:hover { background: #317f6f; } } /* Subscribe box BIG SCREEN */ @media only screen and (min-width: 1600px) { #subscribeBox { position: fixed; top: 170px; right: 10px; width: 300px; border-left: 4px solid #3a9784; padding: 10px; } #subscribeBox h3 { margin-top: 0; margin-bottom: 5px; font-size: 1.1em; } #subscribeBox #topicsHeader { margin-bottom: 0; } #subscribeBox p { font-size: 0.9em; margin-bottom: 10px; } #subscribeBox ul { margin: 0; } #subscribeBox input { height: 18px; border-radius: 3px; border: none; border-bottom: 1px solid #aaa; } #subscribeBox input:focus { border-bottom: 2px solid #3a9784; outline: none; } #subscribeBox li { margin: 3px 0; padding: 0; } #subscribeBox li img { width: 15px; height: 15px; vertical-align: bottom; } #subscribeBox li a { padding: 0 5px 0 0; } #subscribeBox button { font-size: 0.7em; background: #3a9784; border-radius: 3px; padding: 5px; color: white; cursor: pointer; } #subscribeBox button:hover { background: #317f6f; } } /** Detail view */ #detail .detailEntry { margin-bottom: 20px; } #detail .detailDate { margin-bottom: 2px; } #detail .detailDate, #detail .detailTags { color: #888; font-size: 0.9em; } #detail .detailTags { margin-top: 2px; } #detail .detailDate img { width: 20px; height: 20px; vertical-align: bottom; } #detail .detailTitle { font-weight: bold; } #detail #detailMain { max-width: 900px; margin: 0 auto; position: relative; /* required for close button's "position: absolute" */ padding: 0 10px 50px 10px; /* Chrome and Firefox behave differently regarding bottom margin */ } #detail #detailCloseButton { background: #eee; border-radius: 5px; border: none; padding: 5px; position: absolute; right: 10px; top: 10px; display: block; } #detail #detailCloseButton:hover { padding: 5px; background: #ccc; } #detail #detailCloseButton img { display: block; /* get rid of the weird bottom border */ } #detail #detailNotificationsDisallowed { display: none; color: darkred; } #detail #events { max-width: 900px; margin: 0 auto 50px auto; }