beautifuljekyll.css 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125
  1. ---
  2. layout: null
  3. ---
  4. @import url("pygment_highlights.css");
  5. :root {
  6. /* config file CSS variables */
  7. --page-col: {{ site.page-col | default: "#FFFFFF" }};
  8. --text-col: {{ site.text-col | default: "#404040" }};
  9. --link-col: {{ site.link-col | default: "#008AFF" }};
  10. --hover-col: {{ site.hover-col | default: "#0085A1" }};
  11. --navbar-col: {{ site.navbar-col | default: "#EAEAEA" }};
  12. --navbar-text-col: {{ site.navbar-text-col | default: "#404040" }};
  13. --navbar-border-col: {{ site.navbar-border-col | default: "#DDDDDD" }};
  14. --footer-col: {{ site.footer-col | default: "#EAEAEA" }};
  15. --footer-text-col: {{ site.footer-text-col | default: "#777777" }};
  16. --footer-link-col: {{ site.footer-link-col | default: "#404040" }};
  17. --footer-hover-col: {{ site.footer-hover-col | default: "#0085A1" }};
  18. /* common CSS variables */
  19. --body-font: 'Lora', 'Times New Roman', serif;
  20. --header-font: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  21. --mid-col: #808080;
  22. }
  23. /* --- General --- */
  24. html {
  25. font-size: 100%
  26. }
  27. body {
  28. font-family: var(--body-font);
  29. font-size: 1.125rem;
  30. color: var(--text-col);
  31. position: relative;
  32. background-color: var(--page-col);
  33. {% if site.page-img %}
  34. background-image: url({{ site.page-img | relative_url }});
  35. background-attachment: fixed;
  36. {% endif %}
  37. overflow-wrap: break-word;
  38. min-height: 100vh;
  39. display: flex;
  40. flex-direction: column;
  41. }
  42. body > main {
  43. flex: 1;
  44. }
  45. p {
  46. line-height: 1.5;
  47. margin: 1.875rem 0;
  48. }
  49. h1,h2,h3,h4,h5,h6 {
  50. font-family: var(--header-font);
  51. font-weight: 800;
  52. line-height: 1.1;
  53. }
  54. h1 {
  55. font-size: 2.25rem;
  56. }
  57. h2 {
  58. font-size: 1.875rem;
  59. }
  60. h3 {
  61. font-size: 1.5rem;
  62. }
  63. h4 {
  64. font-size: 1.125rem;
  65. }
  66. h1, h2, h3, h4 {
  67. margin-top: 1.25rem;
  68. }
  69. a {
  70. color: var(--link-col);
  71. }
  72. a:hover,
  73. a:focus {
  74. color: var(--hover-col);
  75. }
  76. blockquote {
  77. color: var(--mid-col);
  78. font-style: italic;
  79. }
  80. blockquote p:first-child {
  81. margin-top: 0;
  82. }
  83. .jumbotron {
  84. background: #EEE;
  85. }
  86. hr.small {
  87. max-width: 6.25rem;
  88. margin: 1rem auto;
  89. border-width: 0.25rem;
  90. border-color: inherit;
  91. border-radius: 0.1875rem;
  92. }
  93. /* fix in-page anchors to not be behind fixed header */
  94. :target:before {
  95. content: "";
  96. display: block;
  97. height: 3.125rem; /* navbar height */
  98. margin: -3.125rem 0 0;
  99. }
  100. .hideme {
  101. display: none;
  102. }
  103. ::-moz-selection {
  104. color: var(--page-col);
  105. background-color: var(--hover-col);
  106. text-shadow: none;
  107. }
  108. ::selection {
  109. color: var(--page-col);
  110. background-color: var(--hover-col);
  111. text-shadow: none;
  112. }
  113. img::selection {
  114. color: var(--hover-col);
  115. background: transparent;
  116. }
  117. img::-moz-selection {
  118. color: var(--hover-col);
  119. background: transparent;
  120. }
  121. img {
  122. max-width: 100%;
  123. }
  124. .linked-section {
  125. padding-top: 3.75rem;
  126. margin-top: -1.5625rem;
  127. }
  128. /* Comments */
  129. .disqus-comments {
  130. margin-top: 1.875rem;
  131. }
  132. @media (min-width: 768px) {
  133. .disqus-comments {
  134. margin-top: 2.5rem;
  135. }
  136. }
  137. /* --- Navbar --- */
  138. .navbar-custom {
  139. background-color: var(--navbar-col);
  140. border-bottom: 1px solid var(--navbar-border-col);
  141. font-family: var(--header-font);
  142. {% if site.navbar-img %}
  143. background-image: url({{ site.navbar-img | relative_url }});
  144. background-attachment: fixed;
  145. {% endif %}
  146. -webkit-transition: padding .5s ease-in-out;
  147. -moz-transition: padding .5s ease-in-out;
  148. transition: padding .5s ease-in-out;
  149. }
  150. .navbar-custom,
  151. .navbar-custom.top-nav-short,
  152. .navbar-custom.top-nav-short-permanent {
  153. padding-top: 0;
  154. padding-bottom: 0;
  155. }
  156. .navbar-custom .navbar-brand {
  157. line-height: 1.5;
  158. padding-top: 0.625rem;
  159. padding-bottom: 0.625rem;
  160. font-size: 1.125rem;
  161. }
  162. .navbar-custom .navbar-brand-logo {
  163. -webkit-transition: padding .5s ease-in-out;
  164. -moz-transition: padding .5s ease-in-out;
  165. transition: padding .5s ease-in-out;
  166. }
  167. .navbar-custom .navbar-brand-logo,
  168. .navbar-custom.top-nav-short .navbar-brand-logo,
  169. .navbar-custom.top-nav-short-permanent .navbar-brand-logo {
  170. padding-top: 0.3125rem;
  171. padding-bottom: 0.3125rem;
  172. }
  173. .navbar-custom .navbar-brand-logo img {
  174. -webkit-transition: height .5s ease-in-out;
  175. -moz-transition: height .5s ease-in-out;
  176. transition: height .5s ease-in-out;
  177. }
  178. .navbar-custom .navbar-brand-logo img,
  179. .navbar-custom.top-nav-short .navbar-brand-logo img,
  180. .navbar-custom.top-nav-short-permanent .navbar-brand-logo img {
  181. height: 2.5rem;
  182. }
  183. .navbar-custom .navbar-nav .nav-item {
  184. text-transform: uppercase;
  185. font-size: 0.8125rem;
  186. letter-spacing: 0.0625rem;
  187. }
  188. .navbar-custom .navbar-nav .nav-link {
  189. line-height: 1.25rem;
  190. padding-top: 0.9375rem;
  191. padding-bottom: 0.9375rem;
  192. }
  193. .navbar-custom .navbar-brand,
  194. .navbar-custom .navbar-nav .nav-link {
  195. font-weight: 800;
  196. color: var(--navbar-text-col);
  197. }
  198. .navbar-toggler {
  199. font-size: 1rem;
  200. margin: 0.5rem 0;
  201. }
  202. .navbar-custom .navbar-toggler:focus,
  203. .navbar-custom .navbar-toggler:hover {
  204. background-color: initial;
  205. }
  206. .navbar-custom .navbar-toggler[aria-expanded="true"] {
  207. background-color: rgba(0, 0, 0, 0.2);
  208. }
  209. .dropdown-toggle::after {
  210. border-width: 0.4em;
  211. }
  212. @media (min-width: 1200px) {
  213. .navbar-custom {
  214. padding-top: 1.25rem;
  215. padding-bottom: 1.25rem;
  216. }
  217. .navbar-custom .navbar-brand-logo {
  218. padding-top: 0;
  219. padding-bottom: 0;
  220. }
  221. .navbar-custom .navbar-brand-logo img {
  222. height: 3.125rem;
  223. }
  224. .navbar-expand-xl .navbar-nav .nav-link {
  225. padding-left: 0.9375rem;
  226. padding-right: 0.9375rem;
  227. }
  228. .navbar-expand-xl .navbar-nav .nav-item:not(.dropdown):last-child .nav-link {
  229. padding-right: 0;
  230. }
  231. }
  232. @media (min-width: 1200px) {
  233. .navbar-custom .nav-item.dropdown:hover {
  234. background: rgba(0, 0, 0, 0.1);
  235. }
  236. }
  237. .navbar-custom .nav-item.dropdown.show {
  238. background: rgba(0, 0, 0, 0.2);
  239. }
  240. .navbar-custom .nav-item.dropdown .dropdown-menu {
  241. margin-top: 0;
  242. font-size: 1em;
  243. border: 0;
  244. padding: 0;
  245. {% if site.navbar-var-length %}
  246. min-width: 100%;
  247. {% else %}
  248. min-width: 0;
  249. width: 100%;
  250. word-break: break-word;
  251. {% endif %}
  252. }
  253. .navbar-custom .nav-item.dropdown .dropdown-menu .dropdown-item {
  254. padding: 0.625rem;
  255. background-color: var(--navbar-col);
  256. text-decoration: none !important;
  257. font-weight: normal;
  258. color: var(--navbar-text-col);
  259. {% unless site.navbar-var-length %}
  260. white-space: normal;
  261. {% endunless %}
  262. }
  263. @media (min-width: 1200px) {
  264. .navbar-custom .nav-item.dropdown .dropdown-menu {
  265. text-align: center;
  266. }
  267. .navbar-custom .nav-item.dropdown .dropdown-menu .dropdown-item {
  268. padding-left: 0.625rem;
  269. border: 1px solid var(--navbar-border-col);
  270. border-width: 0 1px 1px;
  271. }
  272. .navbar-custom .nav-item.dropdown .dropdown-menu .dropdown-item:first-child {
  273. border-top-width: 1px;
  274. }
  275. }
  276. @media (max-width: 1199px) {
  277. .navbar-custom .navbar-collapse {
  278. border-top: 1px solid var(--navbar-border-col);
  279. margin: 0 -1rem;
  280. }
  281. .navbar-custom .navbar-nav {
  282. padding: 0.5rem 0;
  283. }
  284. .navbar-custom .navbar-nav .nav-link {
  285. padding: 0.675rem 0 0.675rem 1rem;
  286. }
  287. .navbar-custom .nav-item.dropdown.show {
  288. background: rgba(0, 0, 0, 0.2);
  289. }
  290. .navbar-custom .nav-item.dropdown .dropdown-menu .dropdown-item {
  291. padding-left: 2rem;
  292. }
  293. }
  294. .navbar-custom .navbar-brand:hover,
  295. .navbar-custom .navbar-brand:focus ,
  296. .navbar-custom .navbar-nav .nav-link:hover,
  297. .navbar-custom .navbar-nav .nav-link:focus,
  298. .navbar-custom .navbar-nav .dropdown-menu .dropdown-item:hover,
  299. .navbar-custom .navbar-nav .dropdown-menu .dropdown-item:focus {
  300. color: var(--hover-col);
  301. }
  302. .navbar-custom .avatar-container {
  303. position: absolute;
  304. left: 50%;
  305. width: 3.125rem;
  306. bottom: -1.5rem;
  307. transition: opacity 0.5s ease-in-out;
  308. -webkit-transition: opacity 0.5s ease-in-out;
  309. -moz-transition: opacity 0.5s ease-in-out;
  310. }
  311. .navbar-custom.top-nav-short .avatar-container {
  312. opacity: 0;
  313. visibility: hidden;
  314. transition: visibility linear 0.5s, opacity 0.5s ease-in-out;
  315. -webkit-transition: visibility linear 0.5s, opacity 0.5s ease-in-out;
  316. -moz-transition: visibility linear 0.5s, opacity 0.5s ease-in-out;
  317. }
  318. .navbar-custom .avatar-container .avatar-img-border {
  319. width: 100%;
  320. margin-left: -50%;
  321. {% unless site.round-avatar == false %}
  322. border-radius: 50%;
  323. box-shadow: 0 0 0.5rem rgba(0, 0, 0, .8);
  324. -webkit-box-shadow: 0 0 0.3125rem rgba(0, 0, 0, .8);
  325. -moz-box-shadow: 0 0 0.5rem rgba(0, 0, 0, .8);
  326. {% endunless %}
  327. }
  328. .navbar-custom .avatar-container .avatar-img {
  329. width: 100%;
  330. {% unless site.round-avatar == false %}
  331. border-radius: 50%;
  332. {% endunless %}
  333. display: block;
  334. }
  335. .navbar-custom.top-nav-expanded .avatar-container {
  336. display: none;
  337. }
  338. @media (min-width: 1200px) {
  339. .navbar-custom.top-nav-regular .avatar-container {
  340. width: 6.25rem;
  341. bottom: -1.9375rem;
  342. }
  343. .navbar-custom.top-nav-regular .avatar-container .avatar-img-border {
  344. width: 100%;
  345. {% unless site.round-avatar == false %}
  346. box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  347. -webkit-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  348. -moz-box-shadow: 1px 1px 2px rgba(0, 0, 0, .8);
  349. {% endunless %}
  350. }
  351. .navbar-custom.top-nav-regular .avatar-container .avatar-img {
  352. width: 100%;
  353. }
  354. }
  355. /* --- Footer --- */
  356. footer {
  357. padding: 1.875rem 0;
  358. border-top: 1px var(--footer-col) solid;
  359. margin-top: 3.125rem;
  360. font-size: 0.875rem;
  361. background-color: var(--footer-col);
  362. {% if site.footer-img %}
  363. background-image: url({{ site.footer-img | relative_url }});
  364. background-attachment: fixed;
  365. {% endif %}
  366. }
  367. footer p.text-muted {
  368. color: var(--footer-text-col) !important;
  369. }
  370. footer a {
  371. color: var(--footer-link-col);
  372. }
  373. footer .footer-links a {
  374. color: var(--text-col);
  375. }
  376. footer .footer-links .fa-inverse {
  377. color: var(--page-col);
  378. }
  379. footer a:hover,
  380. footer a:focus {
  381. color: var(--footer-hover-col);
  382. }
  383. footer .list-inline {
  384. margin: 0;
  385. padding: 0;
  386. margin-bottom: 1.875rem;
  387. }
  388. footer .copyright {
  389. font-family: var(--header-font);
  390. text-align: center;
  391. margin-bottom: 0;
  392. margin-top: 0;
  393. }
  394. footer .theme-by {
  395. text-align: center;
  396. margin: 0.625rem 0 0;
  397. }
  398. footer .footer-custom-content {
  399. text-align: center;
  400. margin-bottom: 0.9375rem;
  401. font-family: var(--header-font);
  402. }
  403. @media (min-width: 768px) {
  404. footer {
  405. padding: 3.125rem 0;
  406. }
  407. footer .footer-links {
  408. font-size: 1.125rem;
  409. }
  410. footer .copyright {
  411. font-size: 1rem;
  412. }
  413. footer .footer-custom-content {
  414. font-size: 1rem;
  415. }
  416. }
  417. /* --- Post preview (feed) --- */
  418. .posts-list {
  419. margin: 0;
  420. }
  421. .post-preview {
  422. padding: 1.25rem 0;
  423. border-bottom: 1px solid #eee;
  424. overflow: hidden;
  425. }
  426. @media (min-width: 768px) {
  427. .post-preview {
  428. padding: 2.1875rem 0;
  429. }
  430. }
  431. .post-preview:last-child {
  432. border-bottom: 0;
  433. }
  434. .post-preview a {
  435. text-decoration: none;
  436. font-family: var(--header-font);
  437. color: var(--text-col);
  438. }
  439. .post-preview a:focus,
  440. .post-preview a:hover {
  441. text-decoration: none;
  442. color: var(--hover-col);
  443. }
  444. .post-preview .post-title {
  445. font-size: 1.875rem;
  446. margin-top: 0;
  447. }
  448. .post-preview .post-subtitle {
  449. margin: 0;
  450. font-weight: 300;
  451. margin-bottom: 0.625rem;
  452. }
  453. .post-preview .post-meta,
  454. .post-heading .post-meta {
  455. color: var(--mid-col);
  456. font-size: 1.125rem;
  457. font-style: italic;
  458. margin: 0 0 0.625rem;
  459. font-family: var(--body-font);
  460. }
  461. .post-heading .post-meta {
  462. display: inline-block;
  463. }
  464. @media (max-width: 767px) {
  465. .post-heading .post-meta {
  466. display: block;
  467. margin-bottom: 0;
  468. }
  469. }
  470. .post-heading .post-meta .middot {
  471. margin: 0 0.625rem;
  472. }
  473. .post-preview .post-entry {
  474. width: 100%;
  475. }
  476. .post-preview .post-image {
  477. float: right;
  478. margin-left: 0.625rem;
  479. height: 12rem;
  480. width: 12rem;
  481. }
  482. .post-preview .post-image {
  483. filter: grayscale(40%);
  484. }
  485. .post-preview .post-image:hover {
  486. filter: grayscale(0%);
  487. }
  488. .post-preview .post-image img {
  489. max-height: 100%;
  490. max-width: 100%;
  491. }
  492. .post-preview .post-image-short {
  493. margin-top: -2.1875rem;
  494. }
  495. @media (max-width: 767px) {
  496. .post-preview .post-image {
  497. height: 9rem;
  498. width: 9rem;
  499. }
  500. .post-preview .post-image-short {
  501. margin-top: 0;
  502. }
  503. }
  504. .post-preview .post-image-small {
  505. width: 100%;
  506. height: 100%;
  507. text-align: center;
  508. display: none;
  509. }
  510. .post-preview .post-image-small img {
  511. max-width: 6.25rem;
  512. max-height: 6.25rem;
  513. }
  514. @media (max-width: 500px) {
  515. .post-preview .post-image {
  516. display: none;
  517. }
  518. .post-preview .post-image-small {
  519. display: block;
  520. }
  521. }
  522. .post-preview .post-read-more {
  523. font-weight: 800;
  524. }
  525. @media (min-width: 768px) {
  526. .post-preview .post-title {
  527. font-size: 2.25rem;
  528. }
  529. }
  530. /* --- Tags --- */
  531. .blog-tags {
  532. font-family: var(--header-font);
  533. font-size: 0.9375rem;
  534. margin: 1.875rem 0;
  535. }
  536. .blog-tags span {
  537. color: var(--text-col);
  538. opacity: 0.8;
  539. }
  540. .blog-tags .list-inline-item {
  541. margin-right: 0;
  542. }
  543. .blog-tags a {
  544. color: var(--text-col);
  545. text-decoration: none;
  546. padding: 0 0.3125rem;
  547. opacity: 0.8;
  548. border: 1px solid transparent;
  549. border-radius: 0.1875rem;
  550. }
  551. .blog-tags a:hover {
  552. opacity: 1;
  553. color: var(--text-col);
  554. border-color: var(--text-col);
  555. }
  556. .post-preview .blog-tags {
  557. margin-top: 0.3125rem;
  558. margin-bottom: 0;
  559. }
  560. @media (min-width: 768px) {
  561. .post-preview .blog-tags {
  562. margin-top: 0.625rem;
  563. }
  564. }
  565. /* Tags page */
  566. .tag-btn {
  567. margin: 0.3125rem;
  568. }
  569. #full-tags-list {
  570. font-family: var(--header-font);
  571. }
  572. #full-tags-list .tag-entry {
  573. margin: 0 0 0.9375rem 1.5625rem;
  574. }
  575. #full-tags-list .tag-entry a {
  576. font-size: 1.25rem;
  577. }
  578. #full-tags-list .tag-entry .entry-date {
  579. color: var(--mid-col);
  580. font-style: italic;
  581. font-size: 1rem;
  582. }
  583. /* --- Post and page headers --- */
  584. .intro-header {
  585. margin: 5rem 0 1.25rem;
  586. position: relative;
  587. }
  588. .intro-header.big-img {
  589. background: no-repeat center center;
  590. -webkit-background-size: cover;
  591. -moz-background-size: cover;
  592. background-size: cover;
  593. -o-background-size: cover;
  594. margin-top: 3.1875rem; /* The small navbar is 50px tall + 1px border */
  595. margin-bottom: 2.1875rem;
  596. }
  597. nav.top-nav-short-permanent ~ header > .intro-header {
  598. margin-top: 5rem;
  599. }
  600. nav.top-nav-short-permanent ~ header > .intro-header.big-img {
  601. margin-top: 3.1875rem;
  602. }
  603. .intro-header.big-img .big-img-transition {
  604. position: absolute;
  605. width: 100%;
  606. height: 100%;
  607. opacity: 0;
  608. background: no-repeat center center;
  609. -webkit-background-size: cover;
  610. -moz-background-size: cover;
  611. background-size: cover;
  612. -o-background-size: cover;
  613. -webkit-transition: opacity 1s linear;
  614. -moz-transition: opacity 1s linear;
  615. transition: opacity 1s linear;
  616. }
  617. .intro-header .page-heading {
  618. text-align: center;
  619. }
  620. .intro-header.big-img .page-heading,
  621. .intro-header.big-img .post-heading {
  622. padding: 6.25rem 0;
  623. color: #FFF;
  624. text-shadow: 1px 1px 3px #000;
  625. }
  626. .intro-header .page-heading h1 {
  627. margin-top: 0;
  628. font-size: 3.125rem;
  629. }
  630. .intro-header .post-heading h1 {
  631. margin-top: 0;
  632. font-size: 2.1875rem;
  633. }
  634. .intro-header .page-heading .page-subheading,
  635. .intro-header .post-heading .post-subheading {
  636. font-size: 1.6875rem;
  637. line-height: 1.1;
  638. display: block;
  639. font-family: var(--header-font);
  640. font-weight: 300;
  641. margin: 0.625rem 0 0;
  642. }
  643. .intro-header .post-heading .post-subheading {
  644. margin-bottom: 1.25rem;
  645. }
  646. .intro-header.big-img .page-heading .page-subheading,
  647. .intro-header.big-img .post-heading .post-subheading {
  648. font-weight: 400;
  649. }
  650. .intro-header.big-img .page-heading hr {
  651. box-shadow: 1px 1px 3px #000;
  652. -webkit-box-shadow: 1px 1px 3px #000;
  653. -moz-box-shadow: 1px 1px 3px #000;
  654. }
  655. .intro-header.big-img .post-heading .post-meta {
  656. color: #EEE;
  657. }
  658. .intro-header.big-img .img-desc {
  659. background: rgba(30, 30, 30, 0.6);
  660. position: absolute;
  661. padding: 0.3125rem 0.625rem;
  662. font-size: 0.6875rem;
  663. color: #EEE;
  664. font-family: var(--header-font);
  665. right: 0;
  666. bottom: 0;
  667. display: none;
  668. }
  669. @media (min-width: 1200px) {
  670. .intro-header {
  671. margin-top: 8.125rem;
  672. }
  673. .intro-header.big-img {
  674. margin-top: 5.6875rem; /* Full navbar is small navbar + 20px padding on each side when expanded */
  675. }
  676. .intro-header.big-img .page-heading,
  677. .intro-header.big-img .post-heading {
  678. padding: 9.375rem 0;
  679. }
  680. .intro-header .page-heading h1 {
  681. font-size: 5rem;
  682. }
  683. .intro-header .post-heading h1 {
  684. font-size: 3.125rem;
  685. }
  686. .intro-header.big-img .img-desc {
  687. font-size: 0.875rem;
  688. }
  689. }
  690. #header-gh-btns {
  691. margin-bottom: 0.9375rem;
  692. }
  693. @media (max-width: 500px) {
  694. #header-gh-btns > iframe {
  695. display: block;
  696. margin-bottom: 0.3125rem;
  697. }
  698. }
  699. /* --- Pagination --- */
  700. .pagination {
  701. margin: 0.625rem 0 0;
  702. justify-content: space-between;
  703. }
  704. .pagination.blog-pager {
  705. margin-top: 0;
  706. }
  707. .pagination .page-item.next {
  708. margin-left: auto;
  709. }
  710. @media (min-width: 768px) {
  711. .pagination.blog-pager {
  712. margin-top: 0.625rem;
  713. }
  714. }
  715. .pagination .page-item .page-link {
  716. font-family: var(--header-font);
  717. text-transform: uppercase;
  718. font-size: 0.875rem;
  719. font-weight: 800;
  720. letter-spacing: 1px;
  721. padding: 0.625rem 0.3125rem;
  722. background-color: var(--page-col);
  723. border-radius: 0;
  724. color: var(--text-col);
  725. padding: 0.75rem 1rem;
  726. }
  727. @media (min-width: 768px) {
  728. .pagination .page-item .page-link {
  729. padding: 0.9375rem 1.5625rem;
  730. }
  731. }
  732. .pagination .page-item .page-link:hover,
  733. .pagination .page-item .page-link:focus {
  734. color: var(--page-col);
  735. border: 1px solid var(--hover-col);
  736. background-color: var(--hover-col);
  737. }
  738. /* --- Tables --- */
  739. table {
  740. padding: 0;
  741. }
  742. table tr {
  743. border-top: 1px solid #cccccc;
  744. background-color: var(--page-col);
  745. margin: 0;
  746. padding: 0;
  747. }
  748. table tr:nth-child(2n) {
  749. background-color: #f8f8f8;
  750. }
  751. table tr th,
  752. table tr td {
  753. border: 1px solid #cccccc;
  754. text-align: left;
  755. margin: 0;
  756. padding: 0.375rem 0.8125rem;
  757. }
  758. table tr th {
  759. font-weight: bold;
  760. }
  761. table tr th :first-child,
  762. table tr td :first-child {
  763. margin-top: 0;
  764. }
  765. table tr th :last-child,
  766. table tr td :last-child {
  767. margin-bottom: 0;
  768. }
  769. /* --- Code blocks --- */
  770. code {
  771. padding: 0.125rem 0.25rem;
  772. color: #c7254e;
  773. background-color: #f9f2f4;
  774. border-radius: 0.25rem;
  775. }
  776. pre code {
  777. padding: 0;
  778. background-color: transparent;
  779. border-radius: 0;
  780. }
  781. pre {
  782. font-size: 0.875rem;
  783. line-height: 1.5em;
  784. border-radius: 0.25rem;
  785. padding: 0.59375rem;
  786. }
  787. .highlight pre {
  788. border: none;
  789. background: none;
  790. margin: 0;
  791. }
  792. .highlight > pre {
  793. background-image: linear-gradient(
  794. rgba(0,0,0,0.03), rgba(0,0,0,0.03) 1.5em, rgba(0,0,0,0.02) 1.5em, rgba(0,0,0,0.02) 3em);
  795. background-size: auto 3em;
  796. background-position-y: 0.625rem;
  797. border: 1px solid rgba(0,0,0,0.1);
  798. border-left: 0.4375rem solid #444;
  799. }
  800. .highlight > pre:not([class~="highlight"]) { /* code block with line number */
  801. padding: 0;
  802. }
  803. .highlight table,
  804. .highlight tr,
  805. .highlight td { /* to be removed after fixing table styles */
  806. border: none;
  807. background: none;
  808. padding: 0;
  809. margin: 0;
  810. }
  811. .highlight pre.lineno {
  812. color: rgba(0,0,0,0.3);
  813. border-radius: 0;
  814. border-right: 2px solid #444;
  815. }
  816. /* Make line numbers unselectable: excludes line numbers from copy-paste user ops */
  817. .lineno {
  818. -webkit-user-select: none;
  819. -moz-user-select: none;
  820. -ms-user-select: none;
  821. user-select: none;
  822. }
  823. .lineno::selection, .lineno::-moz-selection {
  824. background: none;
  825. }
  826. /* Fix table border github gist snippets */
  827. .gist, .gist-file table tr {
  828. border: unset;
  829. }
  830. .gist, .gist-file table tr td {
  831. border: unset;
  832. }
  833. /* --- Social media sharing section --- */
  834. #social-share-section {
  835. margin-bottom: 1.875rem;
  836. margin-top: 1.875rem;
  837. }
  838. #social-share-section a {
  839. color: #fff;
  840. }
  841. /* --- Notification boxes --- */
  842. .box-note,
  843. .box-warning,
  844. .box-error,
  845. .box-success {
  846. padding: 0.9375rem 0.9375rem 0.9375rem 0.625rem;
  847. margin: 1.25rem 1.25rem 1.25rem 0.3125rem;
  848. border: 1px solid #eee;
  849. border-left-width: 0.3125rem;
  850. border-radius: 0.3125rem 0.1875rem 0.1875rem 0.3125rem;
  851. }
  852. .box-note {
  853. background-color: #eee;
  854. border-left-color: #2980b9;
  855. }
  856. .box-warning {
  857. background-color: #fdf5d4;
  858. border-left-color: #f1c40f;
  859. }
  860. .box-error {
  861. background-color: #f4dddb;
  862. border-left-color: #c0392b;
  863. }
  864. .box-success {
  865. background-color: #98FB98;
  866. border-left-color: #3CB371;
  867. }
  868. /* --- Misc blog post styles --- */
  869. .blog-post :first-child {
  870. margin-top: 0;
  871. }
  872. .blog-post img {
  873. max-width: 100%;
  874. }
  875. .blog-post .caption {
  876. text-align: center;
  877. font-size: 0.875rem;
  878. padding: 0.625rem;
  879. font-style: italic;
  880. color: #777;
  881. margin: 0;
  882. display: block;
  883. border-bottom-right-radius: 0.3125rem;
  884. border-bottom-left-radius: 0.3125rem;
  885. }
  886. .blog-post hr {
  887. max-width: 25%;
  888. border-width: 0.25rem;
  889. border-radius: 0.1875rem;
  890. border-color: var(--mid-col);
  891. }
  892. .blog-post blockquote {
  893. padding: 0.625rem 1.25rem;
  894. margin: 0 0 1.25rem;
  895. font-size: 1.1rem;
  896. border-left: 0.3125rem solid #eee;
  897. }
  898. .blog-post blockquote p:last-child {
  899. margin-bottom: 0;
  900. }
  901. .center {
  902. display: block;
  903. margin: 0 auto;
  904. }
  905. /* Search bar */
  906. #beautifuljekyll-search-overlay {
  907. font-family: var(--header-font);
  908. display: none;
  909. z-index: 999999;
  910. position: fixed;
  911. background: rgba(0,0,0,0.9);
  912. left: 0;
  913. right: 0;
  914. top: 0;
  915. bottom: 0;
  916. text-align: center;
  917. padding: 1rem;
  918. }
  919. #nav-search-exit {
  920. position: absolute;
  921. top: 1.5rem;
  922. cursor: pointer;
  923. right: 25%;
  924. margin-right: 2rem;
  925. color: #555;
  926. font-size: 2rem;
  927. line-height: 2rem;
  928. font-weight: bold;
  929. }
  930. #nav-search-exit:hover {
  931. color: #000;
  932. }
  933. #nav-search-input {
  934. text-align: center;
  935. background: #e7edee;
  936. margin: auto;
  937. display: block;
  938. font-size: 2rem;
  939. width: 50%;
  940. transition: width 300ms ease;
  941. color: #222;
  942. border-radius: 5rem;
  943. outline: none;
  944. border: none;
  945. padding: 0 3rem;
  946. }
  947. @media (max-width: 1199px) {
  948. #nav-search-input {
  949. width: 75%;
  950. }
  951. #nav-search-exit {
  952. right: 12.5%;
  953. }
  954. }
  955. @media (max-width: 767px) {
  956. #nav-search-input {
  957. width: 100%;
  958. }
  959. #nav-search-exit {
  960. right: 0;
  961. }
  962. }
  963. #nav-search-input:focus {
  964. background: #f3f8fe;
  965. box-shadow: 0px 0.15rem 1rem #e7f4ff;
  966. outline: none;
  967. }
  968. #nav-search-input::placeholder {
  969. color: #777;
  970. }
  971. #search-results-container {
  972. list-style: none;
  973. padding-left: unset;
  974. margin-top: 1.5rem;
  975. color: #fff;
  976. font-size: 1.5rem;
  977. max-height: calc(100vh - 6.5rem);
  978. overflow-y: auto;
  979. }
  980. #search-results-container a {
  981. color: #fff;
  982. text-decoration: none;
  983. }
  984. #search-results-container a:hover {
  985. color: #fff;
  986. text-decoration: underline;
  987. }
  988. #nav-search-icon {
  989. display: inline-block;
  990. }
  991. #nav-search-text {
  992. display: none;
  993. }
  994. @media (max-width: 1199px) {
  995. #nav-search-icon {
  996. display: none;
  997. }
  998. #nav-search-text {
  999. display: inline-block;
  1000. }
  1001. }