Latest version of my personal website

main.css 9.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. /*****************************************************************************/
  2. /*
  3. /* Common
  4. /*
  5. /*****************************************************************************/
  6. /* Box sizing. Courtesy of Paul Irish
  7. * (http://www.paulirish.com/2012/box-sizing-border-box-ftw/) */
  8. *, *:before, *:after {
  9. -moz-box-sizing: border-box;
  10. -webkit-box-sizing: border-box;
  11. box-sizing: border-box;
  12. }
  13. html {
  14. background-color: whitesmoke;
  15. margin: 0;
  16. padding: 0;
  17. }
  18. body {
  19. margin: 0;
  20. padding: 0;
  21. width: 100%;
  22. height: 100%;
  23. min-height: 100vh;
  24. background-color: whitesmoke;
  25. }
  26. .root {
  27. font-family: 'Open Sans', Arial, sans-serif;
  28. font-style: normal;
  29. font-weight: 400;
  30. color: #444;
  31. }
  32. h2 {
  33. font-weight: 300;
  34. }
  35. hr {
  36. width: 75%;
  37. }
  38. a {
  39. color:FireBrick;
  40. text-decoration: none;
  41. }
  42. p {
  43. margin: 0 0 10px;
  44. }
  45. table {
  46. min-width: 85%;
  47. margin: 1em auto 1em;
  48. border: 1px solid #cbcbcb;
  49. }
  50. td, th {
  51. padding: 0.5em 0.5em;
  52. }
  53. td {
  54. border: 1px solid #cbcbcb;
  55. }
  56. tr:nth-child(2n-1) td {
  57. background-color: #f2f2f2;
  58. }
  59. a:visited {
  60. color:#855C85;
  61. }
  62. a:hover {
  63. color:FireBrick;
  64. text-decoration: underline;
  65. }
  66. canvas {
  67. position: fixed;
  68. top: 0;
  69. left: 0;
  70. }
  71. blockquote {
  72. margin-left: 20px;
  73. margin-right: 20px;
  74. padding-left: 1rem;
  75. border-left: solid 3px #aaa;
  76. }
  77. blockquote p {
  78. margin-bottom: 6px;
  79. }
  80. @font-face {
  81. font-family: 'dejavu_sans_monobook';
  82. src: url('DejaVuSansMono-webfont.eot');
  83. src: url('DejaVuSansMono-webfont.eot?#iefix') format('embedded-opentype'),
  84. url('DejaVuSansMono-webfont.woff') format('woff'),
  85. url('DejaVuSansMono-webfont.ttf') format('truetype'),
  86. url('DejaVuSansMono-webfont.svg#dejavu_sans_monobook') format('svg');
  87. font-weight: normal;
  88. font-style: normal;
  89. }
  90. /*****************************************************************************/
  91. /*
  92. /* Grid
  93. /*
  94. /*****************************************************************************/
  95. /* Grid. Courtesy of Adam Kaplan (http://www.adamkaplan.me/grid/) */
  96. .container {
  97. margin: 0 auto;
  98. max-width: 48rem;
  99. width: 100%;
  100. }
  101. @media (min-width: 40rem) {
  102. .container {
  103. width: 90%;
  104. }
  105. .column {
  106. float: left;
  107. padding-left: 1rem;
  108. padding-right: 1rem;
  109. }
  110. .column.full { width: 100%; }
  111. .column.two-thirds { width: 66.7%; }
  112. .column.half { width: 50%; }
  113. .column.third { width: 33.3%; }
  114. .column.fourth { width: 25%; }
  115. .column.three-fourths { width: 75%; }
  116. .column.flow-opposite { float: right; }
  117. }
  118. .clearfix:before,
  119. .clearfix:after {
  120. content: " ";
  121. display: table;
  122. }
  123. .clearfix:after {
  124. clear: both;
  125. }
  126. .clearfix {
  127. *zoom: 1;
  128. }
  129. @media (min-width: 40rem) {
  130. .column.flow-opposite { float: right; }
  131. }
  132. /* More suggestions from Jorden Lev (http://jordanlev.github.io/grid/) */
  133. @-webkit-viewport {width: device-width;}
  134. @-moz-viewport {width: device-width;}
  135. @-ms-viewport {width: device-width;}
  136. @-o-viewport {width: device-width;}
  137. @viewport {width: device-width;}
  138. img { width: auto; max-width: 100%; height: auto; }
  139. /* Credit http://avexdesigns.com/responsive-youtube-embed/#sthash.Q9VzxV8M.dpuf
  140. * for this responsive video embed css */
  141. .video-container {
  142. position: relative;
  143. padding-bottom: 56.25%;
  144. padding-top: 30px; height: 0; overflow: hidden;
  145. }
  146. .video-container iframe,
  147. .video-container object,
  148. .video-container embed {
  149. position: absolute;
  150. top: 0;
  151. left: 0;
  152. width: 100%;
  153. height: 100%;
  154. padding-bottom: 5px;
  155. }
  156. /* By me */
  157. .hide-mobile {
  158. display: none;
  159. }
  160. .hide-desktop-inline-block { display: inline-block }
  161. .hide-desktop-block { display: block }
  162. .hide-desktop-inline { display: inline }
  163. @media (min-width: 40rem) {
  164. .hide-desktop { display: none }
  165. .hide-mobile-inline-block { display: inline-block }
  166. .hide-mobile-block { display: block }
  167. .hide-mobile-inline { display: inline }
  168. }
  169. /*****************************************************************************/
  170. /*
  171. /* Blog
  172. /*
  173. /*****************************************************************************/
  174. h1.title {
  175. display: inline-block;
  176. padding-right: 10px;
  177. font-size: 2rem;
  178. font-weight: 200;
  179. margin: 0;
  180. margin-left: 0.5rem;
  181. }
  182. div.header {
  183. /* this is padding instead of margin to prevent <html> from poking out behind top of page */
  184. padding: 20px 0 20px;
  185. text-align: center;
  186. }
  187. @media (min-width: 40rem) {
  188. div.header {
  189. text-align: start;
  190. }
  191. }
  192. div.header a {
  193. color: FireBrick;
  194. }
  195. span.timestamp {
  196. font-size: 0.85rem;
  197. margin-top: 7px;
  198. }
  199. @media (min-width: 40rem) {
  200. span.timestamp {
  201. float: right;
  202. }
  203. }
  204. .post-header {
  205. padding-bottom: 10px;
  206. }
  207. a.read-more {
  208. float: right;
  209. font-size: 0.85rem;
  210. }
  211. h2.post-title {
  212. margin-top: 0;
  213. margin-bottom: 0;
  214. }
  215. @media (min-width: 40rem) {
  216. p.contact-links {
  217. float: right;
  218. }
  219. }
  220. .contact {
  221. text-align: center;
  222. padding-bottom: 10px;
  223. }
  224. div.more-row {
  225. padding-top: 5px;
  226. }
  227. div.pagination {
  228. text-align: center;
  229. margin-bottom: 20px;
  230. }
  231. div.rss {
  232. text-align: center;
  233. }
  234. a.rss img {
  235. max-width: 16px;
  236. max-height: 16px;
  237. margin: 0.5rem 0;
  238. }
  239. /*****************************************************************************/
  240. /*
  241. /* Posts
  242. /*
  243. /*****************************************************************************/
  244. /* standard */
  245. .post pre {
  246. border: 1px solid #ddd;
  247. background-color: #eef;
  248. padding: 0 .4em;
  249. white-space: pre;
  250. }
  251. @media (min-width: 40rem) {
  252. .post pre {
  253. white-space: pre-wrap;
  254. }
  255. }
  256. .post ul, .post ol {
  257. margin-left: 0;
  258. padding-left: 20px;
  259. }
  260. @media (min-width: 40rem) {
  261. .post ul, .post ol {
  262. margin-left: 0.5em;
  263. padding-left: 40px;
  264. }
  265. }
  266. .post code {
  267. border: 1px solid #ddd;
  268. background-color: #eef;
  269. padding: 0 .2em;
  270. font-size: 8pt;
  271. font-family: 'dejavu_sans_monobook', Courier, monospace;
  272. }
  273. @media (min-width: 40rem) {
  274. .post code {
  275. font-size: 10pt;
  276. }
  277. }
  278. .post pre code {
  279. border: none;
  280. padding: 0;
  281. }
  282. /* terminal */
  283. .post pre.terminal {
  284. border: 1px solid #000;
  285. background-color: #333;
  286. color: #FFF;
  287. }
  288. .post pre.terminal code {
  289. background-color: #333;
  290. }
  291. .post img {
  292. display: block;
  293. margin: 0 auto;
  294. }
  295. .post img.half-left {
  296. float: none;
  297. width: 100%;
  298. }
  299. .post img.half-right {
  300. float: none;
  301. width: 100%;
  302. }
  303. @media (min-width: 40rem) {
  304. .post img.half-left {
  305. float: left;
  306. width: 49%;
  307. margin-bottom: 10px;
  308. }
  309. .post img.half-right {
  310. float: right;
  311. width: 49%;
  312. margin-bottom: 10px;
  313. }
  314. }
  315. /*****************************************************************************/
  316. /*
  317. /* Subscribe form
  318. /*
  319. /*****************************************************************************/
  320. .subscribe-form h3 {
  321. margin-top: 10px;
  322. margin-left: 10px;
  323. }
  324. .subscribe-form input {
  325. margin: 10px;
  326. }
  327. .subscribe-form label {
  328. margin-left: 10px;
  329. }
  330. .subscribe-form span.form-rss {
  331. display: block;
  332. margin-top: 20px;
  333. margin-left: 10px;
  334. }
  335. /*****************************************************************************/
  336. /*
  337. /* Homepage
  338. /*
  339. /*****************************************************************************/
  340. #home {
  341. display: block;
  342. position: relative;
  343. padding-top: 1.5rem;
  344. }
  345. /* credit to http://codepen.io/bennettfeely/pen/Ftczh for a lot of this css */
  346. .card {
  347. position: relative;
  348. z-index: 2;
  349. padding: 1rem;
  350. box-shadow: 0 1px 2px #aaa;
  351. background: white;
  352. margin: 0 0.5rem 1rem;
  353. border-radius: 3px;
  354. }
  355. h1.big-name {
  356. font-size: 2rem;
  357. font-weight: 200;
  358. margin-top: 0;
  359. text-align: center;
  360. }
  361. #front-quote , #front-quote, .profile-card-desc p {
  362. margin-top: 0;
  363. margin-bottom: 0;
  364. }
  365. .profile-card-portrait {
  366. width: 100%;
  367. margin-bottom: 1.5rem;
  368. }
  369. .profile-card-quote {
  370. margin-top: 1.5rem;
  371. }
  372. .profile-card-portrait img {
  373. margin: 0 auto;
  374. display: block;
  375. }
  376. .profile-card-desc {
  377. margin-top: 1.25rem;
  378. }
  379. @media (min-width: 40rem) {
  380. .profile-card-portrait {
  381. margin-bottom: 0;
  382. }
  383. .profile-card-links {
  384. margin-top: 0;
  385. }
  386. }
  387. .link-card {
  388. text-align: center;
  389. text-decoration: none;
  390. }
  391. .link-card img {
  392. max-width: 64px;
  393. max-height: 64px;
  394. }
  395. .mobile-half {
  396. padding: 0;
  397. float: left;
  398. width: 50%;
  399. }
  400. @media (min-width: 40rem) {
  401. .mobile-half {
  402. padding: 0;
  403. }
  404. }
  405. a.no-decoration {
  406. color: #444;
  407. display: block;
  408. }
  409. a.no-decoration:visited {
  410. color: #444;
  411. }
  412. a.no-decoration:hover {
  413. color: #444;
  414. text-decoration: none;
  415. }
  416. /*****************************************************************************/
  417. /*
  418. /* Magic
  419. /*
  420. /*****************************************************************************/
  421. div.controls-tab button {
  422. width: 28px;
  423. height: 28px;
  424. }
  425. div.options-panel {
  426. position: fixed;
  427. bottom: 0;
  428. left: 0;
  429. padding: 10px;
  430. width: 100%;
  431. z-index: 10;
  432. height: auto;
  433. background-color: rgba(140,120,100,0.75);
  434. color: white;
  435. }
  436. div.controls-tab {
  437. position: relative;
  438. }
  439. div.controls {
  440. position: absolute;
  441. top: -2.6rem;
  442. right: 1rem;
  443. height: 2rem;
  444. padding-right: 5px;
  445. padding-left: 5px;
  446. background-color: rgba(140,120,100,0.75);
  447. }
  448. div.controls button {
  449. padding: 0.25rem;
  450. margin-top: 0.25rem;
  451. background-color: rgb(100, 100, 100);
  452. border: 1px grey solid;
  453. color: white;
  454. font-size: small;
  455. }
  456. div.options-panel form {
  457. text-align: center
  458. }
  459. div.options-panel form label {
  460. display: block;
  461. }
  462. /*****************************************************************************/
  463. /*
  464. /* Comments (isso)
  465. /*
  466. /*****************************************************************************/
  467. .isso-postbox .textarea-wrapper {
  468. margin-top: 10px;
  469. margin-bottom: 10px;
  470. }
  471. div.isso-postbox div.form-wrapper section.auth-section p.input-wrapper {
  472. margin-right: 10px;
  473. }
  474. /*****************************************************************************/
  475. /*
  476. /* Light & Dark Theme Toggle
  477. /*
  478. /*****************************************************************************/
  479. div.theme-toggle {
  480. position: static;
  481. bottom: 0;
  482. width: 100%;
  483. text-align: center;
  484. z-index: 2;
  485. padding: 0.25rem 0.75rem;
  486. }
  487. @media (min-width: 40rem) {
  488. div.theme-toggle {
  489. position: absolute;
  490. top: 0;
  491. right: 0;
  492. width: inherit;
  493. }
  494. }