4 <!-- Place banner here -->
6 <iframe src=
"//static.libreplanet.org/nosvn/banners/2021fundraiser-spring/" style=
"width: 100%; height: 150px; display: block; margin: 0; border: 0 none; overflow: hidden;"></iframe>
8 <!--<div class="lp-archived">
9 <p>This is an archive of a past conference. Subscribe below to be notified when the next LibrePlanet is announced.</p>
11 <!-- Place modal window here -->
13 <!-- Begin fsf-modal-window-elem campaign element -->
14 <link type=
"text/css" rel=
"stylesheet" href=
"https://static.libreplanet.org/nosvn/fonts/fa/css/font-awesome.min.css">
16 #fsf-modal-window-elem-container div {
17 -webkit-box-sizing: border-box;
18 -moz-box-sizing: border-box;
19 box-sizing: border-box;
22 @media screen and (min-width:
700px) {
24 #fsf-modal-window-elem-outer-v-center {
30 #fsf-modal-window-elem-inner-v-center {
32 vertical-align: middle;
35 #fsf-modal-window-elem {
41 #fsf-modal-window-elem-right-column {
48 #fsf-modal-window-elem-left-column {
54 #fsf-modal-window-elem-text {
59 @media screen and (max-width:
699px) {
61 #fsf-modal-window-elem {
63 -ms-box-orient: horizontal;
68 display: -webkit-flex;
71 -webkit-flex-flow: row wrap;
75 #fsf-modal-window-elem {
83 #fsf-modal-window-elem-right-column {
88 #fsf-modal-window-elem-left-column {
93 #fsf-modal-window-elem-text {
98 @media screen and (max-width:
360px) {
100 font-size:
25px !important;
104 #fsf-modal-window-elem-container {
112 background-color: rgba(
0,
0,
0,
0.8);
117 #fsf-modal-window-elem a, a:active, a:focus {
122 #fsf-modal-window-elem {
127 border-color: #
3a5b2c;
129 box-shadow:
0px
0px
10px #
111111;
130 background-color: #fdf7b9;
133 #fsf-modal-window-elem-header {
137 #fsf-modal-window-elem-header h2 {
138 font-family: sans-serif,
"Helvetica",Arial;
142 /* text-shadow:
0px
0px
8px #
00378c; */
143 padding-bottom:
20px;
149 #fsf-modal-window-elem-close-button {
159 #fsf-modal-window-elem-close-button:hover {
163 #fsf-modal-window-elem-right-column {
165 -webkit-user-select: none;
166 -moz-user-select: none;
167 -ms-user-select: none;
171 #fsf-modal-window-elem-buttons div {
173 line-height:
53.333px;
179 #fsf-modal-window-elem-buttons {
182 #fsf-modal-window-elem-buttons a {
188 text-decoration: none;
189 font-family: sans-serif,
"Helvetica",Arial;
193 #fsf-modal-window-elem-maybe-later {
198 #fsf-modal-window-elem-maybe-later a {
201 text-decoration: none;
204 font-family: sans-serif,
"Helvetica",Arial;
208 #fsf-modal-window-elem-text {
211 #fsf-modal-window-elem-text a {
214 text-decoration: none;
217 #fsf-modal-window-elem-text a:hover {
221 #fsf-modal-window-elem-text a:focus {
225 #fsf-modal-window-elem-text a:active {
229 #fsf-modal-window-elem-text p {
230 font-family: sans-serif,
"Helvetica",Arial;
233 margin:
0px
0px
10px
0px;
236 /* text-shadow:
0px
0px
8px #
004067;*/
239 <div id=
"fsf-modal-window-elem-container" style=
"display: none;">
240 <div id=
"fsf-modal-window-elem-outer-v-center">
241 <div id=
"fsf-modal-window-elem-inner-v-center">
242 <div id=
"fsf-modal-window-elem">
243 <div id=
"fsf-modal-window-elem-header">
244 <div id=
"fsf-modal-window-elem-close-button" onclick=
"//fsfModalWindowElemDontShowForAWhile();">
245 <i class=
"fa fa-close">​</i>
247 <h2>Move freedom forward with a donation to the FSF!
</h2>
249 <div id=
"fsf-modal-window-elem-left-column">
250 <div id=
"fsf-modal-window-elem-text">
254 Free software has become a vital global movement for user autonomy.
260 Without free software, we cannot and will not have a free society.
<b>We rely on donations from people like you, who use and appreciate our work.
</b> Fuel our journey forward, and help us reach our ultimate destination: full software freedom.
266 Support us with a donation today, and help us achieve our summer financial goal of USD
50,
000 before July
16.
270 <p><span id=
"fsf-modal-window-text-link"><a href=
"https://www.fsf.org/appeal?mtm_campaign=summer21&mtm_kwd=learn-more&mtm_source=modal">Read more
</a> |
<a href=
"https://my.fsf.org/join?mtm_campaign=summer21&mtm_source=modal">Join
</a></span></p>
274 <div id=
"fsf-modal-window-elem-right-column">
275 <div id=
"fsf-modal-window-elem-buttons" style=
"border-radius: 20px; box-shadow: 0px 0px 5px #0c2b2b;">
276 <div style=
"background-color:#8c9e1e; border-top-right-radius: 20px; border-top-left-radius: 20px;">
277 <a style=
"text-shadow: 0px 0px 6px #d5e471;" href=
"https://my.fsf.org/join?mtm_campaign=summer21&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-check-circle"> </i>Join
</a>
280 <div style=
"background-color:#fdf7b9">
281 <a href=
"https://my.fsf.org/renew?mtm_campaign=summer21&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-refresh"> </i>Renew
</a>
284 <div style=
"background-color:#3a5b2c; border-bottom-right-radius: 20px; border-bottom-left-radius: 20px; margin-bottom: 2px">
285 <a style=
"text-shadow: 0px 0px 6px #c2d831;" href=
"https://my.fsf.org/donate?mtm_campaign=summer21&mtm_source=modal" onclick=
"//fsfModalWindowElemFollowedLink();"><i class=
"fa fa-money"> </i>Donate
</a>
293 // @license magnet:?xt=urn:btih:
1f739d935676111cfff4b4693e3816e664797050&dn=gpl-
3.0.txt GPL-
3.0
295 // Licensed GPLv3-or-later by Andrew Engelbrecht
297 var startTime, endTime, switchTextTime;
299 startTime = new Date('
2021-
06-
15T04:
00:
00Z');
300 switchTextTime = new Date('
2021-
08-
17T04:
00:
00Z');
301 // endTime is unused.
302 endTime = new Date('
2021-
08-
17T04:
00:
00Z');
304 // Possibly switch the text that is displayed in the modal window, depending
305 // upon the current date.
306 function fsfModalWindowElemMaybeSwitchText () {
311 if (now.getTime() < switchTextTime.getTime()) {
312 return; // Do not switch the text
316 document.getElementById(
"fsf-modal-window-elem-text").innerHTML =' \
318 <p>Free software has become a vital global movement for user autonomy.<\/p
><p>Without free software, we cannot and will not have a free society.
<b>We rely on donations from people like you, who use and appreciate our work.<\/b
> Fuel our journey forward, and help us reach our ultimate destination: full software freedom.<\/p
><p>Support us with a donation today, and help us achieve our summer financial goal of USD
50,
000 before July
16.<\/p
> \
320 <p><span id=
"fsf-modal-window-text-link"><a href=
"https://www.fsf.org/appeal?mtm_campaign=summer21&mtm_kwd=learn-more&mtm_source=modal">Read more<\/a
> |
<a href=
"https://my.fsf.org/join?mtm_campaign=summer21&mtm_source=modal">Join<\/a
><\/span
><\/p
>';
323 // Show fsf-modal-window-elem if it has not been previously closed by
324 // the user, nor recently hit
"maybe later",
325 // and the campaign is still happening
326 function fsfModalWindowElemMaybeShow () {
328 var pattern, noShowFsfModalWindowElementP, now;
330 // See if cookie says not to show element
331 pattern = /showFsfSpring2021FundraiserModalWindowElementP\s*=\s*false/;
332 noShowFsfModalWindowElementP = pattern.test(document.cookie);
334 //// Uncomment here to enable modal window hiding
335 if (!noShowFsfModalWindowElementP) {
336 setTimeout(function () {
337 // display the element
338 document.getElementById(
"fsf-modal-window-elem-container").style.
display=
"block";
343 // Call this first to set the proper text.
344 fsfModalWindowElemMaybeSwitchText();
345 // Check if appeal is the url.
346 if (window.location.href.indexOf(
"appeal") == -
1) {
347 // Call this right away to avoid flicker.
348 fsfModalWindowElemMaybeShow();
351 // Get the time `plusDays` in the future.
352 // This can be a fraction.
353 function daysInFuture (plusDays) {
357 future = new Date(now.getTime() + Math.floor(
1000 *
60 *
60 *
24 * plusDays));
358 return future.toGMTString();
361 // Hide the fsf-modal-window-elem
362 function fsfModalWindowElemHide () {
363 document.getElementById(
"fsf-modal-window-elem-container").style.
display=
"none";
366 // Optionally hide elem and set a cookie to keep the fsf-modal-window-elem hidden for the next `forDays`.
367 function fsfModalWindowElemDontShowForDays (forDays, hideNow) {
368 if (hideNow === true) {
369 fsfModalWindowElemHide();
371 //document.cookie =
"showFsfSpring2021FundraiserModalWindowElementP=false; path=/; domain=.fsf.org; expires=" + daysInFuture(forDays);
372 document.cookie =
"showFsfSpring2021FundraiserModalWindowElementP=false; path=/; SameSite=Strict; Secure; expires=" + daysInFuture(forDays);
375 // Hide the element from now to two weeks after closing it
376 function fsfModalWindowElemDontShowForAWhile () {
377 fsfModalWindowElemDontShowForDays(
7, true);
380 // Keep the element visible for now, but do not show it for a while
381 function fsfModalWindowElemFollowedLink () {
382 fsfModalWindowElemDontShowForDays(
14, false);
385 // Check if visiting appeal page.
386 if (window.location.href.indexOf(
"appeal")
> -
1) {
387 fsfModalWindowElemDontShowForAWhile();
390 // Close popup if user clicks trasparent part
391 document.getElementById(
"fsf-modal-window-elem-container").addEventListener(
"click", function(event){
392 fsfModalWindowElemDontShowForAWhile();
395 // Do not close popup if clicking non-trasparent part (with the text and buttons)
396 document.getElementById(
"fsf-modal-window-elem").addEventListener(
"click", function(event){
397 event.stopPropagation();
400 // Close popup if user clicks X icon
401 document.getElementById(
"fsf-modal-window-elem-close-button").addEventListener(
"click", function(event){
402 fsfModalWindowElemDontShowForAWhile();
405 // Disable popup if user clicks one of the main buttons
406 document.getElementById(
"fsf-modal-window-elem-buttons").addEventListener(
"click", function(event){
407 fsfModalWindowElemFollowedLink();
410 // Disable popup if user clicks one of the
"Read more" link
411 document.getElementById(
"fsf-modal-window-text-link").addEventListener(
"click", function(event){
412 fsfModalWindowElemFollowedLink();
415 // Close popup if user presses escape key
416 window.addEventListener(
"keydown", function (event) {
419 fsfModalWindowElemDontShowForAWhile();
428 <!-- End fsf-modal-window-elem campaign element -->
430 <div id=
"wrapper"> <!-- start of wrapper -->
431 <div class=
"lp-banner hidden-xs"> <!--start of lp banner -->
432 <div class=
"container"> <!-- start of container -->
434 <div class=
"lp-head"> <!-- start of lp header -->
435 <div class=
"lp-logo col-sm-3 col-xs-5">
437 <img src=
"/2021/assets/img/logo.svg"
438 class=
"img-responsive"
439 alt=
"[ LibrePlanet 2021 ]" />
442 <div class=
"lp-date-place col-sm-5 col-xs-2">
443 <!-- Heads up! When updating this date and place information,
444 remember to update it in the small
445 screen navbar too (see below) -->
446 <p><br><strong>Online
<br />
447 March
20-
21,
2021</strong></p>
449 <!-- #top-right-desktop start -->
450 <!--#include virtual="/2021/includes/register-now.html"-->
451 <!-- #top-right-desktop end -->
452 <!-- #top-right-desktop start -->
453 <!--#include virtual="/2021/includes/join-list.html"-->
454 <!-- #top-right-desktop end -->
455 </div><!-- end of lp header -->
458 </div> <!-- end of header container -->
459 </div> <!-- end of lp banner -->
461 <img class=
"astronaut" src=
"/2021/assets/img/astronaut.png" alt=
"An astronaut floating above LibrePlanet.">
463 <!-- start nav for small screens -->
464 <nav class=
"navbar navbar-default visible-xs">
465 <div class=
"container-fluid">
466 <!-- Brand and toggle get grouped for better mobile display -->
467 <div class=
"navbar-header">
468 <button type=
"button" class=
"navbar-toggle collapsed" data-toggle=
"collapse"
469 data-target=
"#lp-navbar-collapse" aria-expanded=
"false">
470 <span class=
"sr-only">Toggle navigation
</span>
471 <span class=
"icon-bar"></span>
472 <span class=
"icon-bar"></span>
473 <span class=
"icon-bar"></span>
475 <a class=
"navbar-brand" href=
"/2021/">
476 <img src=
"/2021/assets/img/logo.svg"
477 style=
"max-width: 100px"
478 class=
"img-responsive"
479 alt=
"[ LibrePlanet 2021 ]" />
481 <p class=
"navbar-text">
482 <!-- Heads up! When updating date place, remember to
483 update it in the lp banner too (see above) -->
484 Online
<br />March
20 &
21st,
2021
488 <div class=
"collapse navbar-collapse" id=
"lp-navbar-collapse">
490 <ul class=
"nav navbar-nav">
491 <!--#include virtual="/2021/includes/nav-list-1.html"-->
494 <ul class=
"nav navbar-nav">
495 <!--#include virtual="/2021/includes/nav-list-2.html"-->
497 </div><!-- navbar-collapse end -->
498 </div><!-- navbar container-fluid end -->
500 <!-- end nav for small screens -->