gilroyhacks.com/css/general.css
2022-07-30 02:22:47 -06:00

2397 lines
38 KiB
CSS

/*
Gilroy Hacks Website Source Code -> CSS (https://gilroyhacks.com)
Web-Designed by James Dinh ᓚᘏᗢ from scratch using HTML, CSS, and JS
For more info, contact jamesdinh77 (at) protonmail (dot) com
Copyright Disclaimer: This Source Code is Copyright (c) 2022 Gilroy Hacks All Rights Reserved.
*/
html {
scroll-behavior: smooth;
}
/* Nav */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
nav {
height: 59px;
width: 100%;
top: 0;
left: 0;
position: fixed;
flex-wrap: nowrap;
z-index: 100;
}
nav * {
padding: 0;
margin: 0px 5px;
list-style: none;
box-sizing: border-box;
z-index: 100;
text-decoration: none;
}
#nav-logo {
height: 50px;
width: 258px;
margin: 5px 0 0;
}
#nav-logo:hover {
transform: scale(1.01);
transition: 0.5s;
}
#nav-logo-a {
position: relative;
margin: 0;
margin-left: 10px;
}
nav ul {
float: right;
margin-right: 20px;
}
nav ul li {
display: inline-block;
line-height: 30px;
margin: 10px 7px;
padding: 3px 5px;
cursor: pointer;
}
.navlink {
color:rgb(233, 203, 104);
font-size: 18px;
text-decoration: none;
position: relative;
}
.navlink.active,a:hover {
color: rgba(233, 203, 104, 0.774);
transition: .5s;
}
.navlink::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0.1em;
background-color: hotpink;
opacity: 1;
transition: opacity 300ms, transform 300ms;
transform: scale(0);
transform-origin: center;
}
.navlink:hover::after,
.navlink:focus::after{
transform: scale(1);
}
.checkbtn {
font-size: 23px;
color: white;
float: right;
line-height: 59px;
margin-right: 20px;
cursor: pointer;
display: none;
}
#check {
display: none;
}
#nav-links-container {
display: flex;
width: auto;
margin: 0;
padding: 0;
height: 59px;
float: right;
flex-wrap: nowrap;
flex-direction: row-reverse;
align-content: stretch;
}
#nav-icon {
margin: 0 0 0 5px;
}
#sign-up {
padding: 6px 7px;
margin: 14px 15px 14px 4px;
border-radius: 5px;
font-size: 16px;
background-color: rgb(140, 42, 165);
color: bisque;
display: flex;
place-items: center;
}
#sign-up:hover {
transform: scale(1.05);
background-color: blueviolet;
cursor: pointer;
transition: 0.5s;
}
#banner {
width: 70%;
position: absolute;
justify-content: center;
display: inline-flex;
top: 16px;
font-size: 20px;
margin: auto;
min-width: 310px;
}
#banner-text {
text-align: center;
}
#timer {
color: rgb(184, 184, 184);
animation: blinking 3s infinite;
background-color: rgb(57, 57, 57);
border-radius: 5px;
padding: 2px 5px;
position: relative;
}
#timer::after {
content: 'Aug 12, 4pm';
position: absolute;
text-align: center;
align-items: center;
top: 30px;
right: -25px;
padding: 2px 7px;
width: max-content;
opacity: 1;
background-color: #222429;
border-radius: 10px;
transition: opacity 300ms, transform 300ms;
transform: scale(0);
transform-origin: top;
}
#timer:hover::after,
#timer:focus::after{
transform: scale(1);
}
.tooltip-nav {
text-decoration: none;
margin: 0;
}
#timer-link {
color:rgb(252, 188, 93);
text-decoration: none;
cursor: pointer;
background: unset;
}
.link:hover {
color:rgba(252, 188, 93, 0.719);
}
@keyframes blinking {
0% {
opacity: 1;
}
50% {
opacity: 0.8;
}
100% {
opacity: 1;
}
}
@keyframes dropdown{
0% {
opacity: 0;
transform: translateY(-30px);
}
20% {
transform: translateY(0px);
opacity: 1;
}
40% {
transform: translateY(-7px);
}
100% {
transform: translateY(0px);
}
}
/* Responsive Functions */
@media (max-width: 1600px) {
#banner {
width: 50%;
}
}
@media (max-width: 1330px) {
#banner {
width: 30%;
}
}
@media (max-width: 1200px) {
#banner {
display: none;
}
}
@media (max-width: 900px) {
.checkbtn {
display: inline-block;
}
nav ul {
position: fixed;
width: 100%;
height: 300px;
margin-top: 58px;
margin-right: 0;
background: rgb(24, 24, 24);
visibility: hidden;
text-align: center;
}
nav ul li {
display: block;
margin: 20px 0;
line-height: 30px;
}
#check:checked ~ul {
visibility: visible;
animation: dropdown 0.5s ease;
}
.checkbtn {
display: inline-block;
}
#prize-logo, .podium-label {
transform: scale(0.9);
font-size: 16px !important;
}
#podium-label-1 {
margin-right: 1px !important;
}
#podium-label-2 {
margin-left: 1px !important;
}
#header-background {
background-position: unset !important;
background-size: unset !important;
}
#logo {
height: 300px !important;
width: 300px !important;
}
#banner {
display: inline-flex;
width: 310px;
}
}
@media (max-width: 750px) {
#banner {
display: none;
}
}
@media (max-width: 500px) {
#event, #rules, #prizes, #team {
transform: scale(0.9);
}
section {
padding-top: 0 !important;
}
}
@media (max-width: 470px) {
#nav-logo {
content: url(/img/Gilroy-Hacks-Logo-icon-tp.ico);
height: 50px;
width: 50px;
}
#logo {
height: 300px;
width: 300px;
}
#prizes-container {
transform: scale(0.9);
}
}
@media (max-height: 550px) {
#logo {
transform: scale(0.8);
}
#header-subtitle-date {
transform: translateY(-30px);
}
#spots-container {
transform: translateY(-30px);
}
#line-header {
transform: translateY(-30px);
}
#entrance-arrow {
visibility: hidden;
}
}
@media (max-height: 400px) {
#header {
transform: scale(0.7);
}
}
.blob {
background: black;
border-radius: 50%;
box-shadow: 0 0 0 0 rgba(0, 0, 0, 1);
margin: 10px 4px;
height: 10px;
width: 10px;
transform: scale(1);
animation: pulse-black 2s infinite;
position: relative;
}
.blob.green {
background: rgba(51, 217, 178, 1);
box-shadow: 0 0 0 0 rgba(51, 217, 178, 1);
animation: pulse-green 2s infinite;
}
@keyframes pulse-green {
0% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(51, 217, 178, 0.7);
}
70% {
transform: scale(1);
box-shadow: 0 0 0 10px rgba(51, 217, 178, 0);
}
100% {
transform: scale(0.95);
box-shadow: 0 0 0 0 rgba(51, 217, 178, 0);
}
}
/* Header */
#header-background {
background-image: url(/img/mountains-1.jpg);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-attachment: fixed;
height: 100vh;
}
#header {
width: 100%;
height: 100%;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
text-align: center;
position: relative;
}
#logo {
height: 400px;
width: 400px;
animation: fadeInAnimation ease 3s;
animation-iteration-count: 1;
animation-fill-mode: forwards;
}
#header-subtitle-date {
padding: 5px;
margin-top: 5px;
border-radius: 10px;
display: flex;
place-items: center;
border: 1px solid rgb(73, 73, 73);
background-color: rgb(22, 22, 22);
animation: slidein ease 1.5s;
}
.header-link {
background: unset !important;
color: white !important;
}
#header-tooltip::after {
content: '← Add to Calendar';
top: 12px;
right: -160px;
transform-origin: left;
color: rgb(252, 188, 93);
}
#spots-tooltip::after {
content: '← Signups Available!';
top: 12px;
right: -170px;
transform-origin: left;
color: rgb(252, 188, 93);
}
@media (max-width: 610px) {
#header-tooltip::after, #spots-tooltip::after {
display: none;
}
}
.header-icon {
margin-right: 6px;
}
#spots-container {
display: flex;
place-items: center;
border-radius: 10px;
margin-top: 5px;
padding: 0 7px;
border: 1px solid rgb(73, 73, 73);
background-color: rgb(22, 22, 22);
animation: slidein-2 ease 3s;
}
#header-subtitle-spots {
padding: 5px;
}
#spots-container:hover, #header-subtitle-date:hover {
transform: translateY(-2px);
transition: 0.5s;
}
#entrance-arrow {
width: 50px;
height: 50px;
position: absolute;
bottom: 10px;
float: bottom;
animation: bounce 3s infinite;
}
#entrance-arrow:hover {
font-size: 17px;
transition: 0.1s;
}
#header-gradient {
width: 100%;
height: 100%;
background-image: linear-gradient(#0d111733 50%, #0d11175e 60%, #0d1117 100%);
}
@keyframes bounce {
0%, 20%, 50%, 80%, 100% {
transform: translateY(0);
}
40% {
transform: translateY(-5px);
}
60% {
transform: translateY(-3px);
}
}
@keyframes fadeInAnimation {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes slidein {
0% {
transform: translateY(250px);
opacity: 0;
}
60% {
opacity: 0;
}
100% {
transform: translateY(0px);
opacity: 1;
}
}
@keyframes slidein-2 {
0% {
transform: translateY(1000px);
opacity: 0;
}
80% {
opacity: 0;
}
100% {
transform: translateY(0px);
opacity: 1;
}
}
@keyframes slidein-side {
0% {
transform: translateX(-100px);
opacity: 0;
}
40% {
opacity: 0;
}
100% {
transform: translateX(0px);
opacity: 1;
}
}
@keyframes slidein-prize-2 {
0% {
opacity: 0;
}
40% {
transform: translateX(-30px);
opacity: 0;
}
100% {
transform: translateX(0px);
opacity: 1;
}
}
@keyframes slidein-prize-1 {
0% {
opacity: 0;
}
30% {
transform: translateY(-30px);
opacity: 0;
}
100% {
transform: translateY(0px);
opacity: 1;
}
}
@keyframes slidein-prize-3 {
0% {
opacity: 0;
}
60% {
transform: translateX(30px);
opacity: 0;
}
100% {
transform: translateX(0px);
opacity: 1;
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation {
animation: slidein-side ease 1s;
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation-prize-2 {
animation: slidein-prize-2 ease 3s;
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation-prize-1 {
animation: slidein-prize-1 ease 2s;
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation-prize-3 {
animation: slidein-prize-3 ease 3s;
}
}
/* Main Section */
main {
width: 100%;
align-items: center;
justify-content: center;
text-align: center;
position: relative;
margin: auto;
display: grid;
padding-bottom: 30px;
}
section {
width: auto;
padding-top: 70px;
text-align: center;
justify-content: center;
align-items: center;
max-width: 1500px;
min-width: 200px;
}
.topic {
width: auto;
font-size: 35px;
padding: 0 20px 0 20px;
color:rgb(255, 243, 205);
}
#event-container {
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: center;
}
#event-description {
margin: 0 20px;
max-width: 700px;
min-width: 200px;
font-size: 18px;
text-align: left;
}
#event-main-box {
padding: 10px;
width: auto;
height: auto;
border-radius: 10px;
border: 1px solid rgb(68, 68, 68);
}
#description-heading {
text-align: center;
margin-bottom: 26px;
}
#description-content {
text-align: center;
border-radius: 10px;
background-color: #202329;
padding: 15px 10px;
margin: auto;
}
.desc-title {
margin-top: 15px;
}
.list {
padding-left: 20px;
}
.desc-list {
margin-left: 25px;
}
.list li{
margin: 10px 0;
}
/* Timeline */
#timeline {
padding: 10px;
width: 100%;
text-align: center;
margin-bottom: 30px;
}
#timeline-heading {
text-align: center;
margin-top: 20px;
}
.flex-parent {
display: flex;
flex-direction: column;
align-items: center;
width: 100%;
height: 100%;
margin-top: 200px;
}
.input-flex-container {
display: flex;
justify-content: space-around;
align-items: center;
flex-wrap: wrap;
width: 80%;
max-width: 1000px;
position: relative;
z-index: 0;
margin-left: 30px;
}
#timeline-right-arrow {
width: 0px;
height: fit-content;
position: relative;
right: 30px;
top: 3px;
}
#timeline-left-arrow {
width: 0px;
height: fit-content;
position: relative;
right: 50px;
top: 3px;
}
@media (max-width: 740px) {
#timeline-right-arrow {
right: calc(3vw);
}
}
.timeline-input {
width: 22px;
height: 22px;
background-color: #2C3E50;
position: relative;
border-radius: 50%;
display: block;
appearance: none;
cursor: pointer;
box-shadow: 0 0 0 0 rgba(51, 217, 178, 1);
animation: pulse-gray 2s infinite;
}
@keyframes pulse-gray {
0% {
box-shadow: 0 0 0 0 rgba(110, 110, 110, 0.7);
}
70% {
box-shadow: 0 0 0 10px rgba(51, 217, 178, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(51, 217, 178, 0);
}
}
.timeline-input:focus {
animation: pulse-gray 0s;
}
.timeline-input::before, .timeline-input::after {
content: "";
display: block;
position: absolute;
z-index: -1;
top: 50%;
transform: translateY(-50%);
background-color: #2C3E50;
width: 64px;
height: 5px;
}
.timeline-input::before {
left: -64px;
}
.timeline-input::after {
right: -64px;
}
.timeline-input:checked {
background-color: #2C3E50;
}
.timeline-input:checked::before {
background-color: #2C3E50;
}
.timeline-input:checked::after {
background-color: #AEB6BF;
}
.timeline-input:checked ~ .timeline-input, .timeline-input:checked ~ .timeline-input::before, .timeline-input:checked ~ .timeline-input::after {
background-color: #AEB6BF;
}
.timeline-input:checked + .dot-info span {
font-size: 13px;
color: rgb(243, 174, 252);
font-weight: bold;
}
.dot-info {
width: 25px;
height: 25px;
display: flex;
visibility: hidden;
position: relative;
z-index: -1;
right: 44px;
}
.dot-info span {
visibility: visible;
position: absolute;
font-size: 12px;
}
.dot-info span.year {
bottom: -30px;
right: -0.2vw;
cursor: pointer;
}
.dot-info span.label {
top: -56px;
left: -10px;
transform: rotateZ(-45deg);
width: 70px;
text-indent: -10px;
cursor: pointer;
}
/* Bracket */
.bracket {
display: inline-flex;
width: 105%;
margin-left: -20px;
}
.bracket>div {
width: 50%;
height: 1px;
background: rgb(255, 255, 255);
margin: 0px 30px 20px;
position: relative;
}
#bracket-1 > .left {
width: 2%;
}
#bracket-1 > .right {
width: 98%;
}
#bracket-2 > .left {
width: 24%;
}
#bracket-2 > .right {
width: 76%;
}
#bracket-3 > .left {
width: 46%;
}
#bracket-3 > .right {
width: 54%;
}
#bracket-4 > .left {
width: 68%;
}
#bracket-4 > .right {
width: 32%;
}
#bracket-5 > .left {
width: 89%;
}
#bracket-5 > .right {
width: 11%;
}
.bracket>div:before,
.bracket>div:after {
content: '';
position: absolute;
width: 30px;
height: 30px;
border-top-left-radius: 200px;
border: 1px solid rgb(255, 255, 255);
border-right: none;
border-bottom: none;
}
.bracket>div:after {
right: -30px;
}
.left:after {
transform: rotate(-180deg);
top: -30px;
}
.right:before {
transform: rotate(-90deg);
top: -30px;
left: -30px;
}
.right:after {
transform: rotate(90deg);
}
.left:before {
left: -30px;
}
#timeline-descriptions-wrapper {
width: 100%;
margin-top: 70px;
font-size: 22px;
font-weight: 400;
text-align: left;
}
.timeline-desc {
margin-top: -30px;
display: none;
}
.timeline-description {
font-size: 16px;
font-weight: normal;
}
.timeline-description-subtitle {
font-size: 18px;
color: rgb(121, 120, 120);
}
.t-flex-container {
display: flex;
}
.timeline-description-list li {
margin: 10px 40px;
font-size: 16px;
}
.important-text {
color: rgb(255, 126, 126);
}
.timeline-input[data-description="1"]:checked ~ #timeline-descriptions-wrapper div[data-description="1"] {
display: block;
}
.timeline-input[data-description="2"]:checked ~ #timeline-descriptions-wrapper div[data-description="2"] {
display: block;
}
.timeline-input[data-description="3"]:checked ~ #timeline-descriptions-wrapper div[data-description="3"] {
display: block;
}
.timeline-input[data-description="4"]:checked ~ #timeline-descriptions-wrapper div[data-description="4"] {
display: block;
}
.timeline-input[data-description="5"]:checked ~ #timeline-descriptions-wrapper div[data-description="5"] {
display: block;
}
@media (max-width: 630px) {
.flex-parent {
justify-content: initial;
margin-top: 0;
}
.input-flex-container {
flex-wrap: wrap;
justify-content: center;
width: 400px;
height: auto;
margin-top: 7vh;
margin-left: 0;
}
.timeline-input, .dot-info {
width: 60px;
height: 60px;
margin: 0 10px 50px;
}
.timeline-input::before, .timeline-input::after {
content: none;
}
.timeline-input:checked + .dot-info {
background-color: #2C3E50;
}
.timeline-input:checked + .dot-info span.year {
font-size: 14px;
}
.timeline-input:checked + .dot-info span.label {
font-size: 12px;
}
.dot-info {
visibility: visible;
border-radius: 50%;
z-index: 0;
left: 0;
margin-left: -70px;
background-color: #AEB6BF;
}
.dot-info span.year {
top: 0;
left: 0;
transform: none;
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
color: #ECF0F1;
}
.dot-info span.label {
top: calc(100% + 5px);
left: 50%;
transform: translateX(-50%);
text-indent: 0;
text-align: center;
}
#timeline-descriptions-wrapper {
margin-top: 30px;
margin-left: 0;
text-align: left;
margin-bottom: 20px;
}
#timeline-right-arrow {
display: none;
}
#timeline-left-arrow {
display: none;
}
}
@media (max-width: 480px) {
.input-flex-container {
width: 340px;
}
}
@media (max-width: 400px) {
.input-flex-container {
width: 300px;
}
}
.timeline-links {
display: flex;
flex-flow: row wrap;
justify-content: center;
text-align: center;
text-decoration: none !important;
margin-top: 15px;
}
.timeline-icon {
height: 23px;
float: left;
}
.timeline-button {
color: rgb(233, 203, 104);
text-decoration: none;
border-radius: 5px;
font-size: 18px;
border: 1px solid rgb(192, 168, 88);
padding: 5px;
display: inline-block;
margin: 0 10px;
}
.zoom-link {
border: 1px solid rgb(45, 140, 255);
}
.timeline-button.zoom-link:hover {
background-color: rgb(45, 140, 255);
}
.timeline-button.zoom-link:hover > .timeline-icon{
filter:hue-rotate(60deg);
}
.timeline-button:hover {
color: white;
background-color: rgb(192, 168, 88);
transition: 0.5s;
}
.tooltip.zoom-tooltip::after {
content: 'Zoom Link';
font-size: 16px;
top: 40px;
right: 12px;
color: rgb(45, 140, 255);
}
#submit-tooltip:after {
content: 'Submission Form';
right: -20px;
}
#git-tooltip::after {
content: 'Git';
color:#a6e2fa;
right: -3px;
top: 33px;
}
#html-tooltip::after {
content: 'HTML';
color:#a6e2fa;
right: -10px;
top: 33px;
}
#python-tooltip::after {
content: 'Python';
color:#a6e2fa;
right: -15px;
top: 33px;
}
/* Signup Container */
.signup-container {
margin: 20px auto;
}
#steps-card {
width: 400px;
min-width: 300px;
border-radius: 10px;
background-color: #181a1d;
margin: 10px auto;
padding: 10px 30px;
box-shadow: 0px 5px 10px rgb(0 0 0 / 20%);
text-align: left;
}
/* Outer Layer with the steps border */
.outer {
border-left: 2px solid #333;
}
/* Card container */
.card {
position: relative;
margin: 0 0 20px 20px;
padding: 10px;
background: rgb(49, 48, 48);
color: gray;
border-radius: 8px;
max-width: 400px;
}
.card:hover {
filter: brightness(120%);
transition: 0.5s;
}
/* Title of the card */
.title {
color: rgb(255, 255, 255);
position: relative;
font-size: 16px;
}
.step-desc {
color: gray;
width: 298px;
}
/* Steps dot */
.title::before {
content: "";
position: absolute;
width: 10px;
height: 10px;
background: rgb(49, 48, 48);
border-radius: 50%;
margin-top: 3px;
left: -38px;
border: 2px solid rgb(255, 255, 255);
}
.caption {
color: #8d8d8d;
}
/* Signup Checklist */
.checklist {
--text: #414856;
--check: #00ff37;
--disabled: #C3C8DE;
--border-radius: 10px;
background: var(--background);
position: relative;
display: grid;
grid-template-columns: 0px auto;
align-items: center;
}
.checklist label {
color: var(--text);
position: relative;
cursor: pointer;
display: grid;
align-items: center;
width: fit-content;
transition: color 0.3s ease;
}
.checklist label::before, .checklist label::after {
content: "";
position: absolute;
}
.checklist label::before {
height: 2px;
width: 8px;
left: -35px;
border-radius: 2px;
}
.checklist label:after {
height: 4px;
width: 4px;
top: 8px;
left: -35px;
border-radius: 50%;
}
.checklist input[type=checkbox] {
appearance: none;
position: relative;
height: 15px;
width: 15px;
outline: none;
border: 0;
margin: 0 15px 0 0;
cursor: pointer;
background: var(--background);
display: grid;
align-items: center;
}
.checklist input[type=checkbox]::before, .checklist input[type=checkbox]::after {
content: "";
position: absolute;
height: 2px;
top: auto;
background: var(--check);
border-radius: 2px;
}
.checklist input[type=checkbox]::before {
width: 0px;
transform-origin: right bottom;
z-index: 2;
}
.checklist input[type=checkbox]::after {
width: 0px;
transform-origin: left bottom;
z-index: 2;
}
.checklist input[type=checkbox]:checked::before {
animation: check-01 0.4s ease forwards;
left: -36px;
}
.checklist input[type=checkbox]:checked::after {
animation: check-02 0.4s ease forwards;
left: -31px;
}
.checklist input[type=checkbox]:checked + label {
color: var(--disabled);
animation: move 0.3s ease 0.1s forwards;
}
.checklist input[type=checkbox]:checked + label::before {
background: var(--disabled);
animation: slice 0.4s ease forwards;
}
.checklist input[type=checkbox]:checked + label::after {
animation: firework 0.5s ease forwards 0.1s;
left: -33px;
}
@keyframes move {
50% {
padding-left: 8px;
padding-right: 0px;
}
100% {
padding-right: 4px;
}
}
@keyframes slice {
60% {
width: 100%;
left: 4px;
}
100% {
width: 100%;
left: -2px;
padding-left: 0;
}
}
@keyframes check-01 {
0% {
width: 4px;
top: auto;
transform: rotate(0);
}
50% {
width: 0px;
top: auto;
transform: rotate(0);
}
51% {
width: 0px;
top: 8px;
transform: rotate(45deg);
}
100% {
width: 5px;
top: 8px;
transform: rotate(45deg);
}
}
@keyframes check-02 {
0% {
width: 4px;
top: auto;
transform: rotate(0);
}
50% {
width: 0px;
top: auto;
transform: rotate(0);
}
51% {
width: 0px;
top: 8px;
transform: rotate(-45deg);
}
100% {
width: 10px;
top: 8px;
transform: rotate(-45deg);
}
}
@keyframes firework {
0% {
opacity: 1;
box-shadow: 0 0 0 -2px #4f29f0, 0 0 0 -2px #4f29f0, 0 0 0 -2px #4f29f0, 0 0 0 -2px #4f29f0, 0 0 0 -2px #4f29f0, 0 0 0 -2px #4f29f0;
}
30% {
opacity: 1;
}
100% {
opacity: 0;
box-shadow: 0 -15px 0 0px #4f29f0, 14px -8px 0 0px #4f29f0, 14px 8px 0 0px #4f29f0, 0 15px 0 0px #4f29f0, -14px 8px 0 0px #4f29f0, -14px -8px 0 0px #4f29f0;
}
}
.tooltip {
position: relative;
}
.tooltip::after {
content: '';
position: absolute;
text-align: center;
align-items: center;
top: 22px;
right: -35px;
padding: 3px 7px;
width: max-content;
opacity: 1;
z-index: 1;
background-color: #222429;
border-radius: 10px;
transition: opacity 300ms, transform 300ms;
transform: scale(0);
transform-origin: top;
}
.tooltip:hover::after {
transform: scale(1);
}
#signup-link::after {
content: 'Signup Form';
}
.email-link::after {
content: 'Email';
right: calc((100%/2) - 25px);
}
#discord-link::after {
content: 'Discord Invite Link';
right: -40px;
}
#website::after {
content: 'Check out my website!';
top: 100px;
color: rgb(255, 208, 137)
}
.tooltip.discord::after {
content: 'Discord';
color: rgb(128, 130, 245);
right: -70px;
top: -5px;
transform-origin: left;
}
#facebook::after {
content: 'Facebook';
right: -34px;
color: rgb(255, 208, 137)
}
#instagram::after {
content: 'Instagram';
right: -35px;
color: rgb(255, 208, 137)
}
#youtube::after {
content: 'Youtube';
right: -25px;
color: rgb(255, 208, 137)
}
#sponsor-heading {
margin: 30px 0 0;
}
#sponsor-container {
display: flex;
flex-flow: column nowrap;
padding: 20px 5px;
justify-content: center;
}
#sponsor-container a:hover {
transform: scale(1.03);
}
#sponsor-container img {
margin: 10px 0;
}
#gilroy-library-logo {
height: 120px;
width: 352px;
}
#gavilan-college-logo {
height: 102px;
width: 352px;
}
#gear-club-logo {
height: 60px;
width: 352px;
margin-top: 50px !important;
}
#map-article {
margin: 20px auto 0;
width: 90%;
max-width: 1100px;
}
#cal-parent {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
#cal-container {
display: flex;
flex-direction: column;
flex-wrap: wrap;
width: 440px;
min-width: 400px !important;
height: auto;
justify-content: center;
}
.cal-card {
width: 100%;
border-radius: 7px;
border: 1px solid white;
}
.cal-card:hover {
transform: translateY(-5px);
background-color: #0f1318;
transition: 0.5s;
}
/* .cal-card:hover > #community-room {
visibility: visible !important;
} */
#fri {
background-color: #18b14b65;
}
#sat {
background-color: #cc1b1b65;
}
#sun {
background-color: #cc83148a;
}
.cal-entry {
display: flex;
align-content: stretch;
width: 100%;
height: 100%;
padding: 10px;
border-radius: 10px;
}
.day-of-week {
font-size: 35px;
}
.cal-date {
display: flex;
flex-direction: column;
padding: 5px 10px;
width: 110px;
height: 75px;
border-radius: 10px;
}
.cal-subtitle {
color: rgb(150, 150, 150);
}
.cal-title {
text-align: center;
text-decoration: underline;
margin-bottom: 10px;
}
.vertical-line {
width: 2px;
margin: 0 10px;
background-color: rgb(88, 88, 88);
}
.cal-desc {
justify-content: center;
width: 100%;
}
.event-list {
display: flex;
flex-direction: column;
flex-wrap: wrap;
}
.event-entry {
display: flex;
flex: row nowrap;
height: 30px;
margin-bottom: 7px;
}
@media (max-width: 487px) {
.event-entry {
height: auto;
}
}
.time-column {
width: 35%;
height: 100%;
text-align: right;
}
.event-column {
width: 75%;
height: 100%;
text-align: left;
padding-left: 15px;
}
.event-time {
color: gray;
}
.map-title {
font-size: 25px;
margin: 10px 0;
}
#map-div {
width: 660px;
height: 462px;
}
#map-container {
border-radius: 10px;
padding: 3px;
width: 100%;
height: 100%;
border: 1px solid white;
position: relative;
min-width: 375px;
}
#map {
height: 100%;
width: 100%;
border-radius: 10px;
position: relative;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
}
/* Workshops */
.flex-container {
display: flex;
flex-flow: row wrap;
margin-top: 20px;
justify-content: center;
align-items: flex-start;
width: 90%;
margin: 20px auto 0;
}
.workshop-entry {
margin: 20px;
min-width: 350px;
max-width: 500px;
border-radius: 10px;
box-shadow: 5px 5px 10px rgb(0 0 0 / 20%);
text-align: left;
overflow: hidden;
}
.workshop-entry:hover {
transform: translateY(-4px);
transition: 0.5s;
}
#webdev-workshop {
background-image:
linear-gradient( rgba(255, 255, 255, 0.5), rgba(0, 0, 0, 0.5) ),
url(/img/webdev.jpg);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-color: rgb(102, 85, 61);
background-blend-mode: multiply;
/* Photo by Tranmautritam: https://www.pexels.com/photo/information-sign-on-shelf-251225/ */
}
#python-workshop {
background-image:
linear-gradient( rgba(255, 255, 255, 0.5), rgba(0, 0, 0, 0.5) ),
url(/img/python_code.jpg);
background-position: center;
background-size: cover;
background-repeat: no-repeat;
background-color: rgb(53, 79, 110);
background-blend-mode: multiply;
/* Photo SRC: https://unsplash.com/photos/g5_rxRjvKmg?utm_source=unsplash&utm_medium=referral&utm_content=creditShareLink */
}
.workshop-header {
padding: 10px 30px 15px;
display: grid;
grid-template-columns: auto auto;
background-color: rgb(19, 29, 41);
}
.workshop-title {
display: flex;
flex-flow: column nowrap;
}
.title-font-weight {
font-size: 25px;
}
.workshop-topics {
float: right;
display: flex;
flex-flow: row-reverse;
}
.workshop-img {
height: 30px;
width: 30px;
margin-left: 10px;
}
.workshop-desc {
padding: 10px 35px;
background-color: #1b1c20;
}
.workshop-date {
padding: 7px 20px;
text-align: center;
background-color: #3a3344;
display: flex;
flex-flow: row wrap;
justify-content: space-between;
font-size: 20px;
align-items: center;
}
.workshop-date div {
margin: 0 10px;
}
.cal-tooltip::after {
content: 'Add to Calendar';
font-size: 16px;
top: 30px;
right: -20px;
}
.link.workshop-link {
background: unset;
}
.workshop-icon {
float: left;
margin-top: 2px;
margin-right: 5px;
}
.workshop-instructor {
width: 20px;
height: 20px;
margin: 0 5px 0 10px;
}
.instructor-img {
width: 20px;
height: 20px;
border-radius: 50%;
border-radius: 50%;
border: 1px solid rgb(161, 161, 161);
}
.workshop-slides {
display: flex;
flex-flow: row nowrap;
width: 100%;
}
.workshop-topics-covered {
width: 50%;
min-width: 150px;
}
.workshop-presentation {
text-align: center;
justify-content: center;
float: right;
width: 50%;
}
.slides-thumbnail {
padding: 10px 15px;
}
.slides-thumbnail:hover {
transform: scale(1.05);
transition: 0.5s;
}
.slides-element {
width: 100%;
border-radius: 5px;
border: 1px solid rgb(102, 102, 102);
}
.tooltip#python-slides-tooltip::after {
content: 'Intro to Python Programming';
color: rgb(252, 188, 93);
right: -11px;
}
.tooltip#webdev-slides-tooltip::after {
content: 'Web Dev & Git Version Control';
color: rgb(252, 188, 93);
right: -17px;
}
.tooltip#python-slides-tooltip::after {
content: 'Intro to Python Programming';
color: rgb(252, 188, 93);
right: -11px;
}
.workshop-difficulty {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
background-color: #176e2a;
padding: 3px 30px;
justify-content: space-around;
}
.workshop-footer {
padding: 10px 30px;
text-align: center;
background-color: #151618;
display: flex;
justify-content: center;
align-items: center;
}
/* Rules */
#rules-description {
margin: 10px 20px;
font-size: 18px;
}
#photo-description {
margin: 10px 20px;
}
.rules-box {
border-radius: 10px;
border: 1px solid white;
background-color: #272b1f;
margin: 10px auto;
width: 90%;
max-width: 850px;
min-width: 350px;
padding: 10px;
}
#disclaimer {
background-color: #2b1f20;
}
#rules-container {
display: flex;
flex-wrap: wrap;
margin-top: 20px;
justify-content: center;
}
#guidelines {
margin: 20px;
}
#code-of-conduct {
margin: 20px;
}
.rules-card {
position: relative;
padding: 10px;
margin: 0 0 20px 20px;
background: rgb(47, 55, 70);
color: rgb(179, 179, 179);
border-radius: 8px;
max-width: 400px;
}
.code-card {
background: rgb(40, 63, 52);
}
#rules-main-card {
width: 400px;
min-width: 300px;
border-radius: 10px;
background-color: #131d29;
margin: 10px auto;
padding: 10px 30px;
box-shadow: 5px 5px 10px rgb(0 0 0 / 20%);
text-align: left;
}
#code-main-card {
width: 400px;
min-width: 300px;
border-radius: 10px;
background-color: #15271b;
margin: 10px auto;
padding: 10px 30px;
box-shadow: 5px 5px 10px rgb(0 0 0 / 20%);
text-align: left;
}
#rules-header {
padding-top: 10px;
}
/* Title of the card */
.rules-title {
color: rgb(253, 103, 103);
position: relative;
font-size: 17px;
}
.code-title {
color: rgb(212, 100, 223);
}
.rules-card::before {
content: "";
font-size: 30px;
position: absolute;
width: 10px;
height: 10px;
left: -28px;
}
.rules-1::before {
content: "1";
}
.rules-2::before {
content: "2";
}
.rules-3::before {
content: "3";
}
.rules-4::before {
content: "4";
}
.rules-5::before {
content: "5";
}
.rules-card:hover {
filter: brightness(1.2);
transition: 0.5s;
}
#prizes-container {
display: grid;
margin: 50px auto 0;
width: 80%;
height: auto;
justify-content: center;
grid-template-columns: repeat(3, 1fr);
}
.podium-description {
width: 100%;
height: auto;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
text-align: center;
position: relative;
}
.prize-desc {
width: 100%;
height: auto;
display: flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
text-align: center;
position: relative;
}
.prize-desc:hover > .prize-text {
transform: rotate3d(0, 1, 0, 360deg);
transition: ease-in-out 0.5s;
}
.prize-laurel {
height: 150px;
width: 150px;
position: relative;
}
.prize-text {
position: absolute;
color: rgb(167, 146, 234);
font-size: 25px;
margin-bottom: 167px;
line-height: 25px;
z-index: 1;
}
.prize-title {
color: rgb(167, 146, 234);
font-size: 25px;
}
.prize-content {
color:rgb(129, 218, 126);
font-size: 20px;
transform: rotate3d(0, 1, 0, 360deg);
transition: ease 0.5s;
}
.prize-subtitle {
margin: 10px 0;
}
.prize-column {
display: flex;
flex-flow: column-reverse;
}
#second-podium {
width: 100%;
height: 50px;
background-color: #333;
}
#first-podium {
width: 100%;
height: 90px;
background-color: #333;
align-items: center;
text-align: center;
display: flex;
justify-content: center;
}
#third-podium {
width: 100%;
height: 40px;
background-color: #333;
}
.podium-edge {
width: 105%;
height: 10px;
background-color: #24282e;
border-radius: 4px;
z-index: 1;
}
#prize-logo {
height: 50px;
width: 50px;
border-radius: 50%;
border: 1px solid rgb(119, 119, 119);
}
.podium-label {
position: relative;
font-size: 20px;
}
#podium-label-1 {
margin-right: 7px;
color: #ff914d;
}
#podium-label-2 {
margin-left: 7px;
color: #ffde59;
}
.prize-img {
height: 85px;
}
#prize-box {
border-radius: 10px;
border: 1px solid white;
background-color: #2c2c2c;
margin: 30px auto 10px;
width: 70%;
max-width: 850px;
min-width: 350px;
padding: 10px;
}
#prize-list {
list-style: none;
}
/* Teams */
#team-container {
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
text-align: center;
}
#team-container article {
padding: 20px 35px;
width: 430px;
}
.team-title {
font-size: 25px;
color:rgb(161, 245, 150);
margin-bottom: 10px;
}
.team-entry {
display: flex;
align-content: stretch;
padding: 15px;
border-radius: 10px;
width: 357px;
border: 0px solid rgb(54, 54, 54);
}
@keyframes card-img-pullout {
0% {
transform: translateX(110px);
}
50% {
transform: translateX(110px);
}
100% {
transform: translateX(0px);
}
}
@keyframes card-desc-pullout {
0% {
transform: translateX(-110px);
opacity: 0;
}
50% {
transform: translateX(-110px);
}
80% {
opacity: 0;
}
100% {
opacity: 1;
transform: translateX(0px);
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation-card-img {
animation: card-img-pullout ease 2s;
}
}
@media (prefers-reduced-motion: no-preference) {
.slide-animation-card-desc {
animation: card-desc-pullout ease 2s;
}
}
.team-entry:hover {
transform: scale(1.01);
border: 1px solid rgb(54, 54, 54);
transition: 0.5s;
}
.team-picture {
width: auto;
height: auto;
}
.team-picture img {
height: 100px;
width: 100px;
border-radius: 50%;
border: 1px solid rgb(161, 161, 161);
}
#jd {
border: 0px;
}
.team-description {
text-align: left;
width: auto;
display: block;
margin-left: 18px;
}
.person-name {
font-size: 20px;
color:rgb(99, 169, 250);
padding-bottom: 2px;
}
.person-subtitle {
font-size: 15px;
color: rgb(129, 129, 129);
}
.person-contact {
font-size: 15px;
padding-top: 16px;
font-style: normal;
}
/* Utilities */
#line-header {
width: 200px;
margin: 0 auto 5px;
animation: grow-wide ease 2s;
}
@keyframes grow-wide {
0% {
transform: scale(0);
opacity: 0;
}
100% {
transform: scale(1);
opacity: 1;
}
}
.tooltip-rules {
text-decoration: underline dotted;
cursor: help;
}
.emphasis-text {
color:rgb(51, 235, 189);
}
.discord-text {
color: rgb(110, 112, 247);
}
.discord-tag {
color: rgb(150, 150, 150);
}
.line {
width: 100px;
margin: 10px auto;
}
#arrow-link {
color:rgb(252, 188, 93);
text-decoration: none;
cursor: pointer;
}
.bottom-text {
margin: 10px 5px;
}
.link {
color:rgb(252, 188, 93);
text-decoration: none;
cursor: pointer;
background:
linear-gradient(to right, rgba(100, 200, 200, 1), rgba(100, 200, 200, 1)),
linear-gradient(to right, rgba(255, 0, 0, 1), rgba(255, 0, 180, 1), rgba(0, 100, 200, 1));
background-size: 100% 0.1em, 0 0.1em;
background-position: 100% 100%, 0 100%;
background-repeat: no-repeat;
transition: background-size 400ms;
}
.link:hover {
color:rgba(252, 188, 93, 0.719);
background-size: 0 0.1em, 100% 0.1em;
}
.new-tab-icon {
fill: white;
height: 10px;
margin-left: 5px;
}
.discord-icon {
width: 16px;
height: 16px;
fill: rgb(110, 112, 247);
float: left;
margin-right: 5px;
}
@media (max-width: 869px) {
#footer-desc {
margin-bottom: 20px;
}
}
@media (max-width: 565px) {
footer * {
text-align: center;
justify-content: center;
}
.footer-title {
margin-bottom: 0 !important;
}
#footer-desc, #footer-links, #footer-location {
margin-right: 0 !important;
margin-bottom: 20px;
}
}
footer {
width: auto;
height: auto;
background-color: rgb(24, 24, 24);
justify-content: center;
align-items: left;
text-align: center;
padding: 20px;
flex-flow: row wrap;
}
#footer-container {
width: 100%;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: stretch;
}
#footer-logo {
height: 45px;
width: 232px;
margin-left: -5px;
}
#footer-desc {
width: 350px;
text-align: left;
line-height: 25px;
font-size: 18px;
margin-right: 40px;
}
#socials {
width: 100%;
height: auto;
display: flex;
flex-wrap: wrap;
margin-top: 10px;
}
.socials-icon {
margin: 0 10px;
}
#footer-copyright {
color: rgb(129, 129, 129);
}
#footer-line {
width: 100%;
margin: 10px auto;
}
#footer-links {
width: 180px;
margin-top: 7px;
margin-right: 20px;
text-align: left;
}
.footer-title {
margin-bottom: 19px;
}
#footer-location {
width: 220px;
margin-top: 7px;
margin-right: 20px;
text-align: left;
}
footer li {
line-height: 30px;
list-style: none;
}