/* Gilroy Hacks Website Source Code -> CSS (https://gilroyhacks.com) For more info, contact jamesdinh77 (at) protonmail (dot) com */ html { scroll-behavior: smooth; } /* Nav */ * { margin: 0; padding: 0; box-sizing: border-box; } nav { height: auto; width: 100%; overflow: hidden; 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 { margin-top: 5px; } #nav-logo-a { position: relative; } nav ul { float: right; margin-right: 20px; } nav li { display: inline-block; line-height: 30px; margin: 10px 7px; padding: 3px 5px; cursor: pointer; } nav li a { color:rgb(233, 203, 104); font-size: 18px; text-decoration: none; position: relative; } nav li a.active,a:hover { color: rgba(233, 203, 104, 0.774); transition: .5s; } nav li a::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; } nav li a:hover::after, nav li a: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; margin: 0; padding: 0; height: 59px; float: right; flex-wrap: nowrap; flex-direction: row-reverse; align-content: stretch; } #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.1); background-color: blueviolet; cursor: pointer; transition: 0.5s; } /* Responsive Functions */ @media (max-width: 800px) { .checkbtn { display: inline-block; } nav ul { position: fixed; width: 100%; height: 250px; margin-top: 58px; margin-right: 0; background: rgb(24, 24, 24); top: -100%; text-align: center; /*animation: growOut 300ms ease-in-out forwards*/ } nav ul li { display: block; margin: 20px 0; line-height: 30px; } #check:checked ~ul { top: 0; } .checkbtn { display: inline-block; } #card-container { grid-template-columns: repeat(1, 1fr) !important; } } @media (max-width: 450px) { .checkbtn { display: none; } #logo { height: 300px; width: 300px; } } @media (max-height: 700px) { #logo { height: 300px; width: 300px; } } #spots-container { display: flex; place-items: center; } .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: none; background-position: center; background-size: cover; background-repeat: no-repeat; background-attachment: fixed; height: 100vh; /* makes it so it covers the entire page */ } #header { width: 100%; height: 100%; display: flex; flex-flow: column nowrap; justify-content: center; align-items: center; text-align: center; position: relative; background-image: linear-gradient(#0d111733 50%, #0d11175e 60%, #0d1117 100%); } #header-subtitle-date { padding: 5px; } #header-subtitle-spots { padding: 5px; } #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; } @keyframes bounce { 0%, 20%, 50%, 80%, 100% { transform: translateY(0); } 40% { transform: translateY(-5px); } 60% { transform: translateY(-3px); } } #logo { min-height: 300px; min-width: 300px; } /* Main Section */ main { width: 100%; padding: 10px 0 10px 0; align-items: center; justify-content: center; text-align: center; position: relative; margin: auto; display: grid; padding-bottom: 30px; } section { width: auto; padding: 70px 0px 0 0px; text-align: center; align-items: center; max-width: 1500px; } .topic { width: auto; font-size: 35px; padding: 0 20px 0 20px; color:rgb(255, 243, 205); } #discord-widget { margin: 50px auto 0; /* width: 20%; */ float: right; } #event-container { display: flex; flex-wrap: wrap; margin-top: 20px; justify-content: center; } #event-description { padding: 10px; margin-right: 20px; max-width: 700px; min-width: 400px; font-size: 18px; text-align: left; } #description-heading { text-align: center; } .list { padding-left: 20px; } .list li{ margin: 10px 0; } /* Timeline */ #timeline { width: 100%; height: 100%; text-align: center; margin-top: 50px; } #timeline-heading { text-align: center; margin-top: 20px; } .flex-parent { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; height: 100%; } .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; } input { width: 22px; height: 22px; background-color: #2C3E50; position: relative; border-radius: 50%; display: block; appearance: none; cursor: pointer; } input:focus { outline: none; } input::before, input::after { content: ""; display: block; position: absolute; z-index: -1; top: 50%; transform: translateY(-50%); background-color: #2C3E50; width: 80px; /* width: 6vw; */ height: 5px; } input::before { right: calc(2vw); } input::after { left: calc(1vw); } input:checked { background-color: #2C3E50; } input:checked::before { background-color: #2C3E50; } input:checked::after { background-color: #AEB6BF; } input:checked ~ input, input:checked ~ input::before, input:checked ~ input::after { background-color: #AEB6BF; } 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; left: calc((((80vw - 25px) / 20) * -1) - 1px); } .dot-info span { visibility: visible; position: absolute; font-size: 12px; } .dot-info span.year { bottom: -30px; right: -0.2vw; /* transform: translateX(-60%); */ } .dot-info span.label { top: -56px; left: -10px; transform: rotateZ(-45deg); width: 70px; text-indent: -10px; } #timeline-descriptions-wrapper { width: 100%; margin-top: 70px; font-size: 22px; font-weight: 400; margin-bottom: 200px; text-align: left; } #timeline-descriptions-wrapper div { margin-top: 0; display: none; } .timeline-description { font-size: 16px; font-weight: normal; } .timeline-description-subtitle { font-size: 18px; color: rgb(121, 120, 120); } .timeline-description-list li { margin: 10px 40px; font-size: 16px; } .important-text { color: rgb(255, 126, 126); } input[data-description="1"]:checked ~ #timeline-descriptions-wrapper div[data-description="1"] { display: block; } input[data-description="2"]:checked ~ #timeline-descriptions-wrapper div[data-description="2"] { display: block; } input[data-description="3"]:checked ~ #timeline-descriptions-wrapper div[data-description="3"] { display: block; } input[data-description="4"]:checked ~ #timeline-descriptions-wrapper div[data-description="4"] { display: block; } input[data-description="5"]:checked ~ #timeline-descriptions-wrapper div[data-description="5"] { display: block; } @media (min-width: 1250px) { input::before { left: -37.5px; } input::after { right: -37.5px; } .dot-info { left: calc((((1000px - 25px) / 20) * -1) - 1px); } #timeline-descriptions-wrapper { margin-left: -37.5px; } } @media (max-width: 630px) { .flex-parent { justify-content: initial; } .input-flex-container { flex-wrap: wrap; justify-content: center; width: 400px; height: auto; margin-top: 7vh; margin-left: 0; padding-bottom: 30px; } input, .dot-info { width: 60px; height: 60px; margin: 0 10px 50px; } input { background-color: transparent !important; z-index: 1; } input::before, input::after { content: none; } input:checked + .dot-info { background-color: #2C3E50; } input:checked + .dot-info span.year { font-size: 14px; } 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; } } @media (max-width: 480px) { .input-flex-container { width: 340px; } } @media (max-width: 400px) { .input-flex-container { width: 300px; } } /* Signup Container */ #signup-container { margin: 20px auto; } #steps-card { width: 400px; min-width: 300px; border-radius: 10px; background-color: #0d1117; background-color: #1e2227; margin: 10px auto; padding: 10px 30px; box-shadow: 5px 5px 10px rgb(0 0 0 / 20%); text-align: left; } .list-item { margin: 0 0 30px 30px; padding: 10px; position: relative; } .list-item::before { content: ""; position: relative; margin-right: 10px; width: 10px; height: 10px; background: rgb(255, 255, 255); border-radius: 999px; float: left; border: 3px solid rgb(44, 44, 44); } /* 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: #333; color: gray; border-radius: 8px; max-width: 400px; } #signup-header { padding-top: 10px; } /* Title of the card */ .title { color: rgb(255, 255, 255); position: relative; font-size: 16px; } /* Steps dot */ .card::before { content: ""; position: absolute; width: 10px; height: 10px; background: white; border-radius: 999px; left: -28px; border: 2px solid rgb(155, 144, 144); } #rules-container { display: flex; flex-wrap: wrap; margin-top: 20px; justify-content: center; } #prizes-container { display: grid; margin: 50px 20px 0; width: auto; height: 280px; 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-laurel { height: 150px; width: auto; position: relative; } .prize-title { position: absolute; color: rgb(203, 218, 77); font-size: 25px; } #pr-ti-2 { margin-bottom: 110px; } #pr-ti-1 { margin-bottom: 160px; } #pr-ti-3 { margin-bottom: 100px; } .prize-content { margin-bottom: 10px; } #prize-logo { margin-top: 18px; height: 50px; border-radius: 50%; border: 1px solid white; } #second-column { width: 100%; height: auto; margin-top: 40px; } #first-column { width: 100%; height: auto; position: relative; } #third-column { width: 100%; height: auto; margin-top: 50px; } #second-podium { width: 100%; height: 50px; background-color: #333; } #first-podium { width: 100%; height: 90px; background-color: #333; } #third-podium { width: 100%; height: 40px; background-color: #333; } /* Utilities */ #line-header { width: 200px; margin: 0 auto 5px; } .emphasis-text { color:rgb(51, 235, 189); } .line { width: 100px; margin: 10px auto; } #footer-line { width: 100px; margin: 10px auto; } #arrow-link { color:rgb(252, 188, 93); text-decoration: none; cursor: pointer; } .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; } footer { width: auto; height: 100px; background-color: rgb(24, 24, 24); justify-content: center; align-items: center; text-align: center; padding: 10px 20px 20px 20px; flex-flow: row wrap; } footer ul { float: top; } footer li { display: inline-block; margin: 0 7px; } footer a { color:rgb(108, 176, 231); font-size: 16px; }