/*
Theme Name: All Things Open 2020
Author: Epic Creature
Author URI: http://epiccreature.com/
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl.html
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; }

body { line-height: 1; }

button { outline: 0; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

q { display: inline; font-style: italic; }

q:before { content: '"'; font-style: normal; }

q:after { content: '"'; font-style: normal; }

textarea, input[type="text"], input[type="button"], input[type="submit"], input[type="reset"], input[type="search"], input[type="password"] { -webkit-appearance: none; appearance: none; border-radius: 0; }

table { border-collapse: collapse; border-spacing: 0; }

th, td { padding: 2px; }

big { font-size: 120%; }

small, sup, sub { font-size: 80%; }

sup { vertical-align: super; }

sub { vertical-align: sub; }

dd { margin-left: 20px; }

kbd, tt { font-family: courier; font-size: 12px; }

ins { text-decoration: underline; }

del, strike, s { text-decoration: line-through; }

dt { font-weight: bold; }

address, cite, var { font-style: italic; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }

.screen-reader-text { clip: rect(1px, 1px, 1px, 1px); position: absolute !important; }

html { box-sizing: border-box; }

*, *:before, *:after { box-sizing: inherit; }

html { font-size: 16px; }

body { font-family: "Open Sans", sans-serif; font-size: 100%; line-height: 1.6; background-color: #050505; background-image: url(img/star-bg.jpg); background-size: 600px auto; color: #aaa; }

img { display: block; padding: 0; margin: 0; max-width: 100%; }

a { color: #e71e25; transition: color 0.5s ease; text-decoration: none; }

a:hover { color: #e79925; }

h1, h2, h3, h4, h5, h6 { font-family: "Assistant", sans-serif; margin: 0 0 0.5rem 0; font-weight: 800; color: white; line-height: 1.3; }

h1 { font-size: 3rem; }

h2 { font-size: 2.6rem; }

h3 { font-size: 2.2rem; font-weight: 300; }

h4 { font-size: 1.8rem; font-weight: 300; }

h5 { font-size: 1.4rem; font-weight: 300; }

h6 { font-size: 1.2rem; font-weight: 800; }

strong { font-weight: 800; }

p, ul, ol, blockquote, pre, table, dl { margin-bottom: 1rem; }

p:last-child, ul:last-child, ol:last-child, blockquote:last-child, pre:last-child, table:last-child, dl:last-child { margin-bottom: 0; }

ol { list-style-type: decimal; margin-left: 2rem; }

ul { list-style-type: disc; margin-left: 2rem; }

li { margin-bottom: 0.25rem; }

li:last-child { margin-bottom: 0; }

#gallery-1.gallery, #gallery-2.gallery, #gallery-3.gallery, #gallery-4.gallery { display: flex; flex-wrap: wrap; margin: -1rem; margin-top: 2rem; margin-bottom: 2rem; }

#gallery-1.gallery .gallery-item, #gallery-2.gallery .gallery-item, #gallery-3.gallery .gallery-item, #gallery-4.gallery .gallery-item { flex-grow: 1; margin-left: 1rem; flex-basis: 45%; max-width: calc( 50% - 1.5rem); display: flex; }

@media screen and (min-width: 800px) { #gallery-1.gallery .gallery-item, #gallery-2.gallery .gallery-item, #gallery-3.gallery .gallery-item, #gallery-4.gallery .gallery-item { flex-basis: 30%; max-width: calc( 33.333% - 1.5rem); } }

#gallery-1.gallery .gallery-item .gallery-icon, #gallery-2.gallery .gallery-item .gallery-icon, #gallery-3.gallery .gallery-item .gallery-icon, #gallery-4.gallery .gallery-item .gallery-icon { display: flex; border: 2px solid #999; }

#gallery-1.gallery .gallery-item a, #gallery-2.gallery .gallery-item a, #gallery-3.gallery .gallery-item a, #gallery-4.gallery .gallery-item a { display: block; display: flex; justify-content: center; align-items: center; padding: 0.5rem; }

#gallery-1.gallery .gallery-item img, #gallery-2.gallery .gallery-item img, #gallery-3.gallery .gallery-item img, #gallery-4.gallery .gallery-item img { height: auto; border: none; }

.hzr { border-bottom: 1px solid #999; height: 0; padding-top: 1rem; margin-bottom: 1rem; opacity: 0.5; }

.responsive-video { padding-bottom: 56.25%; padding-top: 25px; position: relative; height: 0; }

.responsive-video iframe, .responsive-video object, .responsive-video embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.responsive-video-container { background-color: #eee; padding: 1rem; margin-bottom: 3rem; }

@media screen and (min-width: 800px) { .responsive-video-container { padding: 1rem 10rem; } }

.responsive-video-container-compact { padding: 1rem; }

@media screen and (min-width: 800px) { .responsive-video-container-compact { padding: 1rem 20%; } }

.video-thumbnail-frame { padding-bottom: 53%; width: 100%; position: relative; height: 0; background-position: center; border-radius: 4px; margin-bottom: 1rem; }

.btn { display: inline-block; background-color: #e71e25; color: white; padding: 0.5rem 1.5rem; text-decoration: none; transition: color 0.5s ease, background-color 0.5s ease; }

.btn:hover { background-color: white; color: #e71e25; }

.btn-row .btn { margin-right: 0.5rem; margin-bottom: 0.5rem; }

.link-list a { display: block; }

.wrapper { max-width: 1200px; margin: 0 auto; padding: 0 1rem; }

.wrapper-narrow { max-width: 600px; margin: 0 auto; padding: 0 1rem; }

.wrapper-medium { max-width: 800px; margin: 0 auto; padding: 0 1rem; }

.wrapper-large { max-width: 1400px; margin: 0 auto; padding: 0 1rem; }

.row { display: flex; margin-left: -1rem; justify-content: flex-start; flex-wrap: wrap; }

.row.jc { justify-content: center; }

.row.jr { justify-content: flex-end; }

.row.js { justify-content: space-between; }

.row.ac { align-items: center; }

.row.tp { padding-top: 1rem; }

.row.bp { padding-bottom: 1rem; }

.row > .col { margin-left: 1rem; flex-grow: 1; flex-shrink: 0; flex-basis: 95%; max-width: calc( 100% - $gutter); }

.row > .col.c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }

.row > .col.c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }

.row > .col.c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }

.row > .col.c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }

.row > .col.c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }

.row > .col.c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }

.row > .col.c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }

.row > .col.c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }

.row > .col.c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }

.row > .col.c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }

.row > .col.c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }

.row > .col.c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); }

@media screen and (min-width: 400px) { .row > .col.b1c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }
  .row > .col.b1c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }
  .row > .col.b1c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }
  .row > .col.b1c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }
  .row > .col.b1c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }
  .row > .col.b1c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }
  .row > .col.b1c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }
  .row > .col.b1c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }
  .row > .col.b1c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }
  .row > .col.b1c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }
  .row > .col.b1c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }
  .row > .col.b1c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); } }

@media screen and (min-width: 600px) { .row > .col.b2c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }
  .row > .col.b2c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }
  .row > .col.b2c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }
  .row > .col.b2c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }
  .row > .col.b2c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }
  .row > .col.b2c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }
  .row > .col.b2c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }
  .row > .col.b2c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }
  .row > .col.b2c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }
  .row > .col.b2c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }
  .row > .col.b2c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }
  .row > .col.b2c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); } }

@media screen and (min-width: 800px) { .row > .col.b3c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }
  .row > .col.b3c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }
  .row > .col.b3c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }
  .row > .col.b3c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }
  .row > .col.b3c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }
  .row > .col.b3c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }
  .row > .col.b3c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }
  .row > .col.b3c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }
  .row > .col.b3c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }
  .row > .col.b3c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }
  .row > .col.b3c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }
  .row > .col.b3c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); } }

@media screen and (min-width: 1000px) { .row > .col.b4c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }
  .row > .col.b4c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }
  .row > .col.b4c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }
  .row > .col.b4c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }
  .row > .col.b4c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }
  .row > .col.b4c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }
  .row > .col.b4c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }
  .row > .col.b4c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }
  .row > .col.b4c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }
  .row > .col.b4c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }
  .row > .col.b4c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }
  .row > .col.b4c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); } }

@media screen and (min-width: 1200px) { .row > .col.b5c1 { flex-basis: 7.4997%; max-width: calc( 8.333% - 1rem); }
  .row > .col.b5c2 { flex-basis: 14.9994%; max-width: calc( 16.666% - 1rem); }
  .row > .col.b5c3 { flex-basis: 22.4991%; max-width: calc( 24.999% - 1rem); }
  .row > .col.b5c4 { flex-basis: 29.9988%; max-width: calc( 33.332% - 1rem); }
  .row > .col.b5c5 { flex-basis: 37.4985%; max-width: calc( 41.665% - 1rem); }
  .row > .col.b5c6 { flex-basis: 44.9982%; max-width: calc( 49.998% - 1rem); }
  .row > .col.b5c7 { flex-basis: 52.4979%; max-width: calc( 58.331% - 1rem); }
  .row > .col.b5c8 { flex-basis: 59.9976%; max-width: calc( 66.664% - 1rem); }
  .row > .col.b5c9 { flex-basis: 67.4973%; max-width: calc( 74.997% - 1rem); }
  .row > .col.b5c10 { flex-basis: 74.997%; max-width: calc( 83.33% - 1rem); }
  .row > .col.b5c11 { flex-basis: 82.4967%; max-width: calc( 91.663% - 1rem); }
  .row > .col.b5c12 { flex-basis: 89.9964%; max-width: calc( 99.996% - 1rem); } }

.row > .col.ar { text-align: right; }

.nav-links { display: flex; justify-content: space-between; }

.nav-links .nav-previous a, .nav-links .nav-next a { display: block; color: white; background-color: #e71e25; padding: 0.5rem 1.5rem; text-decoration: none; transition: color 0.5s ease, background-color 0.5s ease; }

.nav-links .nav-previous a:hover, .nav-links .nav-next a:hover { background-color: white; color: #e71e25; }

.site-header { padding-top: 1rem; padding-bottom: 1rem; display: flex; align-items: center; justify-content: space-between; }

.site-header .logo { width: 6rem; }

@media screen and (min-width: 800px) { .site-header .logo { width: 9rem; } }

.site-header .site-navigation { display: flex; align-items: center; margin-left: 1rem; }

.site-header .message-banner { text-align: center; font-size: 0.8rem; }

.site-header .message-banner span { color: #e79925; }

.menu-dropdown { display: none; line-height: 1.2; }

.menu-dropdown.visible { background: #b80d13; display: block; position: fixed; left: 0; right: 0; bottom: 0; top: 0; z-index: 10000; }

@media screen and (min-width: 800px) { .menu-dropdown.visible { left: 30%; } }

@media screen and (min-width: 1000px) { .menu-dropdown.visible { left: 50%; } }

.menu-dropdown a { display: block; text-decoration: none; font-family: "Assistant", sans-serif; padding: 0.25rem; font-size: 1.2rem; margin-bottom: 0.25rem; color: white; text-transform: uppercase; transition: background-color 0.5s ease, color 0.5s ease; }

@media screen and (min-width: 800px) { .menu-dropdown a { padding: 1rem 1.25rem; font-size: 1.4rem; } }

.menu-dropdown a:hover { background-color: white; color: #e71e25; }

.open-overlay { order: 1; margin-left: 2rem; background: #e71e25; border: 2px solid #e71e25; }

.open-overlay:hover { border: 2px solid #e79925; }

@media screen and (min-width: 800px) { .open-overlay { font-size: 1.2rem; margin-left: 1rem; order: 2; padding: 0.7rem 1.5rem; } }

.hamburger-icon-css { margin-left: 1rem; background-color: #e71e25; padding: 0.5rem; display: block; transition: background-color 0.5s ease; }

.hamburger-icon-css:hover { background-color: white; }

.hamburger-icon-css:hover span { border-top: 2px solid #e71e25; border-bottom: 2px solid #e71e25; }

.hamburger-icon-css:hover span:after { background-color: #e71e25; }

.hamburger-icon-css span { height: 1.125rem; width: 2.5rem; display: block; border-top: 2px solid white; border-bottom: 2px solid white; transition: border-color 0.5s ease; }

.hamburger-icon-css span:after { content: ""; display: block; height: 2px; margin-top: calc( (1.125rem / 2) - (2px * 1.5)); background-color: white; transition: background-color 0.5s ease; }

.menu-close { padding: 0.5rem 0; border-bottom: 1px solid rgba(255, 255, 255, 0.3); text-align: right; vertical-align: center; margin-bottom: 1rem; }

@media screen and (min-width: 800px) { .menu-close { margin-bottom: 2rem; } }

.menu-close div { display: inline-block; padding: 0.5rem; color: white; }

.menu-close div:hover { background-color: white; color: #e71e25; }

.menu-close div:hover .st0 { fill: #e71e25; }

.menu-close #close-icon-menu-close { width: 1rem; margin-left: 0.5rem; }

.menu-close .st0 { fill: white; }

.site-footer { padding: 5rem 0; background-color: #050505; }

.site-footer-navigation { text-align: center; padding: 2rem; border: 1px solid rgba(255, 255, 255, 0.5); }

.site-footer-navigation a { display: block; padding: 0.25rem; }

@media screen and (min-width: 1200px) { .site-footer-navigation a { display: inline-block; } }

.site-footer-copy { text-align: center; padding-top: 2rem; }

.b-corp { text-align: center; }

.b-corp__logo { max-width: 100px; width: 60%; margin: 0 auto; display: block; padding-top: 2rem; }

.b-corp__text { padding-top: 2rem; }

.page { padding-top: 3rem; }

.page-frame { margin-bottom: 3rem; }

.page-title { padding-bottom: 2rem; line-height: 1; }

.page-404 { text-align: center; margin-bottom: 6rem; }

.page-404-frame { padding: 3rem 2rem; background: #302e2e; }

.page-404 p { margin-bottom: 2rem; }

.post-list > div { margin-bottom: 1rem; background-color: white; color: black; padding: 2rem; }

.post-list > div a { font-weight: 800; text-decoration: none; }

.post-list > div .time { font-size: 0.8rem; }

@keyframes astrorot { 0% { transform: rotateZ(5deg); }
  50% { transform: rotateZ(-5deg); }
  100% { transform: rotateZ(5deg); } }

@keyframes astrobob { 0% { transform: translateY(0); }
  20% { transform: translateY(-17.5px); }
  50% { transform: translateY(15px); }
  70% { transform: translateY(-5px); }
  100% { transform: translateY(0); } }

@keyframes rot { 0% { opacity: 0.3;
    transform: rotateZ(5deg); }
  5% { opacity: 1; }
  6% { opacity: 1; }
  7% { opacity: 0.5; }
  8% { opacity: 1; }
  50% { transform: rotateZ(-5deg); }
  65% { opacity: 1; }
  66% { opacity: 0.5; }
  67% { opacity: 1; }
  99% { opacity: 1; }
  100% { transform: rotateZ(5deg);
    opacity: 0.3; } }

@keyframes bob { 0% { transform: translateY(0); }
  25% { transform: translateY(-7.5px); }
  75% { transform: translateY(10px); }
  100% { transform: translateY(0); } }

@keyframes genie { 0% { opacity: 0;
    transform: scale(0); }
  3% { opacity: 1;
    transform: scale(1.2); }
  6% { transform: scale(0.8); }
  9% { transform: scale(1); }
  90% { opacity: 1; }
  100% { opacity: 0;
    transform: scale(1); } }

.astro-artwork { width: 95%; margin: 0 auto; padding-top: 85%; position: relative; z-index: 100; }

@media screen and (min-width: 800px) { .astro-artwork { flex-basis: 50%; flex-shrink: 0; padding-top: 45%; order: 2; } }

.astro-artwork-frame { position: absolute; left: 0; right: 0; bottom: 0; top: 0; width: 100%; height: 100%; transform: translateY(0); }

.animate-go .astro-artwork-frame { animation: astrobob 20s ease infinite; }

.astro-artwork-main-body { background-image: url(img/astro64.png); background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat; padding-top: 83.333%; width: 100%; position: absolute; left: 0; right: 0; bottom: 0; transform: rotateZ(5deg); transform-origin: 40% 30%; }

.animate-go .astro-artwork-main-body { animation: astrorot 15s ease infinite; }

.astro-artwork-screen-blue div, .astro-artwork-screen-red div, .astro-artwork-screen-yellow div, .astro-artwork-screen-hi div { background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat; position: absolute; left: 0; right: 0; bottom: 0; top: 0; width: 100%; height: 100%; }

.astro-artwork-screen-blue { padding-top: 24.848484%; width: 30%; position: absolute; left: 0; top: 20%; transform: translateY(0); }

.animate-go .astro-artwork-screen-blue { animation: bob 11.2s ease infinite; }

.astro-artwork-screen-blue div { background-image: url(img/astro-screen-blue.png); transform: rotateZ(0); }

.animate-go .astro-artwork-screen-blue div { animation: rot 17.3s ease infinite; }

.astro-artwork-screen-red { padding-top: 18.333333%; width: 20%; position: absolute; left: 0; top: 0; transform: translateY(0); }

.animate-go .astro-artwork-screen-red { animation: bob 8.4s ease infinite; }

.astro-artwork-screen-red div { background-image: url(img/astro-screen-red.png); transform: rotateZ(0); }

.animate-go .astro-artwork-screen-red div { animation: rot 20s ease infinite; }

.astro-artwork-screen-yellow { padding-top: 25.30612%; width: 40%; position: absolute; left: 25%; top: 0; transform: translateY(0); }

.animate-go .astro-artwork-screen-yellow { animation: bob 7s ease infinite; }

.astro-artwork-screen-yellow div { background-image: url(img/astro-screen-yellow.png); transform: rotateZ(0); }

.animate-go .astro-artwork-screen-yellow div { animation: rot 11s ease infinite; }

.astro-artwork-screen-hi { padding-top: 13.977272%; width: 20%; position: absolute; left: 85%; top: 15%; transform: translateY(0); }

.animate-go .astro-artwork-screen-hi { animation: bob 10s ease infinite; }

.astro-artwork-screen-hi div { background-image: url(img/astro-screen-hi.png); transform-origin: 20% 80%; transform: scale(0); opacity: 0; }

.animate-go .astro-artwork-screen-hi div { animation: genie 6s ease 1.5s; }

@keyframes shuttleflight { 0% { left: 0; }
  100% { left: 110%; }
  50% { left: 110%; } }

@keyframes shuttleflight2 { 0% { transform: translateY(50%); }
  50% { transform: translateY(200%); }
  100% { transform: translateY(200%); } }

@keyframes shuttleflight3 { 0% { transform: scale(0) rotate(-30deg);
    opacity: 0.1; }
  25% { opacity: 1; }
  50% { transform: scale(1) rotate(-5deg); }
  100% { transform: scale(1) rotate(-5deg); } }

.home-hero-container { background-image: url(img/earth-rim.jpg); background-size: 140% auto; background-position: center bottom; background-repeat: no-repeat; padding-bottom: 18%; padding-top: 2rem; position: relative; }

.home-hero { position: relative; }

@media screen and (min-width: 800px) { .home-hero { display: flex; align-items: center; } }

.home-hero-content { position: relative; z-index: 200; padding-top: 2rem; padding-bottom: 2rem; }

@media screen and (min-width: 800px) { .home-hero-content { order: 1; margin-right: 10%; } }

.home-hero-content h1, .home-hero-content h2 { color: white; }

.home-hero-content h1 { text-transform: uppercase; line-height: 1; font-size: 2.4rem; }

@media screen and (min-width: 800px) { .home-hero-content h1 { font-size: 3.2rem; } }

@media screen and (min-width: 1000px) { .home-hero-content h1 { font-size: 4rem; } }

@media screen and (min-width: 1000px) { .home-hero-content h1 { font-size: 4.5rem; } }

.home-hero-content h2 { font-size: 1.4rem; font-weight: 300; }

.home-hero-content p { padding: 0.5rem 0; }

@media screen and (min-width: 1000px) { .home-hero-content p { font-size: 1.2rem; padding: 1.5rem 0; } }

.home-hero-shuttle { padding-top: 20%; width: 100%; position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; }

.home-hero-shuttle-art { position: absolute; left: 0; top: 0; width: 10%; }

.animate-go .home-hero-shuttle-art { padding-top: 7.1%; animation: shuttleflight 12s ease-in 3s infinite; }

.home-hero-shuttle-art div { position: absolute; left: 0; right: 0; bottom: 0; top: 0; width: 100%; height: 100%; }

.animate-go .home-hero-shuttle-art > div { transform: translateY(100%); animation: shuttleflight2 12s cubic-bezier(0.5, -1, 1, -1) 3s infinite; }

.home-hero-shuttle-art > div div { background-image: url(img/astro-shuttle.png); background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat; }

.animate-go .home-hero-shuttle-art > div div { transform: scale(0); animation: shuttleflight3 12s linear 3s infinite; }

@media screen and (min-width: 600px) { .home-monitor .section-header h2 { font-size: 2.2rem; } }

@media screen and (min-width: 600px) { .home-monitor .section-header p { font-size: 1.2rem; } }

.home-monitor-img { padding-bottom: 1rem; }

@media screen and (min-width: 600px) { .home-monitor-img { padding-bottom: 0; } }

.home-monitor-text > .row { padding-top: 1rem; align-items: stretch; }

.home-monitor-text .col { position: relative; }

.home-monitor-text .col .slash { position: absolute; background-color: #e71e25; width: 2px; height: 100%; right: -0.5rem; top: 0; bottom: 0; display: block; transform: rotate(5deg); }

.home-monitor-text-item { text-align: center; font-family: "Assistant", sans-serif; }

.home-monitor-text-item span { display: block; font-size: 0.8rem; }

@media screen and (min-width: 600px) { .home-monitor-text-item span { font-size: 1.2rem; } }

.home-monitor-text-item span:first-child { color: #e71e25; font-size: 1.6rem; padding-bottom: 1rem; line-height: 1; font-weight: 800; }

@media screen and (min-width: 600px) { .home-monitor-text-item span:first-child { font-size: 2.8rem; } }

.home-speakers { background-color: #050505; }

.home-speakers .grid { margin-bottom: 1.5rem; border-bottom: 1px solid #e71e25; }

.home-speakers .btn-row { text-align: center; }

.featured-speaker { margin-bottom: 2rem; }

.featured-speaker-headshot { width: 100%; margin-bottom: 0.5rem; }

.featured-speaker-headshot img { border: 1px solid rgba(255, 255, 255, 0.5); transition: filter 0.5s ease; filter: grayscale(90%); }

.featured-speaker-name { font-weight: 800; font-size: 1.2rem; }

.featured-speaker-employer { text-transform: uppercase; opacity: 0.8; font-size: 0.8rem; color: #e79925; }

.featured-speaker-title { text-transform: uppercase; opacity: 0.8; font-size: 0.8rem; }

.featured-speaker a { display: block; text-decoration: none; color: white; transition: color 0.5s ease; }

.featured-speaker a:hover { color: #e79925; }

.featured-speaker a:hover img { filter: grayscale(0%); }

.featured-speaker img { width: 100%; }

.featured-speaker-insert { background: #e71e25; margin-bottom: 2rem; padding: 2rem 0; display: flex; flex-direction: column; justify-content: space-between; }

.featured-speaker-insert p { padding: 0 2rem; color: white; font-size: 2rem; line-height: 1.2; font-weight: 800; font-family: "Assistant", sans-serif; }

.featured-speaker-insert .btn-row { padding: 0 2rem; text-align: right; }

.featured-speaker-insert .btn { background: white; text-transform: uppercase; font-weight: 800; color: #e71e25; font-size: 1.2rem; padding: 0.75rem 2rem; }

.home-topics .btn-row { padding-top: 1rem; text-align: center; }

.featured-topic a { display: block; text-decoration: none; color: white; background-color: #302e2e; padding: 0.5rem 1rem; margin-bottom: 1rem; text-align: center; transition: background-color 0.5s ease; }

.featured-topic a:hover { background-color: #e79925; }

.form .form-row { display: flex; margin-left: -1rem; justify-content: center; }

.form .form-col { margin-left: 1rem; }

.form .form-col-grow { flex-grow: 1; }

.form input { width: 100%; padding: 1rem; font-size: 1rem; border: none; outline: none; }

.form input.btn { border: none; outline: none; }

.form input:not(.btn) { background: white; }

.form-embed-container { margin-top: 2rem; background-color: white; padding: 2rem 1rem; }

.sidebar-card { text-align: center; padding: 1rem 1.5rem; color: white; border: 1px solid #999; margin-bottom: 1rem; }

.sidebar-card h4 { font-size: 1.4rem; font-weight: 800; margin-bottom: 1rem; }

.sidebar-card p { margin-bottom: 1rem; }

.speaker-single { margin-bottom: 6rem; }

.speaker-single .image { margin-right: 3rem; }

.speaker-single .image img { filter: grayscale(80%); }

.speaker-single .page-title { line-height: 1; }

.speaker-single .job { font-style: italic; margin-bottom: 2rem; }

.social-link-list { padding-top: 1rem; }

.social-link-list-item { display: inline-block; padding: 0.5rem 1rem; vertical-align: middle; margin-right: 1rem; color: #ffffff; background-color: #e71e25; transition: background-color 0.5s ease; }

.social-link-list-item:hover { background-color: #e79925; color: #ffffff; }

.social-link-list-item img { width: 2rem; padding-right: 0.5rem; display: inline-block; vertical-align: middle; }

.session-speakers-header { padding: 3rem 0 1rem 0; font-weight: 800; text-transform: uppercase; }

.session-speaker-card a { display: block; }

.session-speaker-card a:hover img { filter: grayscale(0%); }

.session-speaker-card a:hover h4 { color: #e79925; }

.session-speaker-card h4 { font-size: 1.2rem; padding: 1rem 0; transition: color 0.5s ease; }

.session-speaker-card img { filter: grayscale(80%); border: 1px solid rgba(0, 0, 0, 0.5); transition: filter 0.5s ease; }

.sponsor-single { margin-bottom: 6rem; }

.sponsor-single .image { margin-right: 3rem; background-color: white; }

.sponsor-single .image img { filter: grayscale(80%); }

.sponsor-single .page-title { line-height: 1; margin-bottom: 2rem; }

.sponsor-single .job { font-style: italic; margin-bottom: 2rem; }

.single-os-event-btn-row { text-align: center; }

.single-os-event-title { text-align: center; padding: 6rem 1rem 4rem 1rem; background-size: cover; background-position: center; }

@media screen and (min-width: 800px) { .single-os-event-title { padding: 10rem 2rem 4rem 2rem; } }

.single-os-event-title h1, .single-os-event-title p { text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); color: white; font-weight: 800; }

.single-os-event-title h1 { font-size: 3rem; padding-bottom: 0; }

@media screen and (min-width: 800px) { .single-os-event-title h1 { font-size: 5rem; } }

.single-os-event-title p { font-size: 1.4rem; }

.single-os-event .schedule-block { margin-bottom: 3rem; }

.section-schedule { margin-bottom: 3rem; }

.section-schedule-container { margin-bottom: 6rem; }

.section-schedule-container .schedule-header { font-size: 1.6rem; }

.section-schedule-container .day-label { font-weight: 800; text-transform: uppercase; }

.align-right { text-align: right; }

.align-right .btn { font-size: 0.8rem; padding: 0.5rem; }

.section-header-navigation { padding-bottom: 2rem; }

.section-header-navigation-group { text-align: left; margin-bottom: 2rem; }

.section-header-navigation-group .daylink { border-bottom: 1px solid rgba(255, 255, 255, 0.2); padding-bottom: 0.5rem; margin-bottom: 0.5rem; }

.section-header-navigation-group .daylink h1 { display: block; font-size: 1.5rem; font-weight: 800; }

.section-header-navigation-group .daylink small { font-size: 0.8rem; }

.section-header-navigation-group .schedulelink { margin-bottom: 0.5rem; }

.section-header-navigation-group .schedulelink a { display: block; line-height: 1.1rem; margin-right: 0.5rem; }

.section-header-navigation-group .schedulelink img { max-width: 1.25rem; }

.schedule-block { padding-top: 1rem; }

.time-block { padding-bottom: 1rem; border: 1px solid #302e2e; border-bottom: none; padding: 1rem; }

.time-block:last-child { border-bottom: 1px solid #302e2e; }

.time-block-range { color: #e79925; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #302e2e; font-size: 0.8rem; }

@media screen and (min-width: 800px) { .time-block-range { padding-bottom: 0; margin-bottom: 0; border-bottom: none; } }

@media screen and (min-width: 800px) { .time-block-sessions { border-left: 1px solid #302e2e; padding-left: 1rem; } }

.time-block-session-item { padding-bottom: 2rem; }

.time-block-session-item:last-child { padding-bottom: 0; }

.time-block-session-item-cat { color: #aaa; opacity: 0.7; font-size: 0.8rem; font-style: italic; }

.time-block-session-item-speaker { font-size: 0.8rem; }

.time-block-session-item h5 { font-size: 1.3rem; }

.schedule-sidebar { padding-left: 2rem; }

.schedule-sidebar h5 { padding-bottom: 1rem; margin-bottom: 0; font-weight: 800; font-size: 1.2rem; }

.schedule-sidebar a { display: block; margin-bottom: 0.5rem; line-height: 1.2rem; }

.schedule-sidebar .btn { margin-bottom: 0.5rem; }

.schedule-sidebar-group { padding-bottom: 3rem; }

.schedule-hero { border: 1px solid #302e2e; padding: 2rem; margin-bottom: 2rem; }

.schedule-hero h4 { font-weight: 800; }

.main-schedule-sponsor { background-color: white; margin-bottom: 3rem; }

.main-schedule-sponsor h4 { color: #302e2e; font-size: 1.2rem; }

@media screen and (min-width: 800px) { .main-schedule-sponsor h4 { font-size: 2rem; } }

.archive-sponsors-item { display: flex; margin-bottom: 2rem; }

.archive-sponsors-item a { display: flex; flex-direction: column; width: 100%; color: white; transition: color 0.5s ease; }

.archive-sponsors-item a:hover { color: #e79925; }

.archive-sponsors-item a:hover img { filter: grayscale(0); }

.archive-sponsors .image { background: white; padding: 2rem; margin-bottom: 1rem; flex-grow: 1; display: flex; flex-direction: column; justify-content: center; }

.archive-sponsors .image img { height: auto; filter: grayscale(80%); }

.register-option { padding-top: 6rem; padding-bottom: 2rem; }

.register-option-item { background-color: white; border-radius: 4px; margin-bottom: 5rem; color: #050505; position: relative; font-family: "Assistant", sans-serif; display: flex; justify-content: space-between; flex-direction: column; }

.register-option-item-content { padding: 4rem 1rem 1rem 1rem; }

.register-option-number { background-color: red; color: white; font-size: 3rem; height: 7rem; width: 7rem; padding: 2rem; border-radius: 50%; line-height: 1; text-align: center; font-weight: 800; position: absolute; top: -3.5rem; left: calc( 50% - 3.5rem); }

.register-option-type { color: #e71e25; font-size: 1.8rem; font-weight: 800; text-align: center; line-height: 1.1; }

@media screen and (min-width: 1000px) { .register-option-type { font-size: 2.2rem; } }

.register-option-price { font-size: 4rem; font-weight: 800; text-align: center; line-height: 1.1; text-transform: uppercase; }

@media screen and (min-width: 1000px) { .register-option-price { font-size: 5rem; } }

.register-option-price span { font-size: 1rem; font-weight: 800; margin-bottom: 3rem; opacity: 0.4; }

@media screen and (min-width: 1000px) { .register-option-price span { font-size: 1.5rem; } }

.register-option p { text-align: center; font-weight: 800; padding-bottom: 1rem; }

.register-option-link { text-align: center; padding-top: 2rem; }

.register-option-link a { font-size: 1.5rem; font-weight: 800; text-transform: uppercase; font-family: "Assistant", sans-serif; }

.register-option-note { font-weight: 800; padding-top: 2rem; }

.register-option-feature-list li { line-height: 1.3; }

.register-site-link { text-align: center; margin-bottom: 6rem; }

.register-site-link h3 { padding-bottom: 2rem; }

.register-site-link .btn { font-size: 1.4rem; padding: 1rem 2rem; }

.home-header-graphic-container { background-image: url("img/ato-stage-2.jpg"); background-position: left 15% bottom; background-size: cover; background-repeat: no-repeat; padding: 6rem 0; margin-bottom: 3rem; text-align: right; transition: padding 0.5s ease; }

@media screen and (min-width: 800px) { .home-header-graphic-container { padding: 8rem 0 12rem 0; } }

.home-header-graphic-container-inner { width: 50%; margin-right: 10%; margin-left: 50%; }

.home-header-graphic-container h1 { font-size: 1rem; text-transform: uppercase; transition: font-size 0.5s ease; text-shadow: 0 0 12px rgba(5, 5, 5, 0.9); }

@media screen and (min-width: 800px) { .home-header-graphic-container h1 { font-size: 1.4rem; } }

@media screen and (min-width: 800px) { .home-header-graphic-container h1 { font-size: 2.2rem; } }

.home-header-graphic-container h2 { font-size: 1.4rem; margin-bottom: 3rem; margin-top: 2rem; transition: font-size 0.5s ease; text-shadow: 0 0 12px rgba(5, 5, 5, 0.9); }

@media screen and (min-width: 600px) { .home-header-graphic-container h2 { font-size: 2.4rem; } }

@media screen and (min-width: 800px) { .home-header-graphic-container h2 { font-size: 3.6rem; } }

.home-header-graphic-container h4 { color: #e71e25; text-transform: uppercase; font-size: 1.4rem; margin: 1rem 0; font-weight: 800; text-shadow: 0 0 12px rgba(5, 5, 5, 0.9); }

.newsletter-section-container .btn-row { text-align: center; padding-bottom: 3rem; }

.section-header { text-align: center; }

.section-header h2 { color: white; text-transform: uppercase; font-size: 2.2rem; padding-bottom: 1.5rem; margin-bottom: 1.5rem; border-bottom: 1px solid #e71e25; }

.light-screen .section-header h2 { color: #050505; }

.light-screen .section-header { color: #302e2e; }

.section-header p { padding-bottom: 2.6rem; font-size: 1.2rem; }

.section-header-narrow { max-width: 400px; margin: 0 auto; }

.section-spacer { padding-top: 10rem; }

.section-spacer-small { padding-top: 6rem; }

.content-section { text-align: center; }

.content-section-wrapper { padding: 2rem; }

.content-section p { color: white; }

.content-section .section-header p { color: #999; }

.content-section .btn-row { padding-top: 2rem; text-align: center; }

.home-intro { background-image: url(img/mars-globe.png); background-size: auto 100%; background-position: center center; background-repeat: no-repeat; }

.home-intro-shapes { padding: 8rem 0; background-image: url(img/angles2.svg); background-size: 80% 100%; background-position: left center; background-repeat: no-repeat; }

@media screen and (min-width: 800px) { .home-intro-shapes { padding: 12rem 0; } }

.home-newsletter { padding-bottom: 5rem; }

.home-angles-container { background-image: url(img/angles.svg); background-size: 100% 100%; background-position: center center; background-repeat: no-repeat; }

.newsletter-section-header h3 { color: white; font-size: 1.2rem; font-weight: 800; }

.light-screen { background-color: #eee; padding: 10rem 0; }

.home-sponsors { padding-bottom: 10rem; }

.home-sponsors .btn-row { text-align: center; }

.sponsor-card { display: flex; flex-direction: column; background-color: white; justify-content: center; box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2); margin-bottom: 1rem; }

.sponsor-card:hover { box-shadow: 0 3px 7px rgba(0, 0, 0, 0.4); }

.sponsor-card a { display: flex; align-items: center; justify-content: center; padding: 2rem; }

.sponsor-card img { display: block; width: 70%; }

.sponsor-t1 { min-height: 10rem; }

@media screen and (min-width: 800px) { .sponsor-t1 { min-height: 14rem; } }

.sponsor-t1 a { padding: 2rem; }

.sponsor-t2 { min-height: 8rem; }

@media screen and (min-width: 800px) { .sponsor-t2 { min-height: 10rem; } }

.sponsor-t2 a { padding: 2rem; }

@media screen and (min-width: 600px) { .sponsor-t2 a { padding: 1.25rem; } }

.sponsor-t3 { min-height: 6rem; }

@media screen and (min-width: 800px) { .sponsor-t3 { min-height: 8rem; } }

.sponsor-t3 a { padding: 1.5rem; }

@media screen and (min-width: 600px) { .sponsor-t3 a { padding: 1rem; } }

.sponsor-t4 { min-height: 5rem; }

@media screen and (min-width: 800px) { .sponsor-t4 { min-height: 6rem; } }

.sponsor-t4 a { padding: 0.7rem; }

@media screen and (min-width: 800px) { .sponsor-t4 a { padding: 0.2rem; } }

.sponsor-t5 { min-height: 4rem; }

@media screen and (min-width: 800px) { .sponsor-t5 { min-height: 5rem; } }

.sponsor-t5 a { padding: 0.4rem; }

@media screen and (min-width: 800px) { .sponsor-t5 a { padding: 0.2rem; } }

.sponsor-t6 { min-height: 3rem; }

@media screen and (min-width: 800px) { .sponsor-t6 { min-height: 4rem; } }

.sponsor-t6 a { padding: 0.4rem; }

@media screen and (min-width: 800px) { .sponsor-t6 a { padding: 0.5rem 1rem; } }

.ambassador-row-1 { text-align: center; margin-bottom: 8rem; }

.ambassador-row-1 .col { margin-bottom: 1rem; }

.ambassador-row-1 h3 { color: #e71e25; font-weight: 800; text-transform: uppercase; font-size: 2rem; }

@media screen and (min-width: 800px) { .ambassador-row-1 h3 { font-size: 2rem; } }

.ambassador-row-2 { margin-bottom: 6rem; }

.ambassador-row-2 .col { display: flex; align-items: flex-start; margin-bottom: 1rem; }

.ambassador-row-2 .col-num { color: white; font-size: 2rem; line-height: 1; text-align: center; padding: 1rem; margin-right: 0.5rem; width: 4rem; height: 4rem; border-radius: 10rem; background-color: #e71e25; font-weight: 800; flex-shrink: 0; }

.ambassador-pg-section-header { color: white; text-transform: uppercase; font-size: 2rem; }

@media screen and (min-width: 800px) { .ambassador-pg-section-header { font-size: 3.2rem; } }

.ambassador-note { margin-bottom: 4rem; }

.home-inclusion-group { padding-top: 1rem; }

.home-inclusion-group-item img { margin-bottom: 1rem; }

.home-inclusion-group-item p { font-size: 1.2rem; font-weight: 800; font-family: "Assistant", sans-serif; }

.featured-attendees-image { padding: 0.5rem; width: 100%; }

@media screen and (min-width: 800px) { .featured-attendees-image { padding: 1rem; } }

.featured-attendees-image img { filter: grayscale(100%); max-height: 4.5rem; margin: 0 auto; }

.home-featured-attendees { background-image: url(img/jupiter-globe.png); background-size: auto 100%; background-position: center center; background-repeat: no-repeat; }

.home-featured-attendees-shapes { padding: 8rem 0; background-image: url(img/angles2.svg); background-size: 80% 100%; background-position: left center; background-repeat: no-repeat; }

@media screen and (min-width: 800px) { .home-featured-attendees-shapes { padding: 12rem 0; } }

.home-featured-attendees .row { padding-top: 2rem; }

.home-featured-attendees .col { background-color: white; margin-bottom: 1rem; display: flex; align-items: center; }
