/*******************
 * GLOBAL SITE CSS *
 *******************/

@font-face {
    font-family: 'dino-font';
    src: url('/dinosaurtrain/media/fonts/dino-font-webfont.eot');
    src: url('/dinosaurtrain/media/fonts/dino-font-webfont.eot?#iefix') format('embedded-opentype'),
         url('/dinosaurtrain/media/fonts/dino-font-webfont.woff2') format('woff2'),
         url('/dinosaurtrain/media/fonts/dino-font-webfont.woff') format('woff'),
         url('/dinosaurtrain/media/fonts/dino-font-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: arial;
	color: #333333;
	background-size: cover;
	background-color: #92D9F5;
	margin: 0px;
	padding: 0px;
	font-size: 1em;
	text-align: center;
	overflow-x: hidden;
	overflow-y: scroll;

    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: none;
    text-size-adjust: none;
}

body.ready {
	background-image: url("../media/images/general_BG.png");
}

body.small-site {
    background-attachment: fixed;
}

a, a:active, a:link, a:visited {
	color: white;
	text-decoration: none;
}

a:hover {
	color: white;
	text-decoration: underline;
}

a img {
	border: none;
}

small {
	margin: 1em 0 0.5em 0;
}

/* HTML5 block-level reset for enhanced structural tag support in older browsers */
header, footer, section, aside, nav, article, figure, main {
	display: block;
	padding: 0;
	margin: 0;
}

/*
 * Main sections' size rules
 */
header, main, nav, footer {
	margin: auto;
	min-width: 18em;
}

.pbs-kids-logo-small {
	width: 55px;
	height: 55px;
	margin: 8px;
}

/*
 * HEADER
 */
header#site-header {
	height: 10em;
	font-size: 1em;
	text-align: left;
	position: relative;
	z-index: 1;
	opacity: 0.001;

    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -ms-transition: opacity 1s;
    transition: opacity 1s;
}

.ready header#site-header {
	opacity: 1;
}

.small-site header#site-header {
	padding-top: 6em;
	font-size: 0.6em;
}

#pbs-kids-logo img {
	width: 5em;
	height: 5em;
	margin: 1em 1em 1em 5%;
}

#dinosaur-train-logo img {
	width: 10em;
	vertical-align: top;
	margin: 0 1em;
}

aside#sponsors {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1em;
    padding: 0.5em;
    font-family: dino-font;
    color: white;
    text-shadow: 0 0 0.2em black;
}

.small-site aside#sponsors {
	background: rgba(0,0,0,0.2);
	height: 3.6em;
	width: 100%;
	text-align: right;
	padding: 1em;
}

aside#sponsors ul {
    display: inline-block;
    margin: 0;
    padding: 0;
    vertical-align: top;
}

aside#sponsors li {
    display: inline-block;
    margin: 0 0.2em;
}

aside#sponsors a {
	cursor: pointer;
	text-decoration: none;
}

aside#sponsors img {
	max-width: 90px;
	max-height: 48px;
}

.small-site aside#sponsors img {
	max-width: 55px;
	max-height: 29px;
}

/*
 * MAIN PAGE CONTENT
 */
main {
	position: relative;
	min-height: 300px;
	opacity: 0.001;

    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -ms-transition: opacity 1s;
    transition: opacity 1s;
}

.small-site main {
	min-height: 200px;
}

.ready main {
	opacity: 1;
}


main > iframe {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border:  none;
    width: 100%;
    height: 100%;
}


.htmlContent {
	padding: 1em 5%;
	text-align: center;
	margin: 0;
}

h1 {
	font-size: 1.8em;
	color: #046;
	font-weight: normal;
	margin: 0 0 1em 0;
	padding: 0;
	font-family: dino-font;
}
h2 {
	font-size: 1.1em;
	color: #f37901;
	margin: 2em 0 0.2em 0;
	padding: 0;
}
h3 {
	font-weight: bold;
	font-size: 1em;
}

.htmlContent img {
	width: 50%;
}

form {
    text-align: left;
    width: 28em;
    margin: auto;
}

/*
 * NAVIGATION
 */
#site-navigation {
	position: relative;
	opacity: 0.001;

    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -ms-transition: opacity 1s;
    transition: opacity 1s;
}

.ready #site-navigation {
	opacity: 1;
}

#site-navigation ul {
	margin: 0;
	padding: 0;
}

#site-navigation li {
	display: inline-block;
	margin: 0.4%;
	width: 23%;
	max-width: 8.4em;
}

#site-navigation li a {
	display: block;
	height: 0;
	padding-bottom: 104%;
	width: 100%;
	background-repeat: no-repeat;
	background-image: url('../media/images/categories.png');
	background-size: 400% 200%;
	color: transparent;
	font-size: 0.1em;
}

#games-link        {background-position:       0%   0%;}
#games-link:active {background-position:       0% 100%;}
#guide-link        {background-position:  33.333%   0%;}
#guide-link:active {background-position:  33.333% 100%;}
#video-link        {background-position:  66.667%   0%;}
#video-link:active {background-position:  66.667% 100%;}
#print-link        {background-position:     100%   0%;}
#print-link:active {background-position:     100% 100%;}

.mobile-device #print-nav {display: none;}

/*
 * FOOTER
 */
.footer-parents-toggler {
	display: none;
	padding: 0.6em 0;
	cursor: pointer;
}

.small-site .footer-parents-toggler {
	display: block;
}

footer {
	min-height: 100px;
    font-size: 0.8em;
    text-align: center;
    background-image: url('../media/images/bottom_bar.png');
    background-size: 17px;
    background-repeat: repeat-x;
    padding-top: 17px;
    background-color: #f18903;
    opacity: 0.001;
    -webkit-transition: opacity 1s;
    -moz-transition: opacity 1s;
    -ms-transition: opacity 1s;
    transition: opacity 1s;
}

.ready footer {
	opacity: 1;
}

.small-site footer.hide-footer {
	display: none;
}

footer ul {
	display: inline-block;
	margin: 0;
	padding: 0;
}

ul#activities {
    float: left;
}

ul#activities.crunched {
    float: none;
}

#bys {
    float: right;
    max-width: 20em;
}

#bys.crunched {
    float: none;
    max-width: 30em;
    margin: auto;
}

#activities li {
	border-radius: 1em;
	display: inline-block;
	margin: 0.3em;
	max-width: 12em;
	overflow: hidden;
	position: relative;
	vertical-align: middle;
}

#activities li a {
	display: block;
	width: 100%;
}

#activities li a img {
	width: 100%;
}

#bys div {
	display: inline-block;
	margin: 0.3em;
	vertical-align: top;
}

.medium-site #bys ul, .small-site #bys ul, .medium-site #activities ul, .small-site #activities ul {
	width: 100%;
}

.medium-site #bys li, .small-site #bys li, .medium-site #activities li, .small-site #activities li {
    display: inline-block;
    margin: 0.3%;
    width: 20%;
    max-width: 15em;
    overflow: hidden;
    position: relative;
}

.medium-site #bys li a, .small-site #bys li a, .medium-site #activities li a, .small-site #activities li a {
	display: block;
	width: 100%;
}

/*
 * Footer Site Map
 */
.small-site ul.sitemap {
	background-color: transparent;
}

ul.sitemap {
	clear: both;
	padding: 1em 0;
	margin: 0;
	display: block;
	background-color: #f18903;
}

ul.sitemap li {
    list-style-type: none;
    display: inline;
}

ul.sitemap li:before {
content: " | ";
}

ul.sitemap li:first-child:before {
content: none;
}

/* Full Screen */
.full-screen {
    width: 100%;
    height: 100% !important;
    position: fixed !important;
    left: 0;
    top: 0;
    margin: 0;
    padding: 0;
    background-image: url("../media/images/general_BG.png");
	background-size: cover;
	z-index: 10000;
}

.toggle-fullscreen {
background: url('/dinosaurtrain/media/images/options.png') 0 0 no-repeat;
background-size: 300%;
bottom: -2.4em;
right: 0;
width: 4em;
height: 3.6em;
z-index: 10;
position: absolute;
cursor: pointer;
}

.mobile-device .toggle-fullscreen {
	display: none !important;
}

.full-screen .toggle-fullscreen {
background: url('/dinosaurtrain/media/images/options.png') 0 100% no-repeat;
background-size: 300%;
}

#toggle-cc {
	background: url('/dinosaurtrain/media/images/options.png') 50% 0 no-repeat;
	background-size: 300%;
	bottom: -2.4em;
	right: 8em;
	width: 4em;
	height: 3.6em;
	z-index: 10;
	position: absolute;
	cursor: pointer;
}
#toggle-cc.unmuted {
	background: url('/dinosaurtrain/media/images/options.png') 50% 100% no-repeat;
	background-size: 300%;
}

#toggle-sound {
	background: url('/dinosaurtrain/media/images/options.png') 100% 0 no-repeat;
	background-size: 300%;
	bottom: -2.4em;
	right: 4em;
	width: 4em;
	height: 3.6em;
	z-index: 10;
	position: absolute;
	cursor: pointer;
}
#toggle-sound.muted {
	background: url('/dinosaurtrain/media/images/options.png') 100% 100% no-repeat;
	background-size: 300%;
}


/*******************
 * SINGLE PAGE CSS *
 *******************/

/* This is the main HTML5 content window */
div#main_content {
	height: 100%;
	text-align: center;
	position: relative;
}


/**
 * Loading Animation
 */

@-webkit-keyframes letter-bounce {
  from {-webkit-transform: translateY(0);}
  10%  {-webkit-transform: translateY(-0.2em);}
  20%  {-webkit-transform: translateY(0);}
  to   {-webkit-transform: translateY(0);}
}

@-moz-keyframes letter-bounce {
  from {-moz-transform: translateY(0);}
  10%  {-moz-transform: translateY(-0.2em);}
  20%  {-moz-transform: translateY(0);}
  to   {-moz-transform: translateY(0);}
}

@-ms-keyframes letter-bounce {
  from {-ms-transform: translateY(0);}
  10%  {-ms-transform: translateY(-0.2em);}
  20%  {-ms-transform: translateY(0);}
  to   {-ms-transform: translateY(0);}
}

@keyframes letter-bounce {
  from {transform: translateY(0);}
  10%  {transform: translateY(-0.2em);}
  20%  {transform: translateY(0);}
  to   {transform: translateY(0);}
}

.game-loader {
    position: absolute;
    font-family: dino-font;
    color: #fff;
    text-shadow: 0 0 0.1em #0279BE,0 0 0.1em #0279BE,0 0 0.1em #0279BE,0 0 0.1em #0279BE,0 0 0.1em #0279BE,0 0 0.1em #0279BE;
    width: 100%;
    top: 40%;
    font-size: 2.5em;
    position: relative;
}

.game-loader span {
	padding: 0 0.05em;
	display: inline-block;
}

.bump-0 {-webkit-animation: letter-bounce 1s linear 2000ms infinite; -moz-animation: letter-bounce 1s linear 2000ms infinite; -ms-animation: letter-bounce 1s linear 2000ms infinite; animation: letter-bounce 1s linear 2000ms infinite;}
.bump-1 {-webkit-animation: letter-bounce 1s linear 2050ms infinite; -moz-animation: letter-bounce 1s linear 2050ms infinite; -ms-animation: letter-bounce 1s linear 2050ms infinite; animation: letter-bounce 1s linear 2050ms infinite;}
.bump-2 {-webkit-animation: letter-bounce 1s linear 2100ms infinite; -moz-animation: letter-bounce 1s linear 2100ms infinite; -ms-animation: letter-bounce 1s linear 2100ms infinite; animation: letter-bounce 1s linear 2100ms infinite;}
.bump-3 {-webkit-animation: letter-bounce 1s linear 2150ms infinite; -moz-animation: letter-bounce 1s linear 2150ms infinite; -ms-animation: letter-bounce 1s linear 2150ms infinite; animation: letter-bounce 1s linear 2150ms infinite;}
.bump-4 {-webkit-animation: letter-bounce 1s linear 2200ms infinite; -moz-animation: letter-bounce 1s linear 2200ms infinite; -ms-animation: letter-bounce 1s linear 2200ms infinite; animation: letter-bounce 1s linear 2200ms infinite;}
.bump-5 {-webkit-animation: letter-bounce 1s linear 2250ms infinite; -moz-animation: letter-bounce 1s linear 2250ms infinite; -ms-animation: letter-bounce 1s linear 2250ms infinite; animation: letter-bounce 1s linear 2250ms infinite;}
.bump-6 {-webkit-animation: letter-bounce 1s linear 2300ms infinite; -moz-animation: letter-bounce 1s linear 2300ms infinite; -ms-animation: letter-bounce 1s linear 2300ms infinite; animation: letter-bounce 1s linear 2300ms infinite;}
.bump-7 {-webkit-animation: letter-bounce 1s linear 2350ms infinite; -moz-animation: letter-bounce 1s linear 2350ms infinite; -ms-animation: letter-bounce 1s linear 2350ms infinite; animation: letter-bounce 1s linear 2350ms infinite;}
.bump-8 {-webkit-animation: letter-bounce 1s linear 2400ms infinite; -moz-animation: letter-bounce 1s linear 2400ms infinite; -ms-animation: letter-bounce 1s linear 2400ms infinite; animation: letter-bounce 1s linear 2400ms infinite;}
.bump-9 {-webkit-animation: letter-bounce 1s linear 2450ms infinite; -moz-animation: letter-bounce 1s linear 2450ms infinite; -ms-animation: letter-bounce 1s linear 2450ms infinite; animation: letter-bounce 1s linear 2450ms infinite;}

/* Local Headband Overrides. Getting styles to work since the 2023 version of DT site does not have headband JS for squished version - makefully-mig */
@media only screen and (max-width: 650px) {
    #dt-content #headband-container #parents-message-bar #squished-headband-toggle {
        display: none;
    }
    
    #dt-content #headband-container .headband-nav {
        height: 40px;
        grid-template-areas: none;
        margin-top: 0;
        display: flex;
        justify-content: space-between;
    }
    
    #dt-content #headband-container .headband-nav .headband-supplementary-nav {    
        background-color: transparent;
        color: revert;
        justify-content: revert;
        grid-area: none;
        height: auto;
    }
}
