Skip to content
Permalink
aeb5e60592
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
785 lines (686 sloc) 13.3 KB
/*! HTML5 Boilerplate v7.3.0 | MIT License | https://html5boilerplate.com/
* main.css 2.0.0 | MIT License | https://github.com/h5bp/main.css#readme
* What follows is the result of much research on cross-browser styling.
* Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
* Kroc Camen, and the H5BP dev community and team.
==========================================================================
Base styles: opinionated defaults
========================================================================== */
html {
color: #222;
font-size: 1em;
line-height: 1.4;
}
/*
* Remove text-shadow in selection highlight:
* https://twitter.com/miketaylr/status/12228805301
*
* Vendor-prefixed and regular ::selection selectors cannot be combined:
* https://stackoverflow.com/a/16982510/7133471
*
* Customize the background color to match your design.
*/
::-moz-selection {
background: #b3d4fc;
text-shadow: none;
}
::selection {
background: #b3d4fc;
text-shadow: none;
}
/*
* A better looking default horizontal rule
*/
hr {
display: block;
height: 1px;
border: 0;
border-top: 1px solid #ccc;
margin: 1em 0;
padding: 0;
}
/*
* Remove the gap between audio, canvas, iframes,
* images, videos and the bottom of their containers:
* https://github.com/h5bp/html5-boilerplate/issues/440
*/
audio,
canvas,
iframe,
img,
svg,
video {
vertical-align: middle;
}
/*
* Remove default fieldset styles.
*/
fieldset {
border: 0;
margin: 0;
padding: 0;
}
/*
* Allow only vertical resizing of textareas.
*/
textarea {
resize: vertical;
}
/* ==========================================================================
Browser Upgrade Prompt
========================================================================== */
.browserupgrade {
margin: 0.2em 0;
background: #ccc;
color: #000;
padding: 0.2em 0;
}
/* ==========================================================================
Author's custom styles
========================================================================== */
body {
background-color: black;
}
#body-wrapper {
font-family: sans-serif; /* choose a better font */
margin: 0 auto;
max-width: 750px;
text-align: center;
}
header {
background-color: white;
display: flex;
flex-direction: column;
justify-content: center;
}
ul, ol {
text-align: left;
margin-left: 10%;
margin-right: 10%;
}
.copy {
padding: 10px 50px;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.particle-wrapper {
height: 400px;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr auto 1fr;
}
.particle-wrapper p {
grid-row: 2/3;
grid-column: 1/2;
}
.attribution {
position: absolute;
bottom: -35px;
opacity: .5;
font-size: 9pt;
margin: 0 5px;
}
.particle-container {
overflow: hidden;
height: 100%;
grid-row: 1/4;
grid-column: 1/2;
position: relative;
}
.particle-subtle {
position: absolute;
border-radius: 50%;
margin: 15px;
background: white;
}
.starburst {
position: absolute;
transform-origin: center;
}
#starburst1 {
left: 20px;
animation: burst1 3s ease-in infinite backwards;
animation-delay: 5s;
}
#starburst2 {
left: 125px;
animation: burst2 3s ease-in infinite backwards;
animation-delay: 6s;
}
#starburst3 {
left: 250px;
animation: burst3 3s ease-in infinite backwards;
animation-delay: 6.8s;
}
#starburst4 {
left: 400px;
animation: burst4 3s ease-in infinite backwards;
animation-delay: 4.7s;
}
#starburst5 {
left: 575px;
animation: burst5 3s ease-in infinite backwards;
animation-delay: 7s;
}
@keyframes flicker {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes burst1 {
0%, 20% {
transform: rotate(-10deg) scale(1,0.8);
opacity:0;
top: 50px;
}
25% {
opacity:1;
}
50%{
transform: scale(1, 0.5);
top: 50px;
}
75% {
opacity:.5;
}
100% {
opacity:0;
transform: rotate(10deg) scale(1, 0.3);
top: 250px;
}
}
@keyframes burst2 {
0%, 20% {
transform: scale(1,0.8);
opacity:0;
top: 75px;
}
25% {
opacity:1;
}
50%{
transform: scale(1, 0.5);
top: 75px;
}
75% {
opacity:.5;
}
100% {
opacity:0;
transform: scale(1, 0.3);
top: 275px;
}
}
@keyframes burst3 {
0%, 20% {
transform: scale(1,0.8);
opacity:0;
top: 75px;
}
25% {
opacity:1;
}
50%{
transform: scale(1, 0.5);
top: 75px;
}
75% {
opacity:.5;
}
100% {
opacity:0;
transform: scale(1, 0.3);
top: 275px;
}
}
@keyframes burst4 {
0%, 20% {
transform: scale(1,0.8);
opacity:0;
top: 75px;
}
25% {
opacity:1;
}
50%{
transform: scale(1, 0.5);
top: 75px;
}
75% {
opacity:.5;
}
100% {
opacity:0;
transform: scale(1, 0.3);
top: 275px;
}
}
@keyframes burst5 {
0%, 20% {
transform: scale(1,0.8);
opacity:0;
top: 75px;
}
25% {
opacity:1;
}
50%{
transform: scale(1, 0.5);
top: 75px;
}
75% {
opacity:.5;
}
100% {
opacity:0;
transform: scale(1, 0.3);
top: 275px;
}
}
@keyframes grow1 {
0%, 20% {
transform-origin: center;
top: 100px;
left: 100px;
}
25% {
transform-origin: 25px 25px;
top: 75px;
left: 75px;
}
75% {
transform-origin: 75px 75px;
top: 25px;
left: 25px;
}
100% {
transform-origin: 100px 100px;
top: 0px;
left: 0px;
}
}
@keyframes grow2 {
0%, 20% {
transform-origin: center;
top: 100px;
left: 100px;
}
25% {
transform-origin: 25px 25px;
top: 75px;
left: 75px;
}
75% {
transform-origin: 75px 75px;
top: 25px;
left: 25px;
}
100% {
transform-origin: 100px 100px;
top: 0px;
left: 0px;
}
}
@keyframes grow3 {
0%, 20% {
transform-origin: center;
top: 100px;
left: 100px;
}
25% {
transform-origin: 25px 25px;
top: 75px;
left: 75px;
}
75% {
transform-origin: 75px 75px;
top: 25px;
left: 25px;
}
100% {
transform-origin: 100px 100px;
top: 0px;
left: 0px;
}
}
@keyframes grow4 {
0%, 20% {
transform-origin: center;
top: 100px;
left: 100px;
}
25% {
transform-origin: 25px 25px;
top: 75px;
left: 75px;
}
75% {
transform-origin: 75px 75px;
top: 25px;
left: 25px;
}
100% {
transform-origin: 100px 100px;
top: 0px;
left: 0px;
}
}
@keyframes grow5 {
0%, 20% {
transform-origin: center;
top: 100px;
left: 100px;
}
25% {
transform-origin: 25px 25px;
top: 75px;
left: 75px;
}
75% {
transform-origin: 75px 75px;
top: 25px;
left: 25px;
}
100% {
transform-origin: 100px 100px;
top: 0px;
left: 0px;
}
}
#starburst1 .star-wrapper {
position: absolute;
animation:
flicker 100ms steps(2, jump-none) infinite,
grow1 3s linear infinite backwards;
animation-delay: 5s;
}
#starburst2 .star-wrapper {
position: absolute;
animation:
flicker 100ms steps(2, jump-none) infinite,
grow2 3s linear infinite backwards;
animation-delay: 6s;
}
#starburst3 .star-wrapper {
position: absolute;
animation:
flicker 100ms steps(2, jump-none) infinite,
grow3 3s linear infinite backwards;
animation-delay: 6.8s;
}
#starburst4 .star-wrapper {
position: absolute;
animation:
flicker 100ms steps(2, jump-none) infinite,
grow4 3s linear infinite backwards;
animation-delay: 4.7s;
}
#starburst5 .star-wrapper {
position: absolute;
animation:
flicker 100ms steps(2, jump-none) infinite,
grow5 3s linear infinite backwards;
animation-delay: 7s;
}
@for $i from 1 through 10 {
.rotate#{$i} {
transform: rotate(#{36*$i}deg);
}
}
$star-size: 6px;
#starburst1 .particle-star {
background: magenta;
}
#starburst1 .particle-star:before {
background:magenta;
}
#starburst2 .particle-star {
background: orangered;
}
#starburst2 .particle-star:before {
background:orangered;
}
#starburst3 .particle-star {
background: yellow;
}
#starburst3 .particle-star:before {
background:yellow;
}
#starburst4 .particle-star {
background: cyan;
}
#starburst4 .particle-star:before {
background:cyan;
}
#starburst5 .particle-star {
background: lime;
}
#starburst5 .particle-star:before {
background:lime;
}
.particle-star {
opacity: 1;
width: $star-size;
height: $star-size;
position: absolute;
text-align: center;
transform: rotate(20deg);
}
.particle-star:before {
content: "";
position: absolute;
top: 0;
left: 0;
height: $star-size;
width: $star-size;
opacity: 1;
transform: rotate(135deg);
}
@keyframes blur_fade {
0% {
height: 2px;
width: 2px;
opacity: 0;
}
20% {
filter: blur(0.2);
opacity: 0.3;
}
100% {
height: 40px;
width: 40px;
filter: blur(3px);
opacity: 0;
}
}
@keyframes circle {
0% {
transform-origin: -10px -10px;
transform: rotate(0deg);
}
100% {
transform-origin: -10px -10px;
transform: rotate(360deg);
}
}
@for $i from 1 through 30 {
.particle-subtle:nth-child(#{$i}) {
top: random($limit: 8)*50px;
left: random($limit: 14)*50px;
animation:
blur_fade 20s ease infinite alternate,
circle random($limit: 6)+4s linear infinite;
animation-delay: random($limit: 16)-1s, random($limit: 5)-1s;
}
}
#subtle {
background: linear-gradient(#1c0f3b, #4d1354, #1c0f3b);
color: white;
}
#fireworks {
background-image: url("https://upload.wikimedia.org/wikipedia/commons/1/15/Sandiego_skyline_at_night.JPG");
background-size: cover;
background-position: top center;
color: white;
}
#info1 {
background-color: lemonchiffon;
}
#info2 {
background-color: aliceblue;
}
#info3 {
background-color: pink;
}
/* ==========================================================================
Helper classes
========================================================================== */
/*
* Hide visually and from screen readers
*/
.hidden {
display: none !important;
}
/*
* Hide only visually, but have it available for screen readers:
* https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
*
* 1. For long content, line feeds are not interpreted as spaces and small width
* causes content to wrap 1 word per line:
* https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
*/
.sr-only {
border: 0;
clip: rect(0, 0, 0, 0);
height: 1px;
margin: -1px;
overflow: hidden;
padding: 0;
position: absolute;
white-space: nowrap;
width: 1px;
/* 1 */
}
/*
* Extends the .sr-only class to allow the element
* to be focusable when navigated to via the keyboard:
* https://www.drupal.org/node/897638
*/
.sr-only.focusable:active,
.sr-only.focusable:focus {
clip: auto;
height: auto;
margin: 0;
overflow: visible;
position: static;
white-space: inherit;
width: auto;
}
/*
* Hide visually and from screen readers, but maintain layout
*/
.invisible {
visibility: hidden;
}
/*
* Clearfix: contain floats
*
* For modern browsers
* 1. The space content is one way to avoid an Opera bug when the
* `contenteditable` attribute is included anywhere else in the document.
* Otherwise it causes space to appear at the top and bottom of elements
* that receive the `clearfix` class.
* 2. The use of `table` rather than `block` is only necessary if using
* `:before` to contain the top-margins of child elements.
*/
.clearfix:before,
.clearfix:after {
content: " ";
/* 1 */
display: table;
/* 2 */
}
.clearfix:after {
clear: both;
}
/* ==========================================================================
EXAMPLE Media Queries for Responsive Design.
These examples override the primary ('mobile first') styles.
Modify as content requires.
========================================================================== */
@media only screen and (min-width: 35em) {
/* Style adjustments for viewports that meet the condition */
}
@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
/* Style adjustments for high resolution devices */
}
/* ==========================================================================
Print styles.
Inlined to avoid the additional HTTP request:
https://www.phpied.com/delay-loading-your-print-css/
========================================================================== */
@media print {
*,
*:before,
*:after {
background: transparent !important;
color: #000 !important;
/* Black prints faster */
box-shadow: none !important;
text-shadow: none !important;
}
a,
a:visited {
text-decoration: underline;
}
a[href]:after {
content: " (" attr(href) ")";
}
abbr[title]:after {
content: " (" attr(title) ")";
}
/*
* Don't show links that are fragment identifiers,
* or use the `javascript:` pseudo protocol
*/
a[href^="#"]:after,
a[href^="javascript:"]:after {
content: "";
}
pre {
white-space: pre-wrap !important;
}
pre,
blockquote {
border: 1px solid #999;
page-break-inside: avoid;
}
/*
* Printing Tables:
* https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
*/
thead {
display: table-header-group;
}
tr,
img {
page-break-inside: avoid;
}
p,
h2,
h3 {
orphans: 3;
widows: 3;
}
h2,
h3 {
page-break-after: avoid;
}
}