/*Global*/
* {
  transition-duration: 0.5s;
  font-family: sans-serif;
}

header h1{
  text-align: center;
  color:#FFC408;
}

.nav-list{
  display: flex;
}

nav li{
  width:  14%;
  text-align: center;
  padding: 10px 0
}

.nav-dropdown-bnt ul{
  display: none;
}

.nav-dropdown-bnt:hover .nav-dropdown-container{
  display: flex;
  flex-direction: column;
}

.nav-dropdown-container{
  margin: 0;
  padding: 0;
  width: 14%;
  z-index: 1;
  position: absolute;
  background-color: black;
}

.nav-dropdown-list{
  width: 100%;
}

a {
  text-decoration: none;
  color: #E83015;
}

a:hover{
  text-decoration: none;
  color:#E03C8A;
}

nav a {
  color: #FFC408;
}

nav li:hover{
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24);
  background-color: #6E552F
}

.activePage {
  background-color: white;
  
}

.activePage a{
  color: black;
}

body {
  background-color: #434343;
}

img{
  max-width: 100%;
}

p{
  text-indent: 20px;
}

ul li {
  list-style-type: none;
}

ul,ol{
  padding: 0;
  margin: 10px 0;
}

h1,h2,h3,h4,h5,h6{
  text-align: center;  
}

/*Index*/
.index-cover{
  width: 1000px;
  margin: auto ;
}

body{
  color: white;
}

.intro-container{
  width: 90%;
  margin: auto;
}

.intro-abstract{
  margin: 50px;
  font-size: 23px;
}

.intro-p{
  padding: 0 15px;
}

.intro-cover_1,.intro-cover_3{
  border-radius: 0px 20px 20px 0px;
}

.intro-cover_2,.intro-cover_4{
  border-radius: 20px 0px 0px 20px;
}

.food,.jp,.view,.share{
  margin: 0;
}

.food{
  background-color: #BC9F77;
  border-radius: 20px;
}

.view{
  background-color: #89916B;
  border-radius: 20px;
}

.jp{
  background-color: #4F726C;
  border-radius: 20px;
}

.share{
  background-color: #2B5F75;
  border-radius: 20px;
}

.food, .jp{
  display: grid;
  grid-template-columns:50% 50%;
  grid-template-rows:40px auto 40px;
}

.view, .share{
  display: grid;
  grid-template-columns:50% 50%;
  grid-template-rows:40px auto 40px;
}

.food a, .jp a{
  grid-row: 3;
  grid-column: 1/2;
}

.view a, .share a{
  grid-row: 3;
  grid-column: 2/3;
}

.intro button{
  margin: auto;
  height: 90%;
  width: 80%;
  background-color: gray;
  background-color: white;
  border: none;
  border-radius: 5px;
  display: block;
}

.intro button:hover{
  background-color: #555555;
  color: white;
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24)
}

.food p, .jp p{
  grid-row:2/3;
  grid-column: 1/2;
  margin: 0;
}

.view p, .share p{
  grid-row: 2/3;
  grid-column: 2/3;
}

.food figure, .jp figure{
  grid-column: 2/3;
  grid-row: 1/4;
  margin: 0;
}

.view figure, .share figure{
  grid-row: 1/4;
  grid-column: 1/2;
  margin: 0;
}

.food h2, .jp h2{
  grid-column: 1;
  margin: 0;  
}

.view h2, .share h2{
  grid-column: 2;
  margin: 0; 
}

/*FOOD*/
.food-intro-container{
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 10px;
}

#food section{
  width: 90%;
  margin: auto;
}

.food-list-container{
  display: grid;
  grid-template-columns: 25% 25% 25% 25%;
  grid-gap: 20px;
  align-content: space-evenly;
  justify-content: space-evenly;
}

.food-list-item{
  border: 2px solid white;
  border-radius: 10px;
}

.food-list-item img{
  position: relative;
  width:100%; 
  height:200px;
  display: block;
  margin: auto;
  border-radius: 10px 10px 0 0;
}

.food-list-item h4{
  margin: 100px auto;
  font-size: 20pt;
}

.food-list-hover{
  display: none;
  width: 90%;
  margin: 10px auto;
}

.food-list-item:hover .food-list-hover{
  display: block;
}

.food-list-item:hover h4{
  margin: auto; 
}

/*VIEW*/
.fuji img{
  width: 70%;
  transition: width 5s, height 5s, transform 5s;
}
.fuji:hover {
    transform:scale(1.2) rotate(20deg) translate(100px);
}
.Tokyo img{
  width: 70%;
  transition: width 5s, height 5s, transform 5s;
}
.Tokyo:hover {
    transform:scale(1.5)  translate(100px);
}
.Kiyomizu img{
  width: 80%;
  transition: width 5s, height 5s, transform 5s;
}
.Kiyomizu:hover {
    transform:scale(1.5) translate(100px);
}
.Fushimi-Inari img{
  width: 80%;
  transition: width 5s, height 5s, transform 5s;
}
.Fushimi-Inari:hover {
    transform:scale(1.5) translate(100px);
}
.Osaka img{
  width: 80%;
  transition: width 5s, height 5s, transform 5s;
}
.Osaka:hover {
    transform:scale(1.5) translate(100px);
}
.view-intro-container{
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 20px;
}

/*Rail*/
.rail-cover h2{
  border: 1px solid white;
  width: 400px;
  margin: 20px auto;
  padding: 10px;
  background-color:rgba(12,12,12,0.9) ;
}

.rail-cover h2:hover{
  background: white;
  color: black;
}

.rail-cover {
  background-image: url(https://yxue.w3.uvm.edu/cs008/final/assets/images/rail/rail_cover.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  height: 600px;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
}

.rail-cover p{
  background-color: rgba(79,79,72,0.8);
  width: 90%;
  height: 80%;
  margin: auto;
  letter-spacing: 3px;
  line-height: 2.5em; 
  padding: 20px;
}

.logo-list-container{
  display: flex;
  flex-direction: column;
  width: 50%;
}

.logo-list-item h5{
  display: inline-block;
  width: 80%;
}

.logo-list-item{
  width: 450px;
  border: 1px solid white;
  margin: 20px auto;
  border-radius: 10px;
}

.rail_logo{
  width: 50px;
  height: 50px;
  display: inline-block;
  margin: 0;
}

.rail_logo img{
  border-radius: 10px;
}

.rail-bg{
  background-repeat: no-repeat;
  background-size: cover;
  width: 100%;
  background-position: center center;
  background-attachment: fixed;
  background-repeat: no-repeat;
  margin: 100px auto;
}

.rail-info-right{
  position: absolute;
  right: 0;
  width: 50%;
  letter-spacing: 3px;
  line-height: 2.5em;
  padding: 20px;
}

.rail-info-left{
  position: absolute;
  left: 0;
  width: 50%;
  letter-spacing: 3px;
  line-height: 2.5em;
  padding: 20px;
}

.rail-title-left{
  width: 50%;
  position: absolute;
  left: 0;
  z-index: 1
}

.rail-title-right{
  width: 50%;
  position: absolute;
  right: 0;
  z-index: 1
}

.shinkansen {
  background-image: url(https://yxue.w3.uvm.edu/cs008/final/assets/images/rail/shinkansen.jpg);
  height: 800px;
}

.shinkansen p{
  background-color: rgba(12,12,72,0.5);
  height: 800px;
}

.shinkansen-title{
  width: 50%;
  position: absolute;
  right: 0;
}
.logo-title{
  width: 50%;
}

.shinkansen-map{
  width: 400px;
}

#rail ol{
  margin: 0;
  padding: 0;
}

.shiki{
  background-image: url(https://yxue.w3.uvm.edu/cs008/final/assets/images/rail/Shiki_Shima.jpg);
  height: 800px;
}

.shiki p{
  background-color: rgba(98,89,44,0.5);
  height: 800px;
}

.sunrise{
  background-image: url(https://yxue.w3.uvm.edu/cs008/final/assets/images/rail/sunrise.jpg);
  height: 800px;
}

.sunrise p{
  background-color: rgba(165,160,72,0.5);
  height: 800px;
}

.enoshima{
  background-image: url(https://yxue.w3.uvm.edu/cs008/final/assets/images/rail/enoshima.jpg);
  height: 800px;
}

.enoshima p{
  background-color: rgba(30,136,72,0.5);
  height: 800px;
}

.enoshima figure{
  width: 600px;
  float: right;
}

.rail-reference-container{
  width: 80%;
  display: grid;
  margin: 10px auto;
  border: 1px solid white;
  border-radius: 10px;
}

.rail-reference-item{
  padding: 10px;
  text-align: center;
}

/*Share*/
#share button{
  width: 90%;
  margin: 20px auto;
  padding: 5px;
  display: block;
  border: none;
  border-radius: 10px;
}

#share button:hover {
  background-color: #2EA9DF;
  color: white;
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24)
}

form{
  border: 2px solid white;
  padding: 10px;
}

fieldset{
  border: 1px solid white;
  border-radius: 10px
}

legend{
  text-align: center;
}

input[type=text],input[type=url]{
  border: none;
  background: none;
  border-bottom: 2px solid white;
  width: 20%;
  color:white;
}

input[type=text]:hover,input[type=text]:hover{
  border-color: #EFBB24;
}

textarea{
  width: 80%;
  border-radius:10px;
  padding: 10px;
}

input,select,textarea{
  margin-left: 20px; 
}

input[type=text]:focus,input[type=url]:focus{
  border-color: #66afe9;
  width: 50%;
  outline: 0;
  box-shadow: 0 0 8px rgba(102,175,233,.6);
  padding: 10px;
}

label{
  width: 80%;
  display: block;
}

form p{
  border: 1px #4F726C solid;
  border-radius: 10px;
  padding: 10px;
  margin: 5px 20% ;
}

form p:hover{
  box-shadow:  0 12px 16px 0 rgba(0,0,0,0.24);
}

select{
  border: none;
  background-color:#005CAF;
  color:white;
}

.success{
	margin: auto;
	width: 50%;
	padding: 10px;
	color: #4caf50;
	text-align: center;
	background-color: #ddffdd;
  border-left: 6px solid #4caf50;	
}

.mistake{
	margin: auto;
	width: 50%;
	padding: 10px;
	color: #f44336;
	text-align: center;
	background-color: #ffdddd;
  border-left: 6px solid #f44336;	
}

/*About*/
.about-intro-container{
  display:grid;
  grid-template-columns: 30% 30% 30%;
  grid-gap: 10px;
  justify-content: center;
  align-content: center;
}

.about-intro-item{
  border: 1px solid white;
  border-radius: 5px;
  height:450px;
  padding:10px;
}

.about-intro-item figcaption{
  border-top: 2px solid white;
  text-align:center;
}


.about-intro-item img{
  border: 2px solid white;
  border-radius:50%;
  width:100px;
  height:100px;
  overflow:hidden;
  margin: 10px auto;
  display: block;
}

.about-video video{
  width: 90%;
  height: auto;
  display: block;
  margin: 20px auto;
  border: 2px solid white;
}
.about-tech-container{
  display: grid;
  grid-template-columns: auto auto auto;
  grid-gap: 20px;
  justify-content: center;
  align-content: center;
}

.about-tech-item{
  border: 1px solid white;
  border-radius: 20px;
}

.about-tech-item img{
  height: 128px;
  border-right: 2px solid white;
  margin: 5px 0;
}

.about-tech-item a{
  font-size: 30pt;
  padding: 5px;
  color: white;
}

.about-tech-item a:hover{
  color: #FFB11B;
}

/*SQL*/
#sql section {
	width: 90%;
	background-color:#227D51;
	color: #F7D94C;
	border-radius: 5px;
	margin: 10px auto;
	padding: 10px;
}

#sql section:hover{
  box-shadow: 0 30px 30px 0 rgba(0,0,0,0.24)
}

code{
	font-family: Courier New;
	color: white;
  font-size: 15pt;
}

/*Data*/
.data-container{
  display: grid;
  border: 2px solid white;
  grid-template-columns: 20% 20% 20% 20%;
  justify-content: center;
  align-content: center;
  grid-gap: 20px;
  padding: 50px 0;
}
.data-item{
  padding: 0;
  margin: 0;
  border: 2px solid white;
  border-radius: 10px;
}
.data-item:hover{
  box-shadow: 0 20px 20px 0 rgba(247,217,76,0.5)
}

.data-item li{
  border-top: 2px solid;
}

.data-item img{
  margin: 0 10px;
}

.data-date h4{
  font-size: 10pt;
}

.data-tag {
  display: grid;
  grid-template-columns: auto auto auto auto auto;
  grid-gap:5px;
  padding: 5px;
}

.tag-1,.tag-2,.tag-3,.tag-4,.tag-5{
  border-radius: 5px;
  text-align: center;
  width: 45px
}

.tag-1{
  background: #BEC23F;
}

.tag-2{
  background: #877F6C;
}

.tag-3{
  background: #005CAF;
}

.tag-4{
  background: #622954;
}

.tag-5{
  background: #9F353A;
}

.data-rate{
  text-align: center;
}

.data-content{
  padding: 10px;
}

.data-cover{
  padding: 0;
  border-radius: 5px;
  margin: 0;
  border-bottom: 2px solid white;
  height: 150px;
  overflow: hidden;
}

.data-cover img{
  padding: 0;
  border-radius: 5px;
  margin: 0;
  width: 100%;
  border-radius: 10px 10px 0 0;
}

/*Footer*/
footer{
  border-top:5px solid black;
  background-color: white;
  padding: 10px;
  color: black;
}

.footer-grid-container{
  display: grid;
  grid-template-columns:auto auto auto;
  grid-gap: 30px;
  padding: 10px;
  justify-items: center;
  align-items: stretch;
}

.footer-grid-item{
  border: 1px solid grey;
  border-radius: 5px;
  height: 100px;
  width: 100%;
  text-align: center;
}

footer ul{
  margin: 0;
  padding: 0;
}

footer li ul {
  display: grid;
  grid-template-columns: auto auto auto; 
}

.footer-grid-item:hover{
  box-shadow: 0 30px 30px 0 rgba(0,0,0,0.24)
}

@media all and (max-width: 480px) {
  nav ul{
    flex-direction: column;
    width:3000px;    
  }

  nav li{
    border-bottom: 1px solid;
   }

  .intro-cover_1{
      padding:20px;
    }
  
  .intro-container{
    margin:10px auto;
    width: 90%;
  }

  .intro-cover_2{
    padding:10px;
  }
  
  h2{
    font-size:25px;
  }

  .footer-grid-container{
    grid-template-columns:auto auto auto;
    grid-gap: 2px;
    padding: 5px;
  }

  .footer-grid-item{
    border-radius: 2px;
    height: 100px;
    font-size: 12px;
  }

  .food-intro-container{
    grid-template-columns: auto; 
  }
  
  .food-list-container{
    grid-template-columns: auto;
  }

  .view-intro-container{
    grid-template-columns: auto;
  }

  .about-intro-container{
    grid-template-columns: auto;
  }

  label{
    padding: 0;
    margin: 0;
    padding-top: 22px;
    position: relative;
    width: 100%;
  }

  input[type=text]{
    margin: 0 2.1em 
  }
  
  input[type=checkbox],input[type=radio]{
    margin-left: 10px; 
  }
  
  #share form p{
    margin: 20px;
  }
}