From b184467b5449f1933f673a78e77f76ac3650b909 Mon Sep 17 00:00:00 2001 From: Ral Date: Fri, 24 Dec 2021 23:18:02 +0100 Subject: [PATCH] Update Content, still WiP --- public/index.html | 4 +- ...14947b7075c79656362b0f07f1b33aacc1254a.js} | 80 ++++++++++++++++--- ...ee64cc4544efb8502a289899b34b09a02ff466.css | 1 + ...4985bde2bd17d3359d391d6154c0a69918bfc0.css | 1 - 4 files changed, 74 insertions(+), 12 deletions(-) rename public/{main.70ebfdc7bf1b6f07ff5cb8036bab2309230d7a7a17d3e31366332852678adbaf.js => main.ed70c487a33840a79f8f30be2914947b7075c79656362b0f07f1b33aacc1254a.js} (73%) create mode 100644 public/main.min.50215e4017c001d2b7d6ee54c9ee64cc4544efb8502a289899b34b09a02ff466.css delete mode 100644 public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css diff --git a/public/index.html b/public/index.html index 9470100..83fddef 100644 --- a/public/index.html +++ b/public/index.html @@ -3,7 +3,7 @@ rC3 NOWHERE - + @@ -11,6 +11,6 @@ - + \ No newline at end of file diff --git a/public/main.70ebfdc7bf1b6f07ff5cb8036bab2309230d7a7a17d3e31366332852678adbaf.js b/public/main.ed70c487a33840a79f8f30be2914947b7075c79656362b0f07f1b33aacc1254a.js similarity index 73% rename from public/main.70ebfdc7bf1b6f07ff5cb8036bab2309230d7a7a17d3e31366332852678adbaf.js rename to public/main.ed70c487a33840a79f8f30be2914947b7075c79656362b0f07f1b33aacc1254a.js index 44ee974..48704c1 100644 --- a/public/main.70ebfdc7bf1b6f07ff5cb8036bab2309230d7a7a17d3e31366332852678adbaf.js +++ b/public/main.ed70c487a33840a79f8f30be2914947b7075c79656362b0f07f1b33aacc1254a.js @@ -1,6 +1,6 @@ "use strict"; (() => { - // ns-hugo:/home/raoul/rc3_2021/html-infobeamer-content/assets/js/dom.js + // ns-hugo:/home/raoul-web/rc3_2021/html-infobeamer-content/assets/js/dom.js var html = htm.bind(preact.h); var schedule_meta_here_dom = (schedule) => { let inner = html`${schedule.map((talk) => html` @@ -81,20 +81,67 @@ (${current.license})
+ «${current.title}» + by ${current.artist} - - ${current.title}
`)} `; return inner; }; + var get_tweet_author = (data, tweet) => { + let authorId = tweet.author_id; + let users = data.includes.users; + let author = users.find((item) => item.id === authorId); + let userName = author !== void 0 ? author.username : "NoOne"; + return userName; + }; + var get_tweet_text = (data, tweet) => tweet.text; + var get_tweet_profile_image = (data, tweet) => { + const defaultProfileImageUrl = "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png"; + let authorId = tweet.author_id; + let users = data.includes.users; + let author = users.find((item) => item.id === authorId); + let profileImageUrl = author !== void 0 ? author.profile_image_url : defaultProfileImageUrl; + return profileImageUrl; + }; + var single_tweet_dom = (data, tweet) => { + let userName = get_tweet_author(data, tweet); + let profileImageUrl = get_tweet_profile_image(data, tweet); + let text = get_tweet_text(data, tweet); + let inner = html` +
+
+ +
+
@${userName}
+
${text}
+
+
+
`; + return inner; + }; + var social_container_dom = (data) => { + let inner = html``; + data.forEach((d) => { + let tweets = d.data; + inner = html` +
+
+
+ ${tweets.map((t) => single_tweet_dom(d, t))} +
+
+
`; + }); + return inner; + }; function update_main_slide(data) { let schedule = data.schedule; let music = data.music; let twitter = data.twitter; let scheduleDom = update_schedule_dom(schedule); let musicDom = music_playing_now_dom(music); - let twitterDom = void 0; + let twitterDom = social_container_dom(twitter); let inner = html` ${scheduleDom} ${musicDom} @@ -106,9 +153,23 @@ ${twitterDom} } // - var scheduleData = JSON.constructor([]); - var musicData = JSON.constructor([]); - var twitterData = JSON.constructor([]); + var scheduleData = []; + var musicData = []; + var twitterData = []; + var twitter_limiter = (idata) => { + const numberTweets = 20; + let dataCopy = JSON.parse(JSON.stringify(idata)); + dataCopy.forEach((d) => { + let tweets = d.data; + if (tweets.length > 0) { + while (tweets.length < 20) { + tweets = tweets.concat(tweets); + } + } + d.data = tweets.slice(0, numberTweets); + }); + return dataCopy; + }; if (window.Worker) { const workerBaseURL = window.infoBeamerConfig.get("workerBaseURL"); const scheduleWorkerCode = workerBaseURL + "js/schedule_worker.js"; @@ -145,7 +206,7 @@ ${twitterDom} musicWorker.onmessage = function(e) { let msgType = e.data.msgType; if (msgType === musicType) { - musicData = JSON.constructor([e.data.json]); + musicData = [e.data.json]; let time = e.data.timestamp; console.log("Message: " + msgType + " at " + time); console.log(musicData); @@ -166,7 +227,8 @@ ${twitterDom} twitterWorker.onmessage = function(e) { let msgType = e.data.msgType; if (msgType === twitterType) { - twitterData = e.data.json; + twitterData = [e.data.json]; + twitterData = twitter_limiter(twitterData); let time = e.data.timestamp; console.log("Message: " + msgType + " at " + time); console.log(twitterData); diff --git a/public/main.min.50215e4017c001d2b7d6ee54c9ee64cc4544efb8502a289899b34b09a02ff466.css b/public/main.min.50215e4017c001d2b7d6ee54c9ee64cc4544efb8502a289899b34b09a02ff466.css new file mode 100644 index 0000000..7848f98 --- /dev/null +++ b/public/main.min.50215e4017c001d2b7d6ee54c9ee64cc4544efb8502a289899b34b09a02ff466.css @@ -0,0 +1 @@ +@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff)format("woff")}*{box-sizing:border-box}body{color:#fff;background:#646464}#main{position:absolute;top:0;left:0}.slide{width:1920px;height:1080px;overflow:hidden}.bottom-bar{position:absolute;bottom:0;margin-bottom:10px;width:100%;overflow:hidden;z-index:-100}.ticker-wrap{width:100%}@keyframes switch-anim{0%{transform:translate3d(0%,0,0)}100%{transform:translate3d(-100%,0,0)}}@keyframes slide-anim{0%{transform:translate3d(0,100%,0)}10%{transform:translate3d(0,0%,0)}90%{transform:translate3d(0,0%,0)}100%{transform:translate3d(0,-100%,0)}}.switcher{display:inline-block;white-space:nowrap;animation-name:switch-anim;animation-duration:200s;animation-iteration-count:infinite;animation-timing-function:steps(20,jump-end)}.slider{display:inline-block;white-space:nowrap;animation-name:slide-anim;animation-duration:10s;animation-iteration-count:infinite;animation-timing-function:linear}.tweet{width:1920px;padding-left:60px;padding-right:60px;display:inline-block;white-space:nowrap;color:#fff;font-family:ibm plex sans;font-size:30px}.tweet .container{display:flex}.tweet .content{height:72px;display:flex;flex-direction:column;justify-content:space-between}.tweet .profile-image{height:72px;width:72px;margin-right:18px;vertical-align:middle}.tweet .username{font-size:20px;vertical-align:top}.tweet .text{max-width:1710px;font-size:25px;vertical-align:bottom;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule .left{position:absolute;top:30px;left:60px;width:850px;height:980px}.schedule .right{position:absolute;top:30px;right:60px;width:800px;height:980px}.schedule .panel{background-color:rgba(0,0,0,.6);box-shadow:2px 2px 4px 2px rgba(0,0,0,.6);padding:20px 30px}.schedule .header{width:100%;max-height:100px;margin-bottom:10px;color:#309aca;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ibm plex mono;font-weight:700;font-size:45px;text-shadow:1px 1px 1px #000,2px 2px 8px rgba(0,0,0,.8)}.schedule .content{font-family:ibm plex sans;font-weight:400;font-size:25px;text-shadow:1px 1px 6px #000;color:#eee}.panel.meta{height:300px;width:85%;margin-bottom:30px}.meta .header{margin-bottom:20px}.meta .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;padding-left:20px;padding-top:10px;padding-bottom:15px}.meta .speaker{margin-bottom:10px;font-style:italic;font-size:30px;font-weight:500}.meta .title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:20px;padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:normal;font-size:45px;font-weight:600}.meta .start-duration{display:flex;justify-content:space-between;font-size:25px;font-weight:400}.meta .start-duration .duration{font-style:italic}.abstract .header{margin-bottom:20px}.abstract .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;border-bottom:4px solid #6fad1a;padding-left:10px;padding-top:5px;padding-bottom:8px}.abstract .text{display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;line-break:anywhere}.list .header{margin-bottom:20px}.list .item{margin-bottom:10px;padding:2px 10px;background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);white-space:nowrap;border-left:6px solid #6fad1a}.item .title{color:#fff;font-size:30px;overflow:hidden;text-overflow:ellipsis}.item .details{font-size:25px;color:#eee}.item .day{position:absolute;left:150px}.item .stage{float:right;text-align:right;font-style:italic}.item .stage:before{padding-right:5px;content:"@"}.music{position:absolute;bottom:140px;left:60px;margin-left:30px;padding-left:10px;padding-top:5px;padding-bottom:5px;width:600px;font-family:ibm plex sans;font-weight:300;font-size:25px;color:#eee;text-shadow:0 0 6px #000;background:linear-gradient(110deg,rgba(26,115,150,.6) 0%,rgba(26,115,150,.2) 85%,rgba(26,115,150,0) 100%);white-space:nowrap;border-left:6px solid #309aca}.music .line1{display:flex;justify-content:space-between}.music .line2{overflow:hidden;text-overflow:ellipsis}.music .header{font-weight:600;white-space:normal}.music .title{margin-left:20px}.music .artist{font-style:italic}.music .by{margin-left:15px;margin-right:12px;font-style:italic}.music .license{font-size:20px;color:#ccc} \ No newline at end of file diff --git a/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css b/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css deleted file mode 100644 index 4042b8a..0000000 --- a/public/main.min.98d83e9b389cfb42e02b6dc50f4985bde2bd17d3359d391d6154c0a69918bfc0.css +++ /dev/null @@ -1 +0,0 @@ -@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex mono;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-mono-v7-latin-ext_latin-700italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:100;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-100italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:200;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-200italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:300;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-300italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-regular.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:400;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:500;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-500italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:600;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-600italic.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:normal;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700.woff)format("woff")}@font-face{font-family:ibm plex sans;font-style:italic;font-weight:700;src:url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff2)format("woff2"),url(./fonts/ibm-plex-sans-v9-latin-ext_latin-700italic.woff)format("woff")}*{box-sizing:border-box}body{color:#fff;background:#646464}#main{position:absolute;top:0;left:0}.slide{width:1920px;height:1080px;overflow:hidden}.music{position:absolute;bottom:140px;left:60px;margin-left:30px;padding-left:10px;padding-top:5px;padding-bottom:5px;width:600px;font-family:ibm plex sans;font-weight:300;font-size:25px;color:#eee;text-shadow:0 0 6px #000;background:linear-gradient(110deg,rgba(26,115,150,.6) 0%,rgba(26,115,150,.2) 85%,rgba(26,115,150,0) 100%);white-space:nowrap;border-left:6px solid #309aca}.music .line1{display:flex;justify-content:space-between}.music .line2{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.music .header{font-weight:600;font-style:italic;white-space:normal}.music .artist{margin-right:20px}.music .title{margin-left:20px}.music .license{font-size:20px;color:#ccc}#bottom-bar{position:fixed;bottom:0;margin-bottom:20px;font-size:14px;width:100%;overflow:hidden}#ticker-wrap{width:100%;padding-left:100%}@keyframes ticker{0%{transform:translate3d(-20%,0,0)}100%{transform:translate3d(-100%,0,0)}}#ticker{display:inline-block;white-space:nowrap;padding-right:100%;animation-iteration-count:infinite;animation-timing-function:linear;animation-name:ticker;animation-duration:120s}#ticker>.item{display:inline-block;padding:10px 36px;font-family:ibm plex sans;font-size:30px}#ticker>.item>img{height:32px;vertical-align:middle}#ticker>.item>span.user{color:#fff;margin:0 20px;vertical-align:middle}#ticker>.item>span.content{color:#fff;vertical-align:middle}.schedule .left{position:absolute;top:30px;left:60px;width:850px;height:980px}.schedule .right{position:absolute;top:30px;right:60px;width:800px;height:980px}.schedule .panel{background-color:rgba(0,0,0,.6);box-shadow:2px 2px 4px 2px rgba(0,0,0,.6);padding:20px 30px}.schedule .header{width:100%;max-height:100px;margin-bottom:10px;color:#309aca;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ibm plex mono;font-weight:700;font-size:45px;text-shadow:1px 1px 1px #000,2px 2px 8px rgba(0,0,0,.8)}.schedule .content{font-family:ibm plex sans;font-weight:400;font-size:25px;text-shadow:1px 1px 6px #000;color:#eee}.panel.meta{height:300px;width:85%;margin-bottom:30px}.meta .header{margin-bottom:20px}.meta .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;padding-left:20px;padding-top:10px;padding-bottom:15px}.meta .speaker{margin-bottom:10px;font-style:italic;font-size:30px;font-weight:500}.meta .title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:20px;padding-left:20px;overflow:hidden;text-overflow:ellipsis;white-space:normal;font-size:45px;font-weight:600}.meta .start-duration{display:flex;justify-content:space-between;font-size:25px;font-weight:400}.meta .start-duration .duration{font-style:italic}.abstract .header{margin-bottom:20px}.abstract .content{background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);border-left:6px solid #6fad1a;border-bottom:4px solid #6fad1a;padding-left:10px;padding-top:5px;padding-bottom:8px}.abstract .text{display:-webkit-box;-webkit-line-clamp:10;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-word;line-break:anywhere}.list .header{margin-bottom:20px}.list .item{margin-bottom:10px;padding:2px 10px;background:linear-gradient(110deg,rgba(77,120,18,.6) 0%,rgba(77,120,18,.2) 85%,rgba(77,120,18,0) 100%);white-space:nowrap;border-left:6px solid #6fad1a}.item .title{color:#fff;font-size:30px;overflow:hidden;text-overflow:ellipsis}.item .details{font-size:25px;color:#eee}.item .day{position:absolute;left:150px}.item .stage{float:right;text-align:right;font-style:italic}.item .stage:before{padding-right:5px;content:"@"} \ No newline at end of file