Added mobile modal functionality

This commit is contained in:
James Dinh 2022-12-20 18:55:26 -08:00
parent 39f6e76b2f
commit fe8e84dd54
8 changed files with 399 additions and 307 deletions

View File

@ -66,7 +66,7 @@
<img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/> <img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/>
</a> </a>
<div id="banner"> <div id="banner">
<p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule-heading"><span id="event-name">loading...</span></a>in <p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule"><span id="event-name">loading...</span></a>in
<span id="timer">---</span> <span id="timer">---</span>
</p> </p>
</div> </div>
@ -81,7 +81,7 @@
<li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="rules.html">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="navlink" onclick="uncheck('check')" href="./rules">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@ -171,9 +171,9 @@
<li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" href="rules.html" title="Rules">Rules & Liability</a></li> <li><a class="link" href="./rules" title="Rules">Rules & Liability</a></li>
<li><a class="link" href="licenses.html" title="Licenses">Licenses</a></li> <li><a class="link" href="./licenses" title="Licenses">Licenses</a></li>
<li><a class="link" href="contact.html" title="Contact">Contact Form</a></li> <li><a class="link" href="./contact" title="Contact">Contact Form</a></li>
</ul> </ul>
</article> </article>
<article id="footer-location"> <article id="footer-location">

View File

@ -177,7 +177,7 @@ nav ul li {
text-align: center; text-align: center;
align-items: center; align-items: center;
top: 30px; top: 30px;
right: -60%; right: calc(100% / 2);
padding: 2px 7px; padding: 2px 7px;
width: max-content; width: max-content;
opacity: 1; opacity: 1;
@ -233,13 +233,13 @@ nav ul li {
@keyframes blinking { @keyframes blinking {
0% { 0% {
opacity: 1; filter: brightness(1);
} }
50% { 50% {
opacity: 0.8; filter: brightness(0.8);
} }
100% { 100% {
opacity: 1; filter: brightness(1);
} }
} }
@ -1319,8 +1319,7 @@ section {
} }
/* Schedule */ /* Schedule */
#schedule {
#schedule-heading {
padding-top: 70px; padding-top: 70px;
} }
@ -1337,7 +1336,7 @@ section {
padding: 20px 20px; padding: 20px 20px;
margin-top: 20px; margin-top: 20px;
width: 95%; width: 95%;
min-width: 390px; min-width: 370px;
max-width: 650px; max-width: 650px;
background-color: rgb(29, 27, 36); background-color: rgb(29, 27, 36);
border-radius: 10px; border-radius: 10px;
@ -1361,13 +1360,13 @@ section {
.modal { .modal {
border: 1px solid rgb(142, 102, 177); border: 1px solid rgb(142, 102, 177);
background-color: #23262a; background-color: #23262a;
width: 500px; min-width: 350px;
max-width: 500px;
position: fixed; position: fixed;
margin: auto; margin: auto;
top: 50%; top: 50%;
left: 50%; left: 50%;
transform: translate(-50%, -50%); transform: translate(-50%, -50%);
max-width: 100%;
display: none; display: none;
text-align: left; text-align: left;
border-radius: 5px; border-radius: 5px;
@ -2582,8 +2581,6 @@ footer {
} }
#socials { #socials {
width: fit-content;
height: auto;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 10px; margin-top: 10px;

View File

@ -178,7 +178,7 @@ nav ul li {
text-align: center; text-align: center;
align-items: center; align-items: center;
top: 30px; top: 30px;
right: -45px; right: calc(100% / 2);
padding: 2px 7px; padding: 2px 7px;
width: max-content; width: max-content;
opacity: 1; opacity: 1;
@ -212,13 +212,13 @@ nav ul li {
@keyframes blinking { @keyframes blinking {
0% { 0% {
opacity: 1; filter: brightness(1);
} }
50% { 50% {
opacity: 0.8; filter: brightness(0.8);
} }
100% { 100% {
opacity: 1; filter: brightness(1);
} }
} }
@ -922,8 +922,6 @@ footer {
} }
#socials { #socials {
width: fit-content;
height: auto;
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
margin-top: 10px; margin-top: 10px;

View File

@ -80,7 +80,7 @@
<img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/> <img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/>
</a> </a>
<div id="banner"> <div id="banner">
<p id="banner-text"><a class="navlink" id="timer-link" href="#schedule-heading"><span id="event-name">loading...</span></a>in <p id="banner-text"><a class="navlink" id="timer-link" href="#schedule"><span id="event-name">loading...</span></a>in
<span id="timer">---</span> <span id="timer">---</span>
</p> </p>
</div> </div>
@ -95,7 +95,7 @@
<li><a class="navlink" onclick="uncheck('check')" href="#workshops">Workshops</a></li> <li><a class="navlink" onclick="uncheck('check')" href="#workshops">Workshops</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="#prizes">Prizes</a></li> <li><a class="navlink" onclick="uncheck('check')" href="#prizes">Prizes</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="#team">Team</a></li> <li><a class="navlink" onclick="uncheck('check')" href="#team">Team</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="rules.html">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="navlink" onclick="uncheck('check')" href="./rules">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@ -162,7 +162,7 @@
</div> </div>
<a id="next" class="control next"><svg class="slide-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg></a> <a id="next" class="control next"><svg class="slide-button" xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="#ffffff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M9 18l6-6-6-6"/></svg></a>
</div> </div>
<hr><br> <hr id="div-hr"><br>
<span class="caption" id="splash-entrance">Some info on us...</span> <span class="caption" id="splash-entrance">Some info on us...</span>
<div class="splash-container" id="what-GilroyHacks"> <div class="splash-container" id="what-GilroyHacks">
<h2 class="splash-title">What is Gilroy Hacks?</h2> <h2 class="splash-title">What is Gilroy Hacks?</h2>
@ -276,8 +276,17 @@
</div> </div>
</article> </article>
</div> </div>
<!-- <div id="map-article">
<!-- Schedule --> <article id="map-div">
<h2 class="map-title">Location</h2>
<div id="map-container">
<div id="map">Gilroy Library<br>350 W 6th St, Gilroy, CA 95020</div>
</div>
</article>
</div>
</div> -->
</section>
<section id="schedule">
<div id="schedule-title"> <div id="schedule-title">
<h2 id="schedule-heading">Event Schedule</h2> <h2 id="schedule-heading">Event Schedule</h2>
<span class="caption">The official Spring 2023 Hackathon schedule</span> <span class="caption">The official Spring 2023 Hackathon schedule</span>
@ -305,8 +314,8 @@
<!-- EVENTS --> <!-- EVENTS -->
<div class="event start-800 end-800 length-4 empty"></div> <div class="event start-800 end-800 length-4 empty"></div>
<div class="event start-900 end-900 length-4 empty"></div> <div class="event start-900 end-900 length-4 empty"></div>
<div class="event logistics start-1000 end-1000 length-1" onclick="showModal('check-in')">Check In<span>10 - 10:15am</span></div> <div class="event logistics start-1000 end-1000 length-1" onclick="showModal('check-in')">Check In<span>10 - 10:30am</span></div>
<div class="event logistics start-1000 end-1000 length-2" onclick="showModal('opening-ceremony')">Opening Ceremony<span>10:15 - 11am</span></div> <div class="event logistics start-1000 end-1000 length-2" onclick="showModal('opening-ceremony')">Opening Ceremony<span>10:30 - 11am</span></div>
<div class="event hacking start-1000 end-1000 length-1 small" onclick="showModal('hacking-starts')">Hacking starts<span>Start 11am</span></div> <div class="event hacking start-1000 end-1000 length-1 small" onclick="showModal('hacking-starts')">Hacking starts<span>Start 11am</span></div>
<div class="event start-1100 end-1100 length-4 empty"></div> <div class="event start-1100 end-1100 length-4 empty"></div>
<div class="event food start-1200 end-1200 length-4" onclick="showModal('lunch')">Lunch<span>12 - 1pm</span></div> <div class="event food start-1200 end-1200 length-4" onclick="showModal('lunch')">Lunch<span>12 - 1pm</span></div>
@ -514,15 +523,6 @@
</div> </div>
</div> </div>
</div> </div>
<!-- <div id="map-article">
<article id="map-div">
<h2 class="map-title">Location</h2>
<div id="map-container">
<div id="map">Gilroy Library<br>350 W 6th St, Gilroy, CA 95020</div>
</div>
</article>
</div>
</div> -->
</section> </section>
<section id="workshops"> <section id="workshops">
<h2 class="topic">Workshops</h2> <h2 class="topic">Workshops</h2>
@ -834,9 +834,9 @@
<li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" href="rules.html" title="Rules">Rules & Liability</a></li> <li><a class="link" href="./rules" title="Rules">Rules & Liability</a></li>
<li><a class="link" href="licenses.html" title="Licenses">Licenses</a></li> <li><a class="link" href="./licenses" title="Licenses">Licenses</a></li>
<li><a class="link" href="contact.html" title="Contact">Contact Form</a></li> <li><a class="link" href="./contact" title="Contact">Contact Form</a></li>
</ul> </ul>
</article> </article>
<article id="footer-location"> <article id="footer-location">

View File

@ -3,264 +3,313 @@
// document is loaded and DOM is ready // document is loaded and DOM is ready
document.addEventListener('DOMContentLoaded', function(){ document.addEventListener('DOMContentLoaded', function(){
// Email replace // Email replace
function setAttributes(elem, attrs) { function setAttributes(elem, attrs) {
for(var key in attrs) { for(var key in attrs) {
elem.setAttribute(key, attrs[key]); elem.setAttribute(key, attrs[key]);
} }
} }
const tech_emails = document.querySelectorAll('.email-replace-tech'); const tech_emails = document.querySelectorAll('.email-replace-tech');
tech_emails.forEach(entry => { tech_emails.forEach(entry => {
setAttributes(entry, {"href": "mailto:tech" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(entry, {"href": "mailto:tech" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"});
entry.innerHTML = "tech" + "@" + "gilroyhacks.com"; entry.innerHTML = "tech" + "@" + "gilroyhacks.com";
}); });
var aadhavan = document.getElementById("email-replace-aadhavan"); var aadhavan = document.getElementById("email-replace-aadhavan");
setAttributes(aadhavan, {"href": "mailto:aadhavan.magesh" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(aadhavan, {"href": "mailto:aadhavan.magesh" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
aadhavan.innerHTML = "aadhavan.magesh" + "@" + "gmail.com"; aadhavan.innerHTML = "aadhavan.magesh" + "@" + "gmail.com";
var isaac = document.getElementById("email-replace-isaac"); var isaac = document.getElementById("email-replace-isaac");
setAttributes(isaac, {"href": "mailto:ihwang" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(isaac, {"href": "mailto:ihwang" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"});
isaac.innerHTML = "ihwang" + "@" + "gilroyhacks.com"; isaac.innerHTML = "ihwang" + "@" + "gilroyhacks.com";
var steven = document.getElementById("email-replace-steven"); var steven = document.getElementById("email-replace-steven");
setAttributes(steven, {"href": "mailto:stevendinh987" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(steven, {"href": "mailto:stevendinh987" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
steven.innerHTML = "stevendinh987" + "@" + "gmail.com"; steven.innerHTML = "stevendinh987" + "@" + "gmail.com";
var vijay = document.getElementById("email-replace-vijay"); var vijay = document.getElementById("email-replace-vijay");
setAttributes(vijay, {"href": "mailto:vijay" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(vijay, {"href": "mailto:vijay" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"});
vijay.innerHTML = "vijay" + "@" + "gilroyhacks.com"; vijay.innerHTML = "vijay" + "@" + "gilroyhacks.com";
var jonathan = document.getElementById("email-replace-jonathan"); var jonathan = document.getElementById("email-replace-jonathan");
setAttributes(jonathan, {"href": "mailto:jonathantessmann" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(jonathan, {"href": "mailto:jonathantessmann" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
jonathan.innerHTML = "jonathantessmann" + "@" + "gmail.com"; jonathan.innerHTML = "jonathantessmann" + "@" + "gmail.com";
var james = document.getElementById("email-replace-james"); var james = document.getElementById("email-replace-james");
setAttributes(james, {"href": "mailto:james" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(james, {"href": "mailto:james" + "@" + "gilroyhacks.com?subject=Gilroy Hacks", "target": "_blank"});
james.innerHTML = "james" + "@" + "gilroyhacks.com"; james.innerHTML = "james" + "@" + "gilroyhacks.com";
var ezra = document.getElementById("email-replace-ezra"); var ezra = document.getElementById("email-replace-ezra");
setAttributes(ezra, {"href": "mailto:ezrabridger27" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(ezra, {"href": "mailto:ezrabridger27" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
ezra.innerHTML = "ezrabridger27" + "@" + "gmail.com"; ezra.innerHTML = "ezrabridger27" + "@" + "gmail.com";
var mark = document.getElementById("email-replace-mark"); var mark = document.getElementById("email-replace-mark");
setAttributes(mark, {"href": "mailto:markshen00" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(mark, {"href": "mailto:markshen00" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
mark.innerHTML = "markshen00" + "@" + "gmail.com"; mark.innerHTML = "markshen00" + "@" + "gmail.com";
var bryce = document.getElementById("email-replace-bryce"); var bryce = document.getElementById("email-replace-bryce");
setAttributes(bryce, {"href": "mailto:brycemankovsky" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"}); setAttributes(bryce, {"href": "mailto:brycemankovsky" + "@" + "gmail.com?subject=Gilroy Hacks", "target": "_blank"});
bryce.innerHTML = "brycemankovsky" + "@" + "gmail.com"; bryce.innerHTML = "brycemankovsky" + "@" + "gmail.com";
// Scroll Element // Scroll Element
// Creating an observer when the user views that element // Creating an observer when the user views that element
const observer = new IntersectionObserver(entries => { const observer = new IntersectionObserver(entries => {
// Loop over the entries // Loop over the entries
entries.forEach(entry => { entries.forEach(entry => {
// If the element is visible // If the element is visible
if (entry.isIntersecting) { if (entry.isIntersecting) {
// Add the animation class // Add the animation class
entry.target.classList.add('slide-animation'); entry.target.classList.add('slide-animation');
} }
}); });
}); });
const observer_prize_2 = new IntersectionObserver(entries => { const observer_prize_2 = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-2'); entry.target.classList.add('slide-animation-prize-2');
} }
}); });
}); });
const observer_prize_1 = new IntersectionObserver(entries => { const observer_prize_1 = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-1'); entry.target.classList.add('slide-animation-prize-1');
} }
}); });
}); });
const observer_prize_3 = new IntersectionObserver(entries => { const observer_prize_3 = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-prize-3'); entry.target.classList.add('slide-animation-prize-3');
} }
}); });
}); });
const observer_team_img = new IntersectionObserver(entries => { const observer_team_img = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-card-img'); entry.target.classList.add('slide-animation-card-img');
} }
}); });
}); });
const observer_team_desc = new IntersectionObserver(entries => { const observer_team_desc = new IntersectionObserver(entries => {
entries.forEach(entry => { entries.forEach(entry => {
if (entry.isIntersecting) { if (entry.isIntersecting) {
entry.target.classList.add('slide-animation-card-desc'); entry.target.classList.add('slide-animation-card-desc');
} }
}); });
}); });
const workshop_entry = document.querySelectorAll('.workshop-entry'); const workshop_entry = document.querySelectorAll('.workshop-entry');
workshop_entry.forEach(entry => { workshop_entry.forEach(entry => {
observer.observe(entry); observer.observe(entry);
}); });
const rules_obj = document.querySelectorAll('.rules-box'); const rules_obj = document.querySelectorAll('.rules-box');
rules_obj.forEach(entry => { rules_obj.forEach(entry => {
observer.observe(entry); observer.observe(entry);
}); });
const entries = document.querySelectorAll('.team-picture'); const entries = document.querySelectorAll('.team-picture');
entries.forEach(entry => { entries.forEach(entry => {
observer_team_img.observe(entry); observer_team_img.observe(entry);
}); });
const entries_desc = document.querySelectorAll('.team-description'); const entries_desc = document.querySelectorAll('.team-description');
entries_desc.forEach(entry => { entries_desc.forEach(entry => {
observer_team_desc.observe(entry); observer_team_desc.observe(entry);
}); });
const prize_entries = document.querySelectorAll('.prize-column'); const prize_entries = document.querySelectorAll('.prize-column');
prize_entries.forEach(entry => { prize_entries.forEach(entry => {
observer.observe(entry); observer.observe(entry);
}); });
const prize_entries_edge = document.querySelectorAll('.podium-edge'); const prize_entries_edge = document.querySelectorAll('.podium-edge');
prize_entries_edge.forEach(entry => { prize_entries_edge.forEach(entry => {
observer.observe(entry); observer.observe(entry);
}); });
// Add class animations to these elements // Add class animations to these elements
let elements_id = [ let elements_id = [
'#event-title', '#event-title',
'#headline-recap', '#headline-recap',
'#splash-entrance', '#div-hr',
'#what-GilroyHacks', '#splash-entrance',
'#why-GilroyHacks', '#what-GilroyHacks',
'#who-GilroyHacks', '#why-GilroyHacks',
'#slide-wrapper-main', '#who-GilroyHacks',
'#prev', '#slide-wrapper-main',
'#next', '#prev',
'#signup-title', '#next',
'#steps-card', '#signup-title',
'#sponsor-title', '#steps-card',
'#sponsor-container', '#sponsor-title',
'#schedule-title', '#sponsor-container',
'#schedule-pa', '#schedule-title',
'#workshops-description', '#schedule-pa',
'#second-podium', '#workshops-description',
'#first-podium', '#second-podium',
'#third-podium', '#first-podium',
'#chart', '#third-podium',
'#prize-box', '#chart',
'#administration', '#prize-box',
'#logistics', '#administration',
'#outreach', '#logistics',
'#tech', '#outreach',
'#marketing' '#tech',
]; '#marketing'
elements_id.forEach(entry => { ];
var thing = document.querySelector(entry) elements_id.forEach(entry => {
observer.observe(document.querySelector(entry)); var thing = document.querySelector(entry)
}); observer.observe(document.querySelector(entry));
});
observer_prize_2.observe(document.querySelector('#second-place')); observer_prize_2.observe(document.querySelector('#second-place'));
observer_prize_1.observe(document.querySelector('#first-place')); observer_prize_1.observe(document.querySelector('#first-place'));
observer_prize_3.observe(document.querySelector('#third-place')); observer_prize_3.observe(document.querySelector('#third-place'));
// Scroll Nav // Scroll Nav
// Toggle the .pa-fixed-header class when the user // Toggle the .pa-fixed-header class when the user
// scroll 100px // scroll 100px
window.onscroll = () => {scrollNavbar()}; window.onscroll = () => {scrollNavbar()};
var scrollNavbar = () => { var scrollNavbar = () => {
// Target elements // Target elements
const navBar = document.getElementById("navBar"); const navBar = document.getElementById("navBar");
const links = document.querySelectorAll("#navBar a"); const links = document.querySelectorAll("#navBar a");
if (document.documentElement.scrollTop > 20) { if (document.documentElement.scrollTop > 20) {
navBar.classList.add("pa-fixed-header"); navBar.classList.add("pa-fixed-header");
// Change the color of links on scroll // Change the color of links on scroll
for (let i = 0; i < links.length; i++) { for (let i = 0; i < links.length; i++) {
const element = links[i]; const element = links[i];
element.classList.add('text-black'); element.classList.add('text-black');
}
} else {
navBar.classList.remove("pa-fixed-header");
// Change the color of links back to default
for (let i = 0; i < links.length; i++) {
const element = links[i];
element.classList.remove('text-black');
}
}
}
// Timer
// SRC: W3Schools https://www.w3schools.com/howto/howto_js_countdown.asp
// Set the date we're counting down to
const events = {
"Opening Ceremony": "Apr 15, 2023 10:00:00",
"Lunch": "Apr 15, 2023 12:00:00",
"Web Dev Workshop": "Apr 15, 2023 13:00:00",
"[REDACTED] Workshop": "Apr 15, 2023 15:00:00",
"Kahoot": "Apr 15, 2023 17:00:00",
"Hacking Ends": "Apr 16, 2023 14:00:00",
"Project Presentations": "Apr 16, 2023 14:30:00",
"Awards Ceremony" : "Apr 16, 2023 16:30:00"
}
var countDownDate = 0;
// Get today's date and time
var now = new Date().getTime();
// Test for the current event
for (const event in events) {
var testDate = new Date(events[event]).getTime();
if (testDate > countDownDate && now < testDate) {
countDownDate = testDate;
document.getElementById("event-name").innerHTML = event;
document.styleSheets[0].addRule('#timer:after','content: "'+ events[event] +'";');
break;
} }
} }
else {
navBar.classList.remove("pa-fixed-header");
// Update the count down every 1 second // Change the color of links back to default
var x = setInterval(function() { for (let i = 0; i < links.length; i++) {
const element = links[i];
element.classList.remove('text-black');
}
}
}
// Find the distance between now and the count down date // Timer
var distance = countDownDate - now; // SRC: W3Schools https://www.w3schools.com/howto/howto_js_countdown.asp
// Set the date we're counting down to
const events = {
"Opening Ceremony":
{
"start": "Apr 15, 2023 10:30:00",
"end": "Apr 15, 2023 11:00:00",
"tooltip": "Apr 15, 10:30am"
},
"Lunch":
{
"start": "Apr 15, 2023 12:00:00",
"end": "Apr 15, 2023 13:00:00",
"tooltip": "Apr 15, 12:00am"
},
"Web Dev Workshop":
{
"start": "Apr 15, 2023 13:00:00",
"end": "Apr 15, 2023 14:00:00",
"tooltip": "Apr 15, 1:00pm"
},
"[REDACTED] Workshop":
{
"start": "Apr 15, 2023 15:00:00",
"end": "Apr 15, 2023 16:00:00",
"tooltip": "Apr 15, 3:00pm"
},
"Kahoot":
{
"start": "Apr 15, 2023 17:00:00",
"end": "Apr 15, 2023 18:00:00",
"tooltip": "Apr 15, 5:00pm"
},
"Hacking Ends":
{
"start": "Apr 16, 2023 14:00:00",
"end": "Apr 16, 2023 14:00:00",
"tooltip": "Apr 16, 2:00pm"
},
"Project Presentations":
{
"start": "Apr 16, 2023 14:30:00",
"end": "Apr 16, 2023 16:00:00",
"tooltip": "Apr 16, 2:30pm"
},
"Awards Ceremony" :
{
"start": "Apr 16, 2023 16:30:00",
"end": "Apr 16, 2023 17:00:00",
"tooltip": "Apr 16, 4:30pm"
}
}
var countDownDate = 0;
// Get today's date and time
var now = new Date().getTime();
var testDateStart, testDateEnd;
// Time calculations for days, hours, minutes and seconds // Test for the current event
var days = Math.floor(distance / (1000 * 60 * 60 * 24)); for (const event in events) {
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); testDateStart = new Date(events[event]["start"]).getTime();
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); testDateEnd = new Date(events[event]["end"]).getTime();
// var seconds = Math.floor((distance % (1000 * 60)) / 1000); if (testDateEnd > countDownDate && now < testDateEnd) {
countDownDate = testDateStart;
document.getElementById("event-name").innerHTML = event;
document.styleSheets[0].addRule('#timer:after','content: "'+ events[event]["tooltip"] +'";');
break;
}
}
// If the count down is finished, write some text // Update the count down every 1 second
if (distance < 0) { var x = setInterval(function() {
clearInterval(x);
document.getElementById("timer").innerHTML = "---"; // Find the distance between now and the count down date
document.getElementById("event-name").innerHTML = "Event Ended"; var distance = countDownDate - now;
}
// Display the result in the element with id="timer" // Time calculations for days, hours, minutes and seconds
else if (days != 0) { var days = Math.floor(distance / (1000 * 60 * 60 * 24));
document.getElementById("timer").innerHTML = days + "d " + hours + "h"; var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
} var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
else if (hours != 0) { var seconds = Math.floor((distance % (1000 * 60)) / 1000);
document.getElementById("timer").innerHTML = hours + "h " + minutes + "m";
} // If the count down is finished, write some text
else { if (testDateStart < now && now < testDateEnd) {
document.getElementById("timer").innerHTML = minutes + "m"; document.getElementById("timer").innerHTML = "NOW";
} }
}, 1000); // Display the result in the element with id="timer"
else if (days != 0) {
document.getElementById("timer").innerHTML = days + "d " + hours + "h";
}
else if (hours != 0) {
document.getElementById("timer").innerHTML = hours + "h " + minutes + "m";
}
else if (minutes != 0) {
document.getElementById("timer").innerHTML = minutes + "m";
}
else if (seconds != 0) {
document.getElementById("timer").innerHTML = seconds + "s";
}
else {
clearInterval(x);
document.getElementById("timer").innerHTML = "---";
document.getElementById("event-name").innerHTML = "Event Ended";
}
}, 1000);
}); });
// page is fully loaded, including all frames, objects and images // page is fully loaded, including all frames, objects and images

View File

@ -48,32 +48,74 @@ const tech_emails = document.querySelectorAll('.email-replace-tech');
// SRC: W3Schools https://www.w3schools.com/howto/howto_js_countdown.asp // SRC: W3Schools https://www.w3schools.com/howto/howto_js_countdown.asp
// Set the date we're counting down to // Set the date we're counting down to
const events = { const events = {
"Opening Ceremony": "Apr 15, 2023 10:00:00", "Opening Ceremony":
"Lunch": "Apr 15, 2023 12:00:00", {
"Web Dev Workshop": "Apr 15, 2023 13:00:00", "start": "Apr 15, 2023 10:30:00",
"[REDACTED] Workshop": "Apr 15, 2023 15:00:00", "end": "Apr 15, 2023 11:00:00",
"Kahoot": "Apr 15, 2023 17:00:00", "tooltip": "Apr 15, 10:30am"
"Hacking Ends": "Apr 16, 2023 14:00:00", },
"Project Presentations": "Apr 16, 2023 14:30:00", "Lunch":
"Awards Ceremony" : "Apr 16, 2023 16:30:00" {
} "start": "Apr 15, 2023 12:00:00",
var countDownDate = 0; "end": "Apr 15, 2023 13:00:00",
// Get today's date and time "tooltip": "Apr 15, 12:00am"
var now = new Date().getTime(); },
"Web Dev Workshop":
{
"start": "Apr 15, 2023 13:00:00",
"end": "Apr 15, 2023 14:00:00",
"tooltip": "Apr 15, 1:00pm"
},
"[REDACTED] Workshop":
{
"start": "Apr 15, 2023 15:00:00",
"end": "Apr 15, 2023 16:00:00",
"tooltip": "Apr 15, 3:00pm"
},
"Kahoot":
{
"start": "Apr 15, 2023 17:00:00",
"end": "Apr 15, 2023 18:00:00",
"tooltip": "Apr 15, 5:00pm"
},
"Hacking Ends":
{
"start": "Apr 16, 2023 14:00:00",
"end": "Apr 16, 2023 14:00:00",
"tooltip": "Apr 16, 2:00pm"
},
"Project Presentations":
{
"start": "Apr 16, 2023 14:30:00",
"end": "Apr 16, 2023 16:00:00",
"tooltip": "Apr 16, 2:30pm"
},
"Awards Ceremony" :
{
"start": "Apr 16, 2023 16:30:00",
"end": "Apr 16, 2023 17:00:00",
"tooltip": "Apr 16, 4:30pm"
}
}
var countDownDate = 0;
// Get today's date and time
var now = new Date().getTime();
var testDateStart, testDateEnd;
// Test for the current event // Test for the current event
for (const event in events) { for (const event in events) {
var testDate = new Date(events[event]).getTime(); testDateStart = new Date(events[event]["start"]).getTime();
if (testDate > countDownDate && now < testDate) { testDateEnd = new Date(events[event]["end"]).getTime();
countDownDate = testDate; if (testDateEnd > countDownDate && now < testDateEnd) {
document.getElementById("event-name").innerHTML = event; countDownDate = testDateStart;
document.styleSheets[0].addRule('#timer:after','content: "'+ events[event] +'";'); document.getElementById("event-name").innerHTML = event;
break; document.styleSheets[0].addRule('#timer:after','content: "'+ events[event]["tooltip"] +'";');
} break;
} }
}
// Update the count down every 1 second // Update the count down every 1 second
var x = setInterval(function() { var x = setInterval(function() {
// Find the distance between now and the count down date // Find the distance between now and the count down date
var distance = countDownDate - now; var distance = countDownDate - now;
@ -82,13 +124,11 @@ var x = setInterval(function() {
var days = Math.floor(distance / (1000 * 60 * 60 * 24)); var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60)); var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60)); var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
// var seconds = Math.floor((distance % (1000 * 60)) / 1000); var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// If the count down is finished, write some text // If the count down is finished, write some text
if (distance < 0) { if (testDateStart < now && now < testDateEnd) {
clearInterval(x); document.getElementById("timer").innerHTML = "NOW";
document.getElementById("timer").innerHTML = "---";
document.getElementById("event-name").innerHTML = "Event Ended";
} }
// Display the result in the element with id="timer" // Display the result in the element with id="timer"
else if (days != 0) { else if (days != 0) {
@ -97,7 +137,15 @@ var x = setInterval(function() {
else if (hours != 0) { else if (hours != 0) {
document.getElementById("timer").innerHTML = hours + "h " + minutes + "m"; document.getElementById("timer").innerHTML = hours + "h " + minutes + "m";
} }
else { else if (minutes != 0) {
document.getElementById("timer").innerHTML = minutes + "m"; document.getElementById("timer").innerHTML = minutes + "m";
} }
else if (seconds != 0) {
document.getElementById("timer").innerHTML = seconds + "s";
}
else {
clearInterval(x);
document.getElementById("timer").innerHTML = "---";
document.getElementById("event-name").innerHTML = "Event Ended";
}
}, 1000); }, 1000);

View File

@ -64,7 +64,7 @@
<img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/> <img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/>
</a> </a>
<div id="banner"> <div id="banner">
<p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule-heading"><span id="event-name">loading...</span></a>in <p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule"><span id="event-name">loading...</span></a>in
<span id="timer">---</span> <span id="timer">---</span>
</p> </p>
</div> </div>
@ -79,7 +79,7 @@
<li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="rules.html">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="navlink" onclick="uncheck('check')" href="./rules">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@ -326,9 +326,9 @@
<li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" href="rules.html" title="Rules">Rules & Liability</a></li> <li><a class="link" href="./rules" title="Rules">Rules & Liability</a></li>
<li><a class="link" href="licenses.html" title="Licenses">Licenses</a></li> <li><a class="link" href="./licenses" title="Licenses">Licenses</a></li>
<li><a class="link" href="contact.html" title="Contact">Contact Form</a></li> <li><a class="link" href="./contact" title="Contact">Contact Form</a></li>
</ul> </ul>
</article> </article>
<article id="footer-location"> <article id="footer-location">

View File

@ -64,7 +64,7 @@
<img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/> <img id="nav-logo" src="img/Gilroy_Hacks_Banner_Spring.png" alt="logo"/>
</a> </a>
<div id="banner"> <div id="banner">
<p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule-heading"><span id="event-name">loading...</span></a>in <p id="banner-text"><a class="navlink" id="timer-link" href="./#schedule"><span id="event-name">loading...</span></a>in
<span id="timer">---</span> <span id="timer">---</span>
</p> </p>
</div> </div>
@ -79,7 +79,7 @@
<li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#workshops">Workshops</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#prizes">Prizes</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li> <li><a class="navlink" onclick="uncheck('check')" href="./#team">Team</a></li>
<li><a class="navlink" onclick="uncheck('check')" href="rules.html">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="navlink" onclick="uncheck('check')" href="./rules">Rules<svg id="nav-icon" class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
</ul> </ul>
</div> </div>
</nav> </nav>
@ -240,9 +240,9 @@
<li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('02'); save()" target="_blank" href="https://discord.gg/nkTDKMcYbr" title="Discord Invite Link">Discord<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" onclick="check('01'); save();" target="_blank" href="https://forms.gle/coK7q43RwBV2f15i7">Signup Form<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li> <li><a class="link" target="_blank" href="https://sccl.bibliocommons.com/events/62acbe100685eb4200c37c48" title="Gilroy Library Event">Library Event Entry<svg class="new-tab-icon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2022 Fonticons, Inc. --><path d="M384 320c-17.67 0-32 14.33-32 32v96H64V160h96c17.67 0 32-14.32 32-32s-14.33-32-32-32L64 96c-35.35 0-64 28.65-64 64V448c0 35.34 28.65 64 64 64h288c35.35 0 64-28.66 64-64v-96C416 334.3 401.7 320 384 320zM488 0H352c-12.94 0-24.62 7.797-29.56 19.75c-4.969 11.97-2.219 25.72 6.938 34.88L370.8 96L169.4 297.4c-12.5 12.5-12.5 32.75 0 45.25C175.6 348.9 183.8 352 192 352s16.38-3.125 22.62-9.375L416 141.3l41.38 41.38c9.156 9.141 22.88 11.84 34.88 6.938C504.2 184.6 512 172.9 512 160V24C512 10.74 501.3 0 488 0z"/></svg></a></li>
<li><a class="link" href="rules.html" title="Rules">Rules & Liability</a></li> <li><a class="link" href="./rules" title="Rules">Rules & Liability</a></li>
<li><a class="link" href="licenses.html" title="Licenses">Licenses</a></li> <li><a class="link" href="./licenses" title="Licenses">Licenses</a></li>
<li><a class="link" href="contact.html" title="Contact">Contact Form</a></li> <li><a class="link" href="./contact" title="Contact">Contact Form</a></li>
</ul> </ul>
</article> </article>
<article id="footer-location"> <article id="footer-location">