/* Desktop */
body{
	overflow-x: hidden;
	max-width: 100%;
}
#mobnav-btn {
	display: none;
	/*text-indent: -9999px;
	background: #cceffc url(../images/icon_mobile_nav.png) center center no-repeat;
	width: 35px;
	height: 35px;*/
	cursor: pointer;
	position: absolute;
	right: 0px;
	top: 0px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	border-radius: 4px;
	border: 1px solid #fff;
	padding: 7px;
	background-color: #0073ae;
	color: #fff;
	font-weight: normal;
	font-size: 0.9em;
}

#mobnav-btn:hover {
	background-color: #f0b419;
}
#masthead #nav_main_menu ul li a span{
	padding-top: 3px;
	padding-bottom: 3px;
}
.mobnav-subarrow {
	display: none;
}

#social_icons_footer {
	display: none;
}
	#social_icons_footer li{
		float: left;
		text-align: center;
		width: 33%;
		-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
		-moz-box-sizing: border-box;    /* Firefox, other Gecko */
		box-sizing: border-box;         /* Opera/IE 8+ */
	}
	#social_icons_footer .social_icon_facebook a { background: url(../images/social_icon_facebook.png) left center no-repeat; }
	#social_icons_footer .social_icon_twitter a { background: url(../images/social_icon_twitter.png) left center no-repeat; }
	#social_icons_footer .social_icon_instagram a { background: url(../images/social_icon_instagram.png) left center no-repeat; }
	#social_icons_footer a{			
		font-size: 15px;
		padding-left: 41px;
		height: 32px;
		line-height: 32px;
		color: #fff;
		text-decoration: none;
	}


	#mobile-block-usa-festival{
		width: 40%;
		float: right;
		display: block;
		text-align: right;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
	}
		#mobile-block-usa-festival img{
			width: 50%;
			max-width: 126px;
		}

	#footer_block_wgbh{
		padding-left: 100px;
		padding-top: 10px;
	}


/* Menu Fixes */
@media screen and (max-width: 1280px) {
	
	body {
		overflow-x: hidden;
	}
	
	/* Main Menu */
	#masthead #nav_main_menu {
		width: auto;
		left: 0;
	}
	
		#masthead #nav_main_menu ul li a span {
			font-size: 16px;
			padding: 3px 10px;
		}
		
		
		#masthead #nav_main_menu ul li.menu_the_challenge {
			margin-right: 20px;
		}
		
		#masthead #nav_main_menu ul li.menu_media {
			margin-right: 110px;
		}
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| Desktop
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/


/* Hide Social */
@media screen and (max-width: 1140px){
	#social_media_icons{display: none;}
	#social_icons_footer{display: block;}
	/* social Icons footer */
	
	#social_icons_footer {
		display: block;
		margin: 20px 0px;
	}
	
		#social_icons_footer li {
			display: block;
		}
	
		#social_icons_footer a {
			display: inline-block;
		}
		#floating_callout{display: block;}
}


/* Reposition floating callout */
@media screen and (max-width: 1240px){
	#floating_callout{
		right: 100px;
		top: 30px;
		left: auto;
		width: auto;
	}
	#main.main-interior #floating_callout{
		top: 30px;
		right: 100px;
		left: inherit;
	}	
}


/* Fullwidth Container, Adjust Header */
@media screen and (max-width: 1040px){
	
	#container{width: 100%;}
	
	#masthead{
		width: 800px;
		height: 100px;
		margin-left: auto;
		margin-right: auto;
		position: relative;
	}
	#main.main-interior #robot_right_arm {
		right: -110px;
	}
	
	#home_content {
		width: auto;
	}
	
	#masthead {
		height: auto;
		display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
		display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
		display: -ms-flexbox;      /* TWEENER - IE 10 */
		display: -webkit-flex;     /* NEW - Chrome */
		display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
		-webkit-box-direction: normal;
		-moz-box-direction: normal;
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	
	#masthead #date_block {	
		  -webkit-box-ordinal-group: 1;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 1;      /* OLD - Firefox 19- */
		  -ms-flex-order: 1;              /* TWEENER - IE 10 */
		  -webkit-order: 1;               /* NEW - Chrome */
		  order: 1;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	#masthead #logo {	
		  -webkit-box-ordinal-group: 2;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 2;      /* OLD - Firefox 19- */
		  -ms-flex-order: 2;              /* TWEENER - IE 10 */
		  -webkit-order: 2;               /* NEW - Chrome */
		  order: 2;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
	#masthead #nav_main_menu {	
		  -webkit-box-ordinal-group: 3;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 3;      /* OLD - Firefox 19- */
		  -ms-flex-order: 3;              /* TWEENER - IE 10 */
		  -webkit-order: 3;               /* NEW - Chrome */
		  order: 3;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
	#masthead #logo a {
		float: none;
		max-width: 375px;
		width: auto;
	}
	
	#masthead #date_block {
		float: none;
		margin: 0px 60px 20px 0px;
		text-align: left;
		line-height: normal;
	}
	
		#masthead #date_block .date { font-size: 20px; white-space: nowrap; }
		#masthead #date_block .time {font-size: 16px; white-space: nowrap; }
		#masthead #date_block .location { font-size: 12px; }


	#robot_head{
		background-size: contain;
		left: 50%;
		margin-left: -130px;
	}
	#robot_body{
		left: 50%;
		margin-left: -246px;
	}
	#robot_treads{
		left: 50%;
		margin-left: -217px;
	}
	#robot_left_arm{
		left: 50%;
		margin-left: -553px;
	}
	body.home #robot_right_arm {
		margin-right: -556px;
	}	
	#robot_right_arm{
		right: 50% !important;
		margin-right: -626px;
	}
	#logo{
		display: block;
		float: none;
		clear:both;
		width: 325px;
	}
	
	#logo a{
		background-size: 100% auto !important;
	}
	
	#main.main-interior #floating_callout{
		top: 30px;
		right: 100px;
	}
	
	/* Menu Responsive */
	
	#mobnav-btn {
        display: block;
    }
    .mobnav-subarrow {
        display: block;
        background: #078dbf url(../images/icon_mobile_nav_arrow.gif) center center no-repeat;
        border-bottom: 1px solid white;
        border-top: 1px solid black;
        height: 30px;
        width: 30px;
        position: absolute;
        top: 8px;
        right: 10px;
        cursor: pointer;
    }
    .sf-menu {
        width: 100%!important;
        display: none;
    }
    .sf-menu li {
        float: none!important;
        display: block!important;
        width: 100%!important;
    }
    .sf-menu li a {
        float: none!important;
    }
    .sf-menu ul {
        position:static!important;
        display: none!important;
    }
    .xpopdrop ul {
        display: block!important;
		opacity: 1 !important;
		-webkit-opacity: 1 !important;
		-moz-opacity: 1 !important;
    }
    #nav_main_menu .xactive {
        display: block !important;
    }
	
	#masthead #nav_main_menu {
		clear: both;
		position: relative;
		bottom: auto;
		left: auto;
		margin: 0;
		padding: 10px 0px
	}
	
		#masthead #nav_main_menu ul {
			width: auto !important;
		}
		
		#masthead #nav_main_menu ul li {
			margin: 0 !important;
			padding: 0 !important;
			float: none !important;
		}
		
			#masthead #nav_main_menu ul li a {
				background: #06759e !important;
				padding: 0px !important;
			}
			
				#masthead #nav_main_menu ul ul li a {
					background: #05688c !important;
				}
			
				#masthead #nav_main_menu ul li a span {
					display: block;
					padding: 10px 15px !important;
				}
				
					#masthead #nav_main_menu ul ul li a span {
						padding: 10px 15px 10px 35px !important;
					}
			
				#masthead #nav_main_menu ul li a:hover span {
					background-color: #065b7b !important;
				}
				
				#masthead #nav_main_menu ul#menu-main-menu ul {
					margin: 0 !important;
					padding: 0 !important;
					background: none !important;
				}
				
				#masthead #nav_main_menu ul ul li a span:before {
					display: none !important;
				}
	
	
}

@media screen and (max-width: 1035px){
	#home_content h2 { padding-right: 120px; }	
}

@media screen and (max-width: 1024px){
	#container {
		width: auto;
		padding: 25px;
		overflow: hidden;
	}
	
	#home_content {
		width: 80%;
		margin: 0 auto;
	}
	#slideshow_wrap {
		/*margin-bottom: 24px;*/
}

@media screen and (max-width: 900px){
	#home_content h2 { padding-right: 50px; }	
}

/*- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
| Tablet
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 838px) {
	
	/* Layout */
	#masthead{
		width: 100%;
	}
	#container {
		width: auto;
		padding: 25px;
		overflow: hidden;
	}
	
	#home_content {
		width: 75%;
		margin: 0 auto;
	}
	
	#interior_content {
		width: auto;
		margin: 0 auto;
	}
	
	#footer_main {
		width: auto;
	}
	
	#home_content {
		padding: 20px;
	}
	
	#main,
	#main.main-interior {
		padding-top: 105px;
	}
		
		.interior_content_inner {
			padding: 20px;
		}
		
		.the-content #page_title {
			padding: 24px 20px;
		}
	
	
	/* Header */
	
	#masthead #date_block {
		margin-top: 0px;
		margin-right: 70px;
	}
	
	#masthead #logo a {
		background-size: contain;
		width: 40%;
	}
	
	#masthead #social_media_icons { display: none; }

	/* Robot */
	
	#robot_head {
		background-size: contain;
		left: 50%;
		width: 120px;
		margin-left: -60px;
		top: 0;
	}
	
	#robot_body,
	#robot_treads { display: none; }
	
	#robot_left_arm {
		background-size: contain;
		display: block;
		left: 477px;
		top: 160px;
		width: 120px;
		height: 140px;
	}
	
	#robot_right_arm {
		background: url(../images/slideshow_robot_right_arm_interior.png) no-repeat;
		z-index: 15;
		background-size: contain;
		display: block;
		margin-right: -518px;
		top: 300px;
		width: 120px;
	}
	body.home #robot_right_arm{
		display: none;
	}
	body.home #mobile-robot-right-arm{
		position: absolute;
		background: url(../images/slideshow_robot_right_arm.png) no-repeat;
		background-size: auto 294px;
		height: 294px;
		width: 105px;
		top: -250px;
		right: -48px;
		margin-right: 0;
	}
	
	#main.main-interior #robot_right_arm {
		background-size: contain;
		display: block;
		right: -109px;
		top: 300px !important;
		width: 120px;
	}
	
	/* Slideshow */
	
	#slideshow_wrap {
		height: auto;
	}
	
		#slideshow_home {
			top: auto;
			width: 100%;
			min-height: 0;
			-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
			-moz-box-sizing: border-box;    /* Firefox, other Gecko */
			box-sizing: border-box;         /* Opera/IE 8+ */
			margin-bottom: 10px;
		}
		
			#slideshow_home_nav {
				width: 50%;
				height: 100px;
				margin: 0 auto 20px;
				position: relative;
				top: auto;
				right: auto;
				background: url(../images/slideshow_robot_treads_anim.gif) center center no-repeat;
				background-size: contain;
			}
			
				#slideshow_home_nav a#next {
					position: absolute;
					right: -78px;
					top: 0px;
				}
				
				#slideshow_home_nav a#prev {
					position: absolute;
					right: -38px;
					top: 0px;
				}
		
			#slideshow_home img {
				width: 100%;
			}
			
	/* Floating Callout */
	#main.main-interior #floating_callout,
	#floating_callout {
		right: 0px;
		top: 20px;
		left: auto;
		width: auto;
	}
	
	/* Footer */
	#footer_inner {
		padding: 10px;
	}
	
	.footer_block {
		padding: 0px 2% !important;
		text-align: center;
	}
	
	#footer_block_wpi:after,
	#footer_block_nasa:after { display: none; }
	
	#footer_block_wpi img {
    margin-bottom: 10px !important;
	}
	
	#footer_block_wpi a.text {
    font-size: 0.8em;
	}
	
	#footer_block_nasa img {
		float: none;
		margin: inherit;
		padding-top: 14px;
	}
	#footer_block_wgbh img{
		padding-top: 14px;
	}
	.footer_block a {
		display: block;
		margin-left: auto;
		margin-right: auto;
	}
	
	.footer_block img {
		display: inline-block;
		max-width: 100%;
		-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
		-moz-box-sizing: border-box;    /* Firefox, other Gecko */
		box-sizing: border-box;         /* Opera/IE 8+ */
	}	
}


@media screen and (max-width: 875px) {
	#main.main-interior #robot_right_arm {
		right: 409px !important;
	}
	
	#home_content {
		width: auto;
	}
	
	#masthead {
		display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
		display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
		display: -ms-flexbox;      /* TWEENER - IE 10 */
		display: -webkit-flex;     /* NEW - Chrome */
		display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */
		-webkit-box-direction: normal;
		-moz-box-direction: normal;
		-webkit-box-orient: vertical;
		-moz-box-orient: vertical;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	
	#masthead #date_block {	
		  -webkit-box-ordinal-group: 1;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 1;      /* OLD - Firefox 19- */
		  -ms-flex-order: 1;              /* TWEENER - IE 10 */
		  -webkit-order: 1;               /* NEW - Chrome */
		  order: 1;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	#masthead #logo {	
		  -webkit-box-ordinal-group: 2;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 2;      /* OLD - Firefox 19- */
		  -ms-flex-order: 2;              /* TWEENER - IE 10 */
		  -webkit-order: 2;               /* NEW - Chrome */
		  order: 2;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
	#masthead #nav_main_menu {	
		  -webkit-box-ordinal-group: 3;   /* OLD - iOS 6-, Safari 3.1-6 */
		  -moz-box-ordinal-group: 3;      /* OLD - Firefox 19- */
		  -ms-flex-order: 3;              /* TWEENER - IE 10 */
		  -webkit-order: 3;               /* NEW - Chrome */
		  order: 3;                       /* NEW, Spec - Opera 12.1, Firefox 20+ */
	}
	
	#masthead #logo a {
		float: none;
		max-width: 375px;
		width: auto;
	}
	
	#masthead #date_block {
		float: none;
		margin: 0px 60px 20px 0px;
		text-align: left;
		line-height: normal;
	}
	
		#masthead #date_block .date { font-size: 20px; white-space: nowrap; }
		#masthead #date_block .time {font-size: 16px; white-space: nowrap; }
		#masthead #date_block .location { font-size: 12px; }
	
	
	/* Home Video */
	
	#home_video {
		width: auto;
		padding: 3%;
	}
	
	#home_video_carousel { display: none; }
	
	#home_video #home_video_player_wrap { 
		/* width: auto; */
		margin: 0 auto;  
		float: none;
	}
	
		#home_video #home_video_player_wrap #home_video_player {
			width: auto !important; 
			height: auto !important;
			min-height: 270px !important;
		}

	
}

@media screen and (max-width: 600px) {
	
	#home_content h2 { padding-right: 10px; }

	.the-content { font-size: 13px; }
	.the-content h1 { font-size: 24px; color: #999999; }
	.the-content h2 { font-size: 16px; color: #003366; }
	.the-content h3 { font-size: 12px; color: #CC0033; }
	.the-content h4, .the-content h5, .the-content h6 { font-size: 12px; color: #000; }
	.the-content form > label, .the-content form > p > label { font-size: 13px; }

	a#preview-button span { background-position: 20px 10px; }
	
	#copyright_line {
		font-size: 12px;
		line-height: 18px;
	}
	

	#container {
		padding: 15px;
	}
	
	.footer_block {
		width: auto;
		float: none;
		margin: 30px auto;
	}
	
	.the-content .wpcf7-checkbox .wpcf7-list-item {
		display: block;
		width:auto;
	}
	
	.the-content form input[type="text"], .the-content form input[type="email"], .the-content form input[type="tel"], .the-content form textarea {
		max-width: 100%;
	}
	
	#main.main-interior #floating_callout, #floating_callout {
		display: none;
	}
	
	#masthead #nav_main_menu {
		padding: 0;
	}
	
	#masthead #nav_main_menu ul#menu-main-menu {
		margin-bottom: 10px;
	}
	
	#slideshow_home_nav {
		height: 60px;
	}

	#main.main-interior #floating_callout, #floating_callout{
		font-size: 10px;
		line-height: 14px;
		font-weight: normal;
		display: inline-block !important;
		background-size: 30px;
		background-position: 20px 6px;
		top: 60px;
		right: -10px;
	}
	body.home #mobile-robot-right-arm{
		background-size: auto 194px;
		top: -165px;
		right: -68px;
	}

	
	.footer_block{
		padding: 0;
		width: 100%;
		text-align: center;
		margin-bottom: 20px;
		border-bottom: 1px solid #80ccec;
	}
		.footer_block a{
			padding-bottom: 10px;			
		}
		#footer_block_wgbh{
			margin-bottom: 0;
			border-bottom: none;
		}
			#footer_block_wgbh img{
				padding-top: 14px;
				margin-bottom: 0 !important;
			}
		.footer-block img{max-width: 100px;}
	#footer_block_wpi{
		float: left;
		padding-left: 6px !important;
		margin-bottom: 10px;
	}
		#footer_block_wpi a{
			display: inline-block;
			vertical-align: middle;
			height: auto;
		}
		#footer_block_wpi .icon img{
			margin: 0;
		}
		#footer_block_wpi .text{
			text-align: center;
			font-size: 12px;
		}
	#footer_block_nasa{
		float: left;
		margin-top: 8px;
		margin-bottom: 15px;
	}
		#footer_block_nasa img{
			margin-bottom: 5px;
			padding-top: 0;
		}
	#footer_block_usa_festival{
		display: none;
	}

	#copyright_line{
		width: 60%;
		float: left;
	}
	#mobile-block-usa-festival{padding-top: 10px;}
}


@media screen and (max-width:550px) {
	#home_video #home_video_player_wrap { width: auto; }
	
	#home_video #home_video_player_wrap iframe,
	#home_video #home_video_player_wrap object,
	#home_video #home_video_player_wrap embed {
		width: 100% !important;
		height: 100% !important;
	}
}

@media screen and (max-width:500px) {
	a#preview-button {
		float: none;
		margin: 0 auto 20px auto;
	}
}


@media screen and (max-width: 444px) {
	#logo{width: 100%;}
		#logo a{max-width: 100%;}

    .recaptchatable #recaptcha_image {
    margin: 0 !important;
    width: 200px !important;
    }
	
	.recaptchatable #recaptcha_image img {
		max-width: 100%;
	}
	
    .recaptchatable .recaptcha_r1_c1, .recaptchatable .recaptcha_r2_c2, .recaptchatable .recaptcha_r3_c1, .recaptchatable .recaptcha_r3_c2, .recaptchatable .recaptcha_r7_c1, .recaptchatable .recaptcha_r8_c1, .recaptchatable .recaptcha_r3_c3, .recaptchatable .recaptcha_r2_c1, .recaptchatable .recaptcha_r4_c1, .recaptchatable .recaptcha_r4_c2, .recaptchatable .recaptcha_r4_c4, .recaptchatable .recaptcha_image_cell {

    background: none !important;
    }
	

	
	body.home #robot_left_arm {
		top: 120px;
		left: 481px;
		background-size: 100px auto;
	}
	
}


@media screen and (max-width: 400px) {
	
	#slideshow_home_nav {
		height:auto;
		text-align: left;
		width: 100%;
		height: 60px;
	}
	
		#slideshow_home_nav a {
			display: inline-block !important;
			float: none !important;
			position: relative !important;
			top: auto !important;
			right: auto !important;
			margin-top: 11px;
		}
		
		#slideshow_home_nav a#prev {
			display: block;
			float: left;
		}
		
		#slideshow_home_nav a#next {
			display: block;
			float: right !important;
		}

		#main.main-interior #floating_callout, #floating_callout{
			/*
			width: 100%;
			-webkit-box-sizing: border-box;
			-moz-box-sizing: border-box;
			box-sizing: border-box;
			text-align: right;
			*/
			background: none;
		}
	#social_icons_footer a span {
		font-size: 10px;
	}
}


/*!==============================================
| Animations (ended up using JS vs CSS3 for legacy IE support)
=================================================*/
#antenna {
	z-index: 9999;
    border: 8px solid rgb(255, 204, 0);
    border-radius: 128px;
    height: 0;
    width: 0;
    position: absolute;
	left: 0px;
	top: 0px;
    opacity: 0.0;
}