/* 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: 880px) { #photo-release-container { transform: scale(0.8); font-size: 20px; } } @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; } #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; } } @media (max-width: 500px) { #event, #rules, #prizes, #team { transform: scale(0.9); } } @media (max-width: 470px) { .checkbtn { display: none; } #logo { height: 300px; width: 300px; } #prizes-container { transform: scale(0.9); } } @media (max-height: 700px) { #logo { height: 300px; width: 300px; } } .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; /* 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; margin-top: 5px; border-radius: 10px; border: 1px solid rgb(73, 73, 73); background-color: rgb(22, 22, 22); animation: slidein ease 1.5s; } #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; } #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; animation: fadeInAnimation ease 3s; animation-iteration-count: 1; animation-fill-mode: forwards; } @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; } } @media (prefers-reduced-motion: no-preference) { .slide-animation { animation: slidein-side ease 1s; } } /* Main Section */ main { width: 100%; padding-bottom: 10px; 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; } .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: 15px; } .list { padding-left: 20px; } .list li{ margin: 10px 0; } /* Timeline */ #timeline { padding: 10px; width: 100%; height: 100%; text-align: center; } #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 (max-width: 2250px) { 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; } 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: #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; } #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: rgb(56, 105, 56); border-radius: 50%; left: -28px; cursor: pointer; border: 2px solid rgb(255, 255, 255); } #rules-description { margin: 10px 20px; } #photo-description { margin: 10px 20px; } #photo-release-container { border-radius: 10px; border: 1px solid white; background-color: #1f2b22; margin: 10px auto; max-width: 850px; min-width: 400px; padding: 10px; } #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; } #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; } #rules-header { padding-top: 10px; } /* Title of the card */ .rules-title { color: rgb(253, 103, 103); position: relative; font-size: 17px; } .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"; } #prizes-container { display: grid; margin: 50px 50px 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-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-content { transform: rotate3d(0, 1, 0, 360deg); transition: ease-in-out 0.5s; } .prize-laurel { height: 150px; width: auto; position: relative; } .prize-title { position: absolute; color: rgb(167, 146, 234); font-size: 25px; margin-bottom: 60px; } .prize-content { color:rgb(129, 218, 126); font-size: 20px; height: 25px; position: absolute; } #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; 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; 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; } /* #first-podium:hover > .podium-label, #first-podium:hover > #prize-logo { transform: scale(1.1); margin: 5px; transition: 0.5s; } */ #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; border: 0px solid rgb(54, 54, 54); } .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; border-radius: 50%; border: 1px solid rgb(161, 161, 161); } .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; } } abbr[title] { 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; } #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; } @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; } }