body {
    width: 100%;
    height: 100%;
    font-family: Roboto Slab,Helvetica,Arial,sans-serif;
	font-weight: 300;
    color: #fff;
    background-color: #FFFFFF;
	overflow-x: hidden;
}

html {
    width: 100%;
    height: 100%;
}


/* TEXT STYLES */

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0 0 0px;
    text-transform:none;
    font-family: Roboto Slab,Helvetica,Arial,sans-serif;
	font-weight: 100;
    letter-spacing: 1px;
}

.article-head {
    font-size: 3.5rem;
	font-weight: 700;
	color: #fff;
	padding: 0px 0 0 0;
	text-shadow: 1.5px 1.5px 2px rgba(0,0,0,0.70);
}

.article-subhead {
    font-size: 3rem;
	font-weight: 300;
	color: #fff;
	padding: 0px 0 30px 0;
	text-shadow: 1.5px 1.5px 2px rgba(0,0,0,0.70);
}

.article-subhead2 {
	font-size: 3rem;
	color: #000;
	padding: 0px 0 30px 0;
	text-shadow: 1.5px 1.5px 2px rgba(220,220,220,0.90);
}

p {
    margin: 0 0 25px;
    font-size: 18px;
    line-height: 1.5;
}

.credit-text {
	text-shadow: 1.5px 1.5px 2px rgba(0,0,0,0.70);
}

.attrib-text {
	text-shadow: 1.5px 1.5px 2px rgba(0,0,0,0.70);
}

/*MEDIA QUERY FOR TEXT ON LARGER SCREENS */
@media(min-width:768px) {
    .article-head {
		font-weight: 700;
        font-size: 9rem;
    }
	
	.article-subhead {
    font-size: 5rem;
	color: #fff;
	padding: 0px 0 30px 0;
	}
	
	.article-subhead2 {
	font-size: 5rem;
	color: #000;
	padding: 0px 0 30px 0;
	}
	
	p {
      margin: 0 0 35px;
      font-size: 20px;
      line-height: 1.6;
    }
}

/*END MEDIA QUERY */

a {
    color: #2AC0C4;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
}

a.white {
	color: #fff;
}

a.black {
	color: #000;
	text-shadow: 1px 1.5px 1.5px rgba(255,255,255,1.00);
}


a.black:hover,
a.black:focus {
	color: #fff;
	text-shadow: 1px 1.5px 1.5px rgba(0,0,0,1.00);
}


a:hover,
a:focus {
    text-decoration: none;
    color: #9CE7EA;
}


.light {
    font-weight: 400;
}

.pullquote {
	padding-top: 100px;
	padding-bottom: 30px;
	font-family: Roboto Slab,Helvetica,Arial,sans-serif;
	font-weight: 500;
    font-size: 2.25rem;
    letter-spacing: 1px;
	color:#6E6E6E;
}

@media screen and (max-width: 767px)
{
    .pullquote { 
		display : none; 
	}
}

.dropcap { 
	float: left; font-size: 60px; 
	line-height: 10px; 
	padding-top: 4px; 
	padding-right: 8px; 
	padding-left: 3px; 
}

.divider {
	text-align:center;
	font-size:14px;
}
/* END TEXT STYLES */

/* FOR CUBE 2 FONT */

@font-face {
  font-family: "cube2";
  src:url("../fonts/cube2.eot");
  src:url("../fonts/cube2.eot?#iefix") format("embedded-opentype"),
    url("../fonts/cube2.woff") format("woff"),
    url("../fonts/cube2.ttf") format("truetype"),
    url("../fonts/cube2.svg#cube2") format("svg");
  font-weight: normal;
  font-style: normal;

}

[data-icon]:before {
  font-family: "cube2" !important;
  content: attr(data-icon);
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

[class^="icon-"]:before,
[class*=" icon-"]:before {
  font-family: "cube2" !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  speak: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-cube2:before {
  content: "b";
}
/* END CUBE 2 FONT */

.navcube {
	font-size: 18px;
}	
	
	
/*START NAVBAR STYLES */

.navbar {
	margin-bottom: 0;
	border-bottom: 1px solid rgba(255,255,255,.3);
	text-transform: uppercase;
	font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
	background-color: #000;
	-webkit-transform: translateZ(0);
}

.navalign {
    vertical-align: middle;
}

.navbar-brand {
    padding: 12px;
}

.navbar-brand:focus {
    outline: 0;
}

.navbar-custom a {
    color: #fff;
}

.navbar-custom .nav li a {
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.navbar-custom .nav li a:hover,
.navbar-custom .nav li a:focus,
.navbar-custom .nav li.active {
    outline: 0;
    background-color: #000;
}

.navbar-toggle {
    padding: 4px 6px;
    font-size: 16px;
    color: #fff;
}

.navbar-toggle:focus,
.navbar-toggle:active {
    outline: 0;
}

@media(min-width:768px) {
    .navbar {
        padding: 10px 0; /*change first padding figure to increase depth of initial navbar */
        border-bottom: 0;
        letter-spacing: 1px;
        background: 0 0;
        -webkit-transition: background .5s ease-in-out,padding .5s ease-in-out;
        -moz-transition: background .5s ease-in-out,padding .5s ease-in-out;
        transition: background .5s ease-in-out,padding .5s ease-in-out;
		background-color: #000000;
    } 

    .top-nav-collapse {
	padding: 0;
	background-color:#000;
    }

    .navbar-custom.top-nav-collapse {
        border-bottom: 1px solid #000;
    }
} 

.footer {
	padding: 10px 0;
}

.footnav {
	text-align: center;
}

.footnav-links {
	display: inline-block; 
}

/*END NAVBAR STYLES */

/*START SCROLLING STYLES */

.btn-circle {
    font-size: 40px;
    color: #ffff00;
    background: #00000;
    -webkit-transition: background .3s ease-in-out;
    -moz-transition: background .3s ease-in-out;
    transition: background .3s ease-in-out;
}

.btn-circle:hover,
.btn-circle:focus {
    outline: 0;
    color: #fff;
}

.page-scroll .btn-circle i.animated {
    -webkit-transition-property: -webkit-transform;
    -webkit-transition-duration: 1s;
    -moz-transition-property: -moz-transform;
    -moz-transition-duration: 1s;
}

.page-scroll .btn-circle:hover i.animated {
    -webkit-animation-name: pulse;
    -moz-animation-name: pulse;
    -webkit-animation-duration: 1.5s;
    -moz-animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
    -moz-animation-iteration-count: infinite;
    -webkit-animation-timing-function: linear;
    -moz-animation-timing-function: linear;
}

.btn {
    text-transform: uppercase;
    font-family: Montserrat,"Helvetica Neue",Helvetica,Arial,sans-serif;
    font-weight: 400;
    -webkit-transition: all .3s ease-in-out;
    -moz-transition: all .3s ease-in-out;
    transition: all .3s ease-in-out;
}

.btn-default {
    border: 1px solid #fff;
    color: #fff;
    background-color: transparent;
}

.btn-default:hover,
.btn-default:focus {
    border: 1px solid #fff;
    outline: 0;
    color: #fff;
    background-color: #000;
}

.btn-huge {
    padding: 25px;
    font-size: 26px;
}


.banner-social-buttons {
    margin-top: 0;
}

.network-name {
	color:#fff;
}

@media(max-width:1199px) {
    ul.banner-social-buttons {
        margin-top: 15px;
    }
}

@media(max-width:767px) {
    ul.banner-social-buttons>li {
        display: block;
        margin-bottom: 20px;
        padding: 0;
    }

    ul.banner-social-buttons>li:last-child {
        margin-bottom: 0;
    }
}

/*START SCROLLING STYLES */

/*START VIDEO STYLES*/

.video-hidden {
	position:relative;
	overflow:hidden;
}

.bgvid { 
  	position: fixed;
	min-width: 100%;
  	min-height: 100%;
  	width: auto;
  	height: auto;
 	background: url(../video/openerpt2.png) no-repeat;
 	background-size: cover;
	z-index: -1000;
	overflow: hidden;
}

@media screen and (max-width: 767px)
{
    .bgvid { 
		display : none; 
	}
}

.section-wrapper {
	position: relative;
	width:100%;
	height: 575px;
}

@media screen and (max-width: 767px) {
	
	.section-wrapper {
	position: relative;
	width:100%;
	height: 400px;
	}
	
	
	#part2 {
		height: 400px;
		background:url(../video/taniguchi-opener.jpg);
    	background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
	}
	
	#part3 {
		height: 400px;
		background:url(../video/nukume-opener.jpg);
    	background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
	}
	
	#part4 {
		height: 400px;
		background:url(../video/yamaguchi-opener.jpg);
    	background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
	}
	
	#part5 {
		height: 400px;
		background:url(../video/kanno-opener.jpg);
    	background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
	}
	
	#part6 {
		height: 400px;
		background:url(../video/idpw-opener.jpg);
    	background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
	}
}

.section-video {
	position: relative;
	top: 0px;
	width: 100%;
	z-index: -10;
	overflow: hidden;
}

.section-video2 {
	position: relative;
	top: 0px;
	width: 100%;
	z-index: -1;
	overflow: hidden;
}

.section-opener {
	position: absolute;
	height: 100%;
	top: 0px;
	padding: 50px 0;
	z-index: 10;
	
}

.bgvid2 { 
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
}

@media screen and (max-width: 767px) {
    .bgvid2 { 
		display : none; 
	}
}

.overlay {
	position:fixed;
  	width: 100%;
  	height: 100%;
	background-image:url(../img/overlay.png);
	z-index: -20;
}

/*END VIDEO STYLES */
 
/* START CONTENT STYLES */

.container-full {
	height: 100%;
}

.container-fluid {
      padding: 0; 
}

.row {
  margin-left: 0px;
  margin-right: 0px;
}

.opener {
	/*width: 100%;
	position:relative; */
	height: 100% !important;
	z-index:-50;
}

@media screen and (max-width: 767px) {
	.opener {
		/*width: 100%;*/
		position:relative; 
		height: 100% !important;
		background:url(../video/openerpt2-mobile.jpg);
		-webkit-background-size: cover;
    	-moz-background-size: cover;
    	background-size: cover;
    	-o-background-size: cover;
		background-attachment:scroll;
		background-position: top left, bottom center;
		background-repeat: no-repeat;
		z-index:-50;
	}
}
.opener-section {
	/*width: 100%; */
	height: 100%;
}

.opener-body {
    padding: 100px 0;
	vertical-align: middle;
}	
	
.caption {
	padding: 0px 10px 20px 0px;
	text-align: left;
	margin-left: 0px;
   	margin-right: 0px;
}

.caption-container {
	position: relative;
}

.caption-bottom {
	position: absolute;
	bottom: 20px;
	text-shadow: 1px 1.5px 1.5px rgba(0,0,0,0.90);		
}	

.caption-bottom.black {
	color:#000000;
	position: absolute;
	bottom: 20px;
	text-shadow: 1px 1px .5px rgba(255,255,255,0.95);		
}	

.sidebar-image {
	padding-top: 0px;
	padding-bottom: 5px;
}

.sidebar-outer {
	margin-left: auto;
   	margin-right: auto;
    position: relative;
}

.intro {
	width: 100%;
	padding: 100px 0;
	text-align: center;
	color: #fff;
	background-color: rgba(0,0,0,.75);
	/*background-attachment: fixed, fixed;
	background-position: top left, bottom center;
	background-repeat: repeat; */
}

.intro-text {
    font-size: 25px;
}

.story {
    position: static;
	width: 100%;
    padding: 50px 0;
    color: #000;
    background: url(../img/bg_pattern2b.gif);
	*background-color: #fff; 
	background-attachment: fixed;
	background-repeat: repeat;
	
}
		
.contact-section {
	position: static;
	width: 100%;
    padding: 100px 0;
	text-align: center;
	color: #fff;
    background: url(../img/bg_pattern3b.gif);
	background-color: #000;
	background-attachment: fixed;
	background-repeat: repeat;
}

/* THIS IS THE HACK FOR CHROME'S background-attachment: fixed; PROBLEM. BUT NOT PERFECT BECAUSE YOU LOSE THE PARALLAX SCROLL EFFECT*/
@supports (-webkit-appearance:none) {
	.story {
	background-attachment: scroll;
	}
	.contact-section {
	background-attachment: scroll;
	}
}
/*END CHROME HACK */  

.content-box {
	padding: 2.5em 0.75em 2.5em 0.75em;
	background-color: rgba(255,255,255,0.75);
}
				
@media(min-width:768px) {
	.content-box {
		padding: 3.5em 2.5em 3.5em 2.5em;
		background-color: rgba(255,255,255,0.75);
	}
}