academic.css 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563
  1. /*************************************************
  2. * Hugo Academic: an academic theme for Hugo.
  3. * Designed by @GeorgeCushen.
  4. * https://github.com/gcushen/hugo-academic
  5. **************************************************/
  6. /*************************************************
  7. * Core
  8. **************************************************/
  9. *,
  10. *::after,
  11. *::before {
  12. box-sizing: border-box;
  13. }
  14. .row:after,
  15. .row:before {
  16. content: " ";
  17. display: table;
  18. }
  19. html {
  20. font-family: '{{ .Get "body_font" }}', sans-serif;
  21. font-size: {{ .Get "font_size_small" }}px;
  22. color: rgba(0,0,0,0.8);
  23. line-height: 1.65;
  24. }
  25. @media screen and (min-width: 58em) {
  26. html {
  27. font-size: {{ .Get "font_size" }}px;
  28. }
  29. }
  30. body {
  31. font-family: inherit;
  32. font-size: 1rem;
  33. line-height: inherit;
  34. color: inherit;
  35. background-color: {{ .Get "background" }};
  36. margin-top: 71px; /* Offset body content by navbar height. */
  37. padding-top: 0;
  38. counter-reset: captions;
  39. }
  40. @media screen and (max-width: 1200px) { /* Match max-width of .nav-bar query. */
  41. body {
  42. margin-top: 51px; /* Offset body content by navbar height. */
  43. }
  44. }
  45. .max-width-640 {
  46. max-width: 640px;
  47. }
  48. .margin-auto {
  49. margin-left: auto;
  50. margin-right: auto;
  51. }
  52. .center-text {
  53. text-align: center;
  54. }
  55. /* Body text */
  56. p {
  57. margin-top: 0;
  58. margin-bottom: 1rem;
  59. }
  60. /* Lists */
  61. ul, ol, dl {
  62. margin-top: 0;
  63. margin-bottom: 1rem;
  64. }
  65. /* Navigation bar text */
  66. .navbar-default {
  67. font-family: '{{ .Get "nav_font" }}', sans-serif;
  68. font-weight: 400;
  69. line-height: 1.25;
  70. text-rendering: optimizeLegibility;
  71. }
  72. /* Headings */
  73. h1, h2, h3, h4, h5, h6 {
  74. font-family: '{{ .Get "heading_font" }}', sans-serif;
  75. font-weight: 400;
  76. margin-bottom: .5rem;
  77. line-height: 1.25;
  78. color: #313131;
  79. text-rendering: optimizeLegibility;
  80. overflow-wrap: break-word; /* Ensures very long heading words do not overflow into content. */
  81. }
  82. h1 {
  83. font-size: 2.25rem;
  84. }
  85. h2 {
  86. margin-top: 1rem;
  87. font-size: 1.5rem;
  88. }
  89. h3 {
  90. font-weight: 700;
  91. margin-top: 1.5rem;
  92. font-size: 1.25rem;
  93. }
  94. h4, h5, h6 {
  95. font-weight: 700;
  96. margin-top: 1rem;
  97. font-size: 1rem;
  98. }
  99. a,
  100. h3.article-title a:hover {
  101. color: {{ .Get "primary" }};
  102. text-decoration: none;
  103. transition: color 0.6s ease;
  104. }
  105. a:hover,
  106. a:focus {
  107. color: {{ .Get "primary" }};
  108. }
  109. img,
  110. video {
  111. height: auto;
  112. max-width: 100%;
  113. display: block;
  114. }
  115. video {
  116. width: 100%;
  117. height: auto;
  118. max-height: 400px;
  119. }
  120. .img-responsive {
  121. /* Extend Bootstrap declaration with centering. */
  122. margin: 0 auto;
  123. }
  124. figcaption {
  125. display: block;
  126. margin-top: 0.75em;
  127. line-height: 1.25;
  128. font-size: 1rem;
  129. margin-bottom: 1.65rem;
  130. font-family: '{{ .Get "heading_font" }}', sans-serif;
  131. }
  132. figcaption.numbered:before {
  133. font-weight: 700;
  134. text-transform: uppercase;
  135. content: attr(data-pre) counter(captions) attr(data-post);
  136. }
  137. figcaption.numbered {
  138. counter-increment: captions;
  139. }
  140. figcaption h4 {
  141. display: inline;
  142. font-size: 1rem;
  143. font-weight: 400;
  144. margin: 0;
  145. }
  146. pre,
  147. code {
  148. font-family: '{{ .Get "mono_font" }}', monospace;
  149. color: #c7254e;
  150. background-color: #f9f2f4;
  151. }
  152. pre {
  153. margin: 0 0 1rem 0;
  154. background-color: rgb(248, 248, 248); /* Match default highlight theme. */
  155. border-color: rgb(248, 248, 248);
  156. }
  157. pre code {
  158. white-space: pre; /* Override Bootstrap to preserve line breaks in code. */
  159. overflow-x: auto;
  160. }
  161. .mjx-chtml {
  162. overflow-x: auto; /* Horizontally scroll long equations. */
  163. }
  164. hr {
  165. border: 0;
  166. height: 1px;
  167. background: #333;
  168. background-image: linear-gradient(to right, #ccc, #333, #ccc);
  169. }
  170. /* Quotes */
  171. blockquote {
  172. padding: .5rem 1rem;
  173. margin: .8rem 0;
  174. color: #7a7a7a;
  175. border-left: .25rem solid #e5e5e5;
  176. }
  177. blockquote p:last-child {
  178. margin-bottom: 0;
  179. }
  180. @media (min-width: 30em) {
  181. blockquote {
  182. padding-right: 5rem;
  183. padding-left: 1.25rem;
  184. }
  185. }
  186. .markup-quote {
  187. background-color: transparent;
  188. background-image: linear-gradient(to bottom, rgba(233, 231, 245, 1), rgba(233, 231, 245, 1));
  189. }
  190. .space-below {
  191. margin-bottom: 50px;
  192. }
  193. @media screen and (max-width: 768px) {
  194. .space-below {
  195. margin-bottom: 10px;
  196. }
  197. }
  198. .universal-wrapper {
  199. margin: 0 auto;
  200. padding-right: 15px;
  201. padding-left: 15px;
  202. width: 100%;
  203. }
  204. @media only screen and (min-width: 1001px) {
  205. .universal-wrapper {
  206. width: 1000px;
  207. }
  208. }
  209. small,
  210. .small {
  211. font-size: .75em;
  212. }
  213. .responsive-wrap iframe {
  214. max-width: 100%;
  215. }
  216. /*************************************************
  217. * Modals.
  218. **************************************************/
  219. .modal-header .close {
  220. font-size: 40px; /* Bigger cross. */
  221. height: 30px; /* Remove icon's vertical spacing. */
  222. overflow-y: hidden;
  223. position: relative;
  224. top: -5px;
  225. }
  226. .modal-content pre {
  227. margin: 0;
  228. }
  229. #modal-error {
  230. color: red;
  231. }
  232. /*************************************************
  233. * Gallery.
  234. **************************************************/
  235. .gallery {
  236. margin: 0.5em -4px 1.5em -4px;
  237. font-size: 0;
  238. }
  239. a[data-fancybox] {
  240. text-decoration: none;
  241. }
  242. a[data-fancybox] img {
  243. height: 250px;
  244. max-width: inherit;
  245. display: inherit;
  246. margin: 0;
  247. padding: 4px;
  248. box-shadow: none;
  249. vertical-align: inherit;
  250. }
  251. .fancybox-caption {
  252. font-size: 1rem;
  253. line-height: 1.5rem;
  254. text-align: center;
  255. }
  256. /*************************************************
  257. * Pager.
  258. **************************************************/
  259. .post-nav {
  260. margin-top: 1rem;
  261. font-size: 0.8rem;
  262. }
  263. .post-nav-item {
  264. hyphens: auto;
  265. word-wrap: break-word;
  266. padding: 11px 0 12px;
  267. width: 100%;
  268. }
  269. .post-nav-item a {
  270. color: #2b2b2b;
  271. line-height: 1.7;
  272. text-transform: none;
  273. }
  274. .post-nav-item .meta-nav {
  275. color: #767676;
  276. font-weight: 900;
  277. line-height: 2;
  278. text-transform: uppercase;
  279. }
  280. .dark .post-nav-item a {
  281. color: #ddd;
  282. }
  283. /*************************************************
  284. * Home Sections
  285. **************************************************/
  286. @keyframes intro {
  287. 0% {
  288. opacity: 0;
  289. }
  290. 100% {
  291. opacity: 1;
  292. }
  293. }
  294. .home-section {
  295. background-color: {{ .Get "home_section_odd" }};
  296. padding: 110px 0 110px 0;
  297. animation: intro 0.3s both;
  298. animation-delay: 0.15s;
  299. }
  300. .home-section:first-of-type {
  301. padding-top: 50px;
  302. }
  303. .home-section:nth-of-type(even) {
  304. background-color: {{ .Get "home_section_even" }};
  305. }
  306. @media screen and (max-width: 768px) {
  307. .home-section {
  308. padding: 60px 0 60px 0;
  309. }
  310. .home-section:first-of-type {
  311. padding-top: 40px;
  312. }
  313. }
  314. .section-heading h1 {
  315. margin: 0 0 10px 0;
  316. }
  317. .section-heading p {
  318. font-weight: 400;
  319. font-size: 1.1rem;
  320. color: #b2b2b2;
  321. }
  322. /*************************************************
  323. * Hero Widget
  324. **************************************************/
  325. .hero-overlay {
  326. position: relative;
  327. padding: 3em 0;
  328. clear: both;
  329. background-size: cover;
  330. background-repeat: no-repeat;
  331. background-position: center;
  332. animation: intro 0.3s both;
  333. animation-delay: 0s;
  334. animation-delay: 0.25s;
  335. }
  336. .hero-title {
  337. font-size: 2.7rem;
  338. margin-top: 0;
  339. line-height: 1;
  340. }
  341. .hero-lead {
  342. max-width: 768px;
  343. font-size: 1.35rem;
  344. }
  345. .hero-overlay .hero-title,
  346. .hero-overlay .hero-lead,
  347. .hero-overlay .btn {
  348. color: #fff;
  349. text-shadow: 1px 1px 4px rgba(0,0,0,0.5);
  350. }
  351. .hero-overlay a {
  352. color: #fff;
  353. }
  354. .hero-overlay .hero-lead a {
  355. color: #fff;
  356. text-decoration-line: underline;
  357. }
  358. .hero-overlay .btn-large {
  359. font-size: 1.1rem;
  360. }
  361. /*************************************************
  362. * Featurette Widget
  363. **************************************************/
  364. .featurette {
  365. font-size: 0.8rem;
  366. line-height: 1.5;
  367. color: #555;
  368. text-align: center;
  369. }
  370. .featurette h3 {
  371. margin-top: 0;
  372. margin-bottom: 5px;
  373. font-weight: 400;
  374. color: #333;
  375. }
  376. .dark .featurette,
  377. .dark .featurette h3 {
  378. color: #fff;
  379. }
  380. .featurette-icon {
  381. display: block;
  382. width: 100%;
  383. color: {{ .Get "primary" }};
  384. font-size: 3rem;
  385. text-align: center;
  386. }
  387. /*************************************************
  388. * Biography
  389. **************************************************/
  390. #profile {
  391. text-align: center;
  392. padding: 30px 10px;
  393. position: relative;
  394. }
  395. #profile .portrait {
  396. background-image: url('../img/portrait.jpg');
  397. width: 200px;
  398. height: 200px;
  399. margin: 0 auto;
  400. border-radius: 50%;
  401. background-size: cover;
  402. }
  403. #profile .portrait-title h2 {
  404. font-size: 1.75em;
  405. font-weight: 300;
  406. color: #000000;
  407. margin: 20px 0 10px 0;
  408. }
  409. #profile .portrait-title h3 {
  410. font-size: 1rem;
  411. font-weight: 300;
  412. color: rgba(0,0,0, 0.54);
  413. margin: 0px 0 10px 0;
  414. }
  415. #profile ul.network-icon {
  416. display: inline-flex;
  417. flex-direction: row;
  418. flex-wrap: wrap;
  419. justify-content: center;
  420. list-style: none;
  421. padding: 0;
  422. margin-top: 30px;
  423. }
  424. #profile .network-icon li {
  425. margin-right: 10px;
  426. }
  427. #profile .network-icon li:last-of-type {
  428. margin-right: 0;
  429. }
  430. #profile .network-icon li:hover {
  431. transform: scale(1.2)
  432. }
  433. .big-icon {
  434. font-size: 2rem;
  435. }
  436. ul.ul-interests li {
  437. font-size: 0.9rem;
  438. }
  439. ul.ul-edu {
  440. list-style: none;
  441. }
  442. ul.ul-edu li {
  443. position: relative;
  444. padding: 0px 15px 4px 3px;
  445. }
  446. ul.ul-edu li .description p {
  447. margin: 0;
  448. }
  449. ul.ul-edu li .description p.course {
  450. font-size: 0.9rem;
  451. }
  452. ul.ul-edu li .description p.institution {
  453. font-size: 0.75rem;
  454. color: rgba(0,0,0,0.6);
  455. }
  456. /*************************************************
  457. * Sharing
  458. **************************************************/
  459. .share-box {
  460. float: right;
  461. }
  462. ul.share {
  463. display: flex;
  464. flex-direction: row;
  465. flex-wrap: wrap;
  466. list-style: none;
  467. margin: 0;
  468. padding: 0;
  469. }
  470. ul.share li {
  471. display: inline-flex;
  472. margin-right: 5px;
  473. }
  474. ul.share li:last-of-type {
  475. margin-right: 0;
  476. }
  477. ul.share li .fa {
  478. display: block;
  479. width: 30px;
  480. height: 30px;
  481. line-height: 30px;
  482. font-size: 16px;
  483. text-align: center;
  484. transition: all 150ms ease-in-out;
  485. color: #fff;
  486. }
  487. ul.share li a {
  488. background-color: #b5c6ce;
  489. display: block;
  490. border-radius: 50%;
  491. text-decoration: none !important;
  492. margin: 0;
  493. }
  494. ul.share li:hover .fa {
  495. transform: scale(1.4)
  496. }
  497. /*************************************************
  498. * Blog Articles
  499. **************************************************/
  500. article {
  501. animation: intro 0.3s both;
  502. animation-delay: 0.15s;
  503. }
  504. .article-container {
  505. max-width: 760px;
  506. padding: 1rem 20px 0 20px;
  507. margin: 0 auto 0 auto;
  508. }
  509. .article-header {
  510. position: relative;
  511. clear: both;
  512. }
  513. .article-banner {
  514. width: 100%;
  515. height: auto;
  516. }
  517. .article-header-caption {
  518. position: absolute;
  519. bottom: 0;
  520. right: 0;
  521. margin: 0 auto;
  522. padding: 2px 5px;
  523. color: #fff;
  524. font-size: .7em;
  525. background: #000;
  526. text-align: right;
  527. z-index: 5;
  528. opacity: 0.65;
  529. border-radius: 5px 0 0 0;
  530. }
  531. @media (min-width: 64em) {
  532. .article-header-caption {
  533. padding: 5px 10px;
  534. }
  535. }
  536. .article-header-caption a {
  537. color: #fff;
  538. text-decoration: none;
  539. }
  540. .article-title {
  541. font-size: 1.75rem;
  542. }
  543. .article-title a {
  544. color: #151515;
  545. transition: color 0.6s ease;
  546. }
  547. .article-metadata {
  548. margin-bottom: 15px;
  549. overflow: hidden;
  550. font-size: 14px;
  551. letter-spacing: 0.03em;
  552. color: #888;
  553. }
  554. /* For article page only, not lists. */
  555. article .article-metadata {
  556. margin-bottom: 20px;
  557. line-height: 30px; /* Match share bar line height. */
  558. }
  559. .article-metadata a {
  560. color: #888;
  561. }
  562. .article-metadata a:hover {
  563. color: {{ .Get "primary" }};
  564. }
  565. .middot-divider {
  566. padding-right: .45em;
  567. padding-left: .45em;
  568. font-size: 15px;
  569. }
  570. .middot-divider::after {
  571. content: '\00B7';
  572. }
  573. .article-style img,
  574. .article-style video {
  575. margin-left: auto;
  576. margin-right: auto;
  577. margin-top: 60px;
  578. margin-bottom: 60px;
  579. padding: 0;
  580. }
  581. .article-style td img,
  582. .article-style td video {
  583. margin-top: 0;
  584. margin-bottom: 0;
  585. }
  586. .article-style figure {
  587. margin-top: 60px;
  588. margin-bottom: 60px;
  589. }
  590. .article-style figure img {
  591. margin-top: 0;
  592. margin-bottom: 0;
  593. }
  594. .article-widget {
  595. padding-top: 1rem;
  596. }
  597. .article-widget h3 {
  598. margin-top: 0;
  599. }
  600. .hr-light {
  601. border-top: 1px solid rgba(0,0,0,.05);
  602. margin-top: 0.5rem;
  603. margin-bottom: 1rem;
  604. }
  605. #comments {
  606. padding-top: 1rem;
  607. }
  608. /*************************************************
  609. * Publications
  610. **************************************************/
  611. .pub-icon {
  612. color: rgba(0, 0, 0, 0.54);
  613. font-size: 0.81em;
  614. padding-top: 6px;
  615. }
  616. .pub-banner {
  617. max-width: 100%;
  618. height: auto;
  619. margin-left: auto;
  620. margin-right: auto;
  621. }
  622. .pub .pub-authors {
  623. font-style: italic;
  624. line-height: 30px; /* Match share bar line height. */
  625. }
  626. .pub .pub-row-heading {
  627. font-weight: bold;
  628. }
  629. .pub-list-item .pub-abstract {
  630. font-size: 1rem;
  631. }
  632. .pub-list-item .pub-authors {
  633. line-height: normal;
  634. font-style: normal;
  635. font-size: 1rem;
  636. color: #3170A5;
  637. }
  638. .pub-list-item .pub-publication {
  639. color: #090;
  640. font-size: 1rem;
  641. }
  642. .pub-list-item .pub-links {
  643. padding-top: 10px;
  644. }
  645. #container-publications {
  646. display: block;
  647. position: relative;
  648. overflow: hidden;
  649. }
  650. /*************************************************
  651. * Talks
  652. **************************************************/
  653. .talk-metadata {
  654. color: #4b4f56;
  655. font-size: 0.8rem;
  656. }
  657. /*************************************************
  658. * Projects
  659. **************************************************/
  660. #projects.home-section li {
  661. margin-bottom: 1rem;
  662. }
  663. #projects.home-section li:last-of-type {
  664. margin-bottom: 0;
  665. }
  666. #projects.home-section .project-title {
  667. margin-bottom: 6px;
  668. }
  669. #projects.home-section .project-summary {
  670. font-size: 0.9rem;
  671. margin-bottom: 0.4rem;
  672. }
  673. #projects.home-section .project-tags {
  674. font-size: 0.75rem;
  675. color: #9c9c9c;
  676. }
  677. .projects-container {
  678. display: block;
  679. position: relative;
  680. /*margin-top: 5rem;*/
  681. overflow: hidden;
  682. }
  683. .project-toolbar{
  684. margin-bottom: 2rem;
  685. }
  686. .project-item {
  687. margin-bottom: 1.5rem;
  688. }
  689. .isotope-item {
  690. z-index: 2;
  691. }
  692. .isotope-item:hover{
  693. z-index: 3;
  694. }
  695. /*************************************************
  696. * Card component
  697. **************************************************/
  698. .card-simple {
  699. background: #fff;
  700. box-shadow: 0 1px 4px rgba(0,0,0,.04);
  701. border: 1px solid rgba(0,0,0,.09);
  702. border-radius: 3px;
  703. margin-top: 20px;
  704. padding: 15px 20px 15px 20px;
  705. }
  706. .card-simple:first-of-type {
  707. margin-top: 0;
  708. }
  709. .card-simple p.read-more {
  710. margin: 0;
  711. }
  712. .dark .card-simple {
  713. background: rgb(40, 42, 54);
  714. box-shadow: 0 1px 4px rgba(0,0,0,.04);
  715. border: 1px solid rgb(68, 71, 90);
  716. }
  717. .card {
  718. margin-bottom: 1.5rem;
  719. overflow: hidden;
  720. text-overflow: ellipsis;
  721. background: #fff;
  722. box-shadow: 0 2px 4px 0 rgba(0,0,0,0.2);
  723. transition: all 0.2s ease-out;
  724. }
  725. .card .card-image {
  726. display: block;
  727. position: relative;
  728. min-height: 100px;
  729. }
  730. .card h4 {
  731. font-size: 0.9rem;
  732. font-weight: 700;
  733. line-height: 1.5;
  734. text-transform: uppercase;
  735. }
  736. .card h4 a {
  737. color: #000;
  738. border-bottom: solid 1px transparent;
  739. }
  740. .card h4 a:hover {
  741. color: #000;
  742. border-bottom: solid 1px #000;
  743. text-decoration: none;
  744. }
  745. .card .card-text {
  746. padding: 0.75rem 1rem 0.75rem;
  747. }
  748. .card .card-text p {
  749. color: #999999;
  750. font-size: 0.75rem;
  751. }
  752. .card p:last-child {
  753. margin-bottom: 0;
  754. }
  755. .card .card-image.hover-overlay:before {
  756. display: block;
  757. position: absolute;
  758. left: 0;
  759. top: 0;
  760. width: 100%;
  761. height: 100%;
  762. background: #fff;
  763. content: " ";
  764. opacity: 0;
  765. transition: all 0.2s ease-out;
  766. }
  767. .card .card-image.hover-overlay:after {
  768. display: block;
  769. position: absolute;
  770. left: 0;
  771. top: 50%;
  772. width: 100%;
  773. transform: translate(0, -50%);
  774. opacity: 0;
  775. transition: all 0.2s ease-out;
  776. font-family: 'FontAwesome';
  777. content: '\f0c1';
  778. text-align: center;
  779. font-size: 3rem;
  780. color: #666;
  781. }
  782. .card:hover {
  783. box-shadow: 0 8px 16px 0 rgba(0,0,0,0.2);
  784. }
  785. .card:hover .card-image.hover-overlay:before {
  786. opacity: 0.8;
  787. }
  788. .card:hover .card-image.hover-overlay:after {
  789. opacity: 0.6;
  790. }
  791. /*************************************************
  792. * Contact
  793. **************************************************/
  794. #contact.home-section .fa-ul {
  795. margin-left: 3.14285714rem; /* Must be > `fa-2x` icon size. */
  796. }
  797. #contact.home-section .fa-li {
  798. position: absolute;
  799. left: -3.14285714rem; /* Negative of `#contact.home-section .fa-ul` margin. */
  800. width: 2rem; /* Match `fa-2x` icon size. */
  801. top: 0.14285714em; /* Default FA value. */
  802. text-align: center;
  803. }
  804. #contact.home-section li {
  805. padding-top: 0.8rem; /* Align text with bottom of `fa-2x` icon. */
  806. margin-bottom: 0.3rem;
  807. }
  808. #contact.home-section li:last-of-type {
  809. margin-bottom: 0;
  810. }
  811. #map {
  812. height: 350px;
  813. width: 100%;
  814. }
  815. /*************************************************
  816. * Footer
  817. **************************************************/
  818. footer {
  819. margin: 4rem 0 0;
  820. padding: 2rem 0;
  821. width: 100%;
  822. }
  823. footer p {
  824. font-size: 0.75rem;
  825. text-align: center;
  826. }
  827. .site-footer,
  828. footer a#back_to_top i {
  829. color: #899596;
  830. }
  831. /*************************************************
  832. * Button Primary: Color Override
  833. **************************************************/
  834. .btn-primary {
  835. border-color: {{ .Get "primary" }} !important;
  836. background: {{ .Get "primary" }} !important;
  837. }
  838. .btn-primary:hover,
  839. .btn-primary:active,
  840. .btn-primary.active,
  841. .btn-primary:visited,
  842. .open > .dropdown-toggle.btn-primary {
  843. background: {{ .Get "primary" }} !important;
  844. }
  845. .btn-light {
  846. border-color: #fff !important;
  847. background: #fff !important;
  848. }
  849. .btn-light:hover,
  850. .btn-light:active,
  851. .btn-light.active {
  852. background: rgba(0,0,0,0.4) !important;
  853. }
  854. /*************************************************
  855. * Toolbar Buttons
  856. **************************************************/
  857. .btn-toolbar .btn {
  858. font-size: 0.9rem;
  859. padding: 10px 14px 9px;
  860. border: none;
  861. }
  862. .btn-toolbar .btn:first-child {
  863. border-radius: 6px 0 0 6px;
  864. }
  865. .btn-toolbar .btn:last-child {
  866. border-radius: 0 6px 6px 0;
  867. }
  868. .btn-toolbar .btn.btn-primary:hover,
  869. .btn-toolbar .btn.btn-primary:focus {
  870. background-color: {{ .Get "primary_dark" }} !important;
  871. }
  872. .btn-toolbar .btn.btn-primary:active,
  873. .btn-toolbar .btn.btn-primary.active {
  874. background-color: {{ .Get "primary_light" }} !important;
  875. }
  876. /*************************************************
  877. * Button Outlines
  878. **************************************************/
  879. .btn-outline {
  880. background-color: transparent !important;
  881. color: inherit;
  882. transition: all .5s;
  883. }
  884. .btn-primary.btn-outline {
  885. color: {{ .Get "primary" }} !important;
  886. border-color: {{ .Get "primary" }} !important;
  887. }
  888. .btn-primary.btn-outline:focus {
  889. color: {{ .Get "primary" }} !important;
  890. }
  891. .btn-primary.btn-outline:active {
  892. color: #fff !important;
  893. }
  894. .btn-light.btn-outline {
  895. color: #fff !important;
  896. border-color: #fff !important;
  897. }
  898. .btn-light.btn-outline:focus {
  899. color: #fff !important;
  900. }
  901. .btn-light.btn-outline:active {
  902. color: transparent !important;
  903. }
  904. .btn-success.btn-outline {
  905. color: #5cb85c;
  906. }
  907. .btn-info.btn-outline {
  908. color: #5bc0de;
  909. }
  910. .btn-warning.btn-outline {
  911. color: #f0ad4e;
  912. }
  913. .btn-danger.btn-outline {
  914. color: #d9534f;
  915. }
  916. .btn-primary.btn-outline:hover,
  917. .btn-light.btn-outline:hover,
  918. .btn-success.btn-outline:hover,
  919. .btn-info.btn-outline:hover,
  920. .btn-warning.btn-outline:hover,
  921. .btn-danger.btn-outline:hover {
  922. color: #fff !important;
  923. }
  924. /*************************************************
  925. * Navigation Bar
  926. **************************************************/
  927. .navbar {
  928. min-height: 70px !important;
  929. }
  930. .navbar-default {
  931. background: {{ .Get "menu_primary" }};
  932. box-shadow: 0 0.125rem 0.25rem 0 rgba(0,0,0,.11)
  933. }
  934. .navbar-default .navbar-toggle {
  935. border-color: transparent;
  936. }
  937. .navbar-default .navbar-toggle:focus,
  938. .navbar-default .navbar-toggle:hover {
  939. background-color: transparent;
  940. }
  941. nav#navbar-main li {
  942. font-size: {{ .Get "font_size_small" }}px;
  943. }
  944. .navbar-default .navbar-nav>li>a,
  945. .navbar-default .navbar-nav>a:focus,
  946. .navbar-default .navbar-nav>a:hover {
  947. white-space: nowrap;
  948. -webkit-transition: 0.2s ease;
  949. transition: 0.2s ease;
  950. color: {{ .Get "menu_text" }};
  951. font-weight: 600;
  952. }
  953. .navbar-default .navbar-nav>li>a:focus {
  954. color: {{ .Get "menu_text" }};
  955. background-color: transparent;
  956. }
  957. .navbar-default .navbar-nav>li>a:hover {
  958. color: {{ .Get "menu_text_active" }};
  959. background-color: transparent;
  960. }
  961. .navbar-default .navbar-nav>.active>a,
  962. .navbar-default .navbar-nav>.active>a:focus,
  963. .navbar-default .navbar-nav>.active>a:hover {
  964. color: {{ .Get "menu_text_active" }};
  965. font-weight: 700;
  966. background-color: transparent !important; /* Override Bootstrap. */
  967. }
  968. .navbar-brand,
  969. .navbar-nav li a {
  970. height: inherit;
  971. line-height: 50px;
  972. padding-top: 10px;
  973. padding-bottom: 10px;
  974. }
  975. .navbar-brand img {
  976. max-height: 50px;
  977. }
  978. .navbar-default .navbar-toggle .icon-bar {
  979. background-color: {{ .Get "menu_text" }} !important;
  980. }
  981. .dropdown-menu {
  982. background-color: {{ .Get "menu_primary" }} !important;
  983. }
  984. .dropdown-menu > li > a {
  985. display: block;
  986. padding: 3px 20px;
  987. clear: both;
  988. font-weight: 400;
  989. line-height: 1.42857143;
  990. color: {{ .Get "menu_text" }};
  991. white-space: nowrap;
  992. }
  993. .dropdown-menu>li>a:focus,
  994. .dropdown-menu>li>a:hover {
  995. color: {{ .Get "menu_text_active" }};
  996. text-decoration: none;
  997. background-color: {{ .Get "menu_primary" }};
  998. }
  999. .dropdown-menu > .active > a,
  1000. .dropdown-menu > .active > a:focus,
  1001. .dropdown-menu > .active > a:hover {
  1002. color: {{ .Get "menu_primary" }};
  1003. text-decoration: none;
  1004. background-color: {{ .Get "menu_text_active" }};
  1005. outline: 0;
  1006. }
  1007. .navbar-default .navbar-nav>.open>a,
  1008. .navbar-default .navbar-nav>.open>a:focus,
  1009. .navbar-default .navbar-nav>.open>a:hover,
  1010. .navbar-default .navbar-nav>.open>a:visited {
  1011. color: {{ .Get "menu_text" }} !important;
  1012. background-color: {{ .Get "menu_primary" }} !important;
  1013. }
  1014. .navbar-default .navbar-brand {
  1015. text-transform: uppercase;
  1016. font-weight: bold;
  1017. font-size: 1.2em;
  1018. color: {{ .Get "menu_title" }};
  1019. }
  1020. .navbar-default .navbar-brand:focus,
  1021. .navbar-default .navbar-brand:hover {
  1022. color: {{ .Get "menu_title" }};
  1023. background-color: transparent;
  1024. }
  1025. @media screen and (max-width: 1200px) {
  1026. .navbar {
  1027. min-height: 50px !important;
  1028. }
  1029. .navbar-brand,
  1030. .navbar-nav li a {
  1031. height: inherit;
  1032. line-height: 40px;
  1033. padding-top: 5px;
  1034. padding-bottom: 5px;
  1035. }
  1036. .navbar-brand img {
  1037. max-height: 40px;
  1038. }
  1039. .navbar-header {
  1040. float: none;
  1041. min-height: inherit;
  1042. }
  1043. .navbar-left,
  1044. .navbar-right {
  1045. float: none !important;
  1046. }
  1047. .navbar-toggle {
  1048. display: block;
  1049. }
  1050. .navbar-fixed-top {
  1051. top: 0;
  1052. border-width: 0 0 1px;
  1053. }
  1054. .navbar-collapse.collapse {
  1055. display: none !important;
  1056. }
  1057. .navbar-nav {
  1058. float: none !important;
  1059. margin-top: 7.5px;
  1060. }
  1061. .navbar-nav > li {
  1062. float: none;
  1063. }
  1064. .navbar-nav > li > a {
  1065. padding-top: 10px;
  1066. padding-bottom: 10px;
  1067. line-height: normal;
  1068. }
  1069. .dropdown-menu > li > a {
  1070. display: block;
  1071. padding: 3px 20px;
  1072. clear: both;
  1073. font-weight: 400;
  1074. line-height: 1.42857143;
  1075. color: {{ .Get "menu_text" }};
  1076. white-space: nowrap;
  1077. }
  1078. .navbar-default .navbar-nav .open .dropdown-menu {
  1079. position: static;
  1080. float: none;
  1081. width: auto;
  1082. margin-top: 0;
  1083. background-color: transparent;
  1084. border: 0;
  1085. box-shadow: none;
  1086. }
  1087. .navbar-default .navbar-nav .open .dropdown-menu > li > a {
  1088. padding: 5px 15px 5px 25px;
  1089. line-height: 20px;
  1090. color: {{ .Get "menu_text" }};
  1091. }
  1092. .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus,
  1093. .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover {
  1094. color: inherit;
  1095. background-color: transparent;
  1096. }
  1097. .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  1098. .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus,
  1099. .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover {
  1100. color: {{ .Get "menu_text_active" }};
  1101. background-color: transparent;
  1102. }
  1103. .collapse.in {
  1104. display: block !important;
  1105. }
  1106. }
  1107. /*************************************************
  1108. * Tables
  1109. **************************************************/
  1110. table {
  1111. width: 100%;
  1112. max-width: 100%;
  1113. margin-bottom: 1rem;
  1114. font-size: 0.93rem;
  1115. }
  1116. table > thead > tr > th,
  1117. table > tbody > tr > th,
  1118. table > tfoot > tr > th,
  1119. table > thead > tr > td,
  1120. table > tbody > tr > td,
  1121. table > tfoot > tr > td {
  1122. padding: 8px;
  1123. line-height: 1.43;
  1124. vertical-align: top;
  1125. border-top: 1px solid #ddd;
  1126. }
  1127. table > thead > tr > th {
  1128. vertical-align: bottom;
  1129. border-bottom: 2px solid #ddd;
  1130. }
  1131. table > caption + thead > tr:first-child > th,
  1132. table > colgroup + thead > tr:first-child > th,
  1133. table > thead:first-child > tr:first-child > th,
  1134. table > caption + thead > tr:first-child > td,
  1135. table > colgroup + thead > tr:first-child > td,
  1136. table > thead:first-child > tr:first-child > td {
  1137. border-top: 0;
  1138. }
  1139. table > tbody + tbody {
  1140. border-top: 2px solid #ddd;
  1141. }
  1142. table table {
  1143. background-color: #fff;
  1144. }
  1145. /* Table Striped */
  1146. table > tbody > tr:nth-child(odd) > td,
  1147. table > tbody > tr:nth-child(odd) > th {
  1148. background-color: #f9f9f9;
  1149. }
  1150. /* Table Hover */
  1151. table > tbody > tr:hover > td,
  1152. table > tbody > tr:hover > th {
  1153. background-color: #e5e5e5;
  1154. }
  1155. /*************************************************
  1156. * Alerts
  1157. **************************************************/
  1158. div.alert {
  1159. border-radius: 10px;
  1160. margin-bottom: 1rem;
  1161. }
  1162. div.alert p {
  1163. position: relative;
  1164. display: block;
  1165. font-size: 1rem;
  1166. margin-left: 2rem;
  1167. margin-top: 0;
  1168. margin-bottom: 0;
  1169. }
  1170. div.alert p:first-child::before {
  1171. position: absolute;
  1172. top: -0.5rem;
  1173. left: -2rem;
  1174. font-family: 'FontAwesome';
  1175. font-size: 1.5rem;
  1176. color: #fff;
  1177. content: '\f05a';
  1178. width: 1.5rem;
  1179. text-align: center;
  1180. }
  1181. div.alert-warning p:first-child::before {
  1182. content: '\f071';
  1183. }
  1184. div.alert a {
  1185. color: rgba(255,255,255,0.9);
  1186. text-decoration: none;
  1187. border-bottom: solid 1px #e4e4e4;
  1188. transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
  1189. }
  1190. div.alert a:hover {
  1191. border-bottom-color: transparent;
  1192. color: rgba(255,255,255,0.5) !important;
  1193. }
  1194. .alert-note {
  1195. color: #fff;
  1196. background-color: #03A9F4; /* Material LightBlue500 */
  1197. border-color: #bce8f1;
  1198. }
  1199. .alert-warning {
  1200. color: #fff;
  1201. background-color: #f44336; /* Material Red500 */
  1202. border-color: #ebccd1;
  1203. }
  1204. /*************************************************
  1205. * Dark themed components
  1206. **************************************************/
  1207. body.dark {
  1208. color: rgb(248, 248, 242);
  1209. }
  1210. .dark h1,
  1211. .dark h2,
  1212. .dark h3,
  1213. .dark h4,
  1214. .dark h5,
  1215. .dark h6 {
  1216. color: rgb(152, 166, 173);
  1217. }
  1218. .dark pre,
  1219. .dark code {
  1220. color: rgb(139, 233, 253);
  1221. background-color: rgb(68, 71, 90);
  1222. }
  1223. .dark pre {
  1224. background-color: rgb(68, 71, 90);
  1225. border-color: rgb(68, 71, 90);
  1226. }
  1227. .dark .markup-quote {
  1228. background-image: linear-gradient(to bottom, rgba(233, 231, 245, 0.2), rgba(233, 231, 245, 0.2));
  1229. }
  1230. .dark #MathJax_Zoom {
  1231. background-color: rgb(68, 71, 90) !important;
  1232. }
  1233. .dark ul.share li a {
  1234. background-color: {{ .Get "primary" }};
  1235. }
  1236. .dark table table {
  1237. background-color: rgb(40, 42, 54);
  1238. }
  1239. /* Table Striped */
  1240. .dark table > tbody > tr:nth-child(odd) > td,
  1241. .dark table > tbody > tr:nth-child(odd) > th {
  1242. background-color: rgb(50, 52, 64);
  1243. }
  1244. /* Table Hover */
  1245. .dark table > tbody > tr:hover > td,
  1246. .dark table > tbody > tr:hover > th {
  1247. background-color: rgb(60, 62, 74);
  1248. }
  1249. .dark .article-title a {
  1250. color: #fff;
  1251. }
  1252. .dark #profile .portrait-title h2 {
  1253. color: #fff;
  1254. }
  1255. .dark #profile .portrait-title h3 {
  1256. color: rgba(255, 255, 255, 0.54);
  1257. }
  1258. .dark ul.ul-edu li .description p.institution {
  1259. color: rgba(255, 255, 255, 0.6);
  1260. }
  1261. .dark .pub-icon {
  1262. color: rgba(255, 255, 255, 0.54);
  1263. }
  1264. .dark .talk-metadata {
  1265. color: rgba(255, 255, 255, 0.54);
  1266. }
  1267. .dark .pager li > a, .pager li > span {
  1268. background-color: rgb(40, 42, 54);
  1269. border: 1px solid #ddd;
  1270. }
  1271. .dark .card {
  1272. background: rgb(10, 12, 24);
  1273. box-shadow: 0 2px 4px 0 rgba(255, 255, 255, 0.2);
  1274. }
  1275. .dark .card h4 a {
  1276. color: {{ .Get "primary" }};
  1277. border-bottom: solid 1px transparent;
  1278. }
  1279. .dark .card .card-image.hover-overlay::before {
  1280. background: #666;
  1281. }
  1282. .dark .card .card-image.hover-overlay::after {
  1283. color: #fff;
  1284. }
  1285. .dark .navbar-default {
  1286. box-shadow: 0 0.125rem 0.25rem 0 rgba(255, 255, 255, .11);
  1287. border-color: #070707;
  1288. }
  1289. .dark select {
  1290. background: rgb(40, 42, 54);
  1291. color: rgb(248, 248, 242);
  1292. }