.overflow-auto{overflow:auto;flex-shrink:0;}
.d-overflow-flex-justified-center :first-child{
  margin-left:auto!important;
}
.d-overflow-flex-justified-center :last-child{
  margin-right:auto!important;
}

#NC_routeList .hidden{
  height:0;min-height:0;
}
#NC_routeList .hidden:after{
  content: '...';
  position:absolute;
  font-size:16px;
  top:-7px;
  color:#777;
  margin-left:22px;
  line-height:0;
  padding:.1rem .2rem;
  background-color:#fff;
  border:1px solid #eee;
  border-width:0 1px;
  height:12px;
  text-align:center;
  line-height:0;
  z-index:1;
}
#NC_routeList .hidden > div{
  display:none !important;
}

html{height:100%}
body{
  background:#bdbdbd url(kaverikuriiri-bg-20180124.jpg) 10% 70% no-repeat;
  background-attachment:fixed;
  height:100%;
  position:relative;
  padding-top:64px;
}

#NC_coreNav{
  position:absolute;
  width:100%;
  top:0;
  left:0;
  z-index:1;
  background-color:rgba(255,255,255,1);
  border-bottom:1px solid #eee;
}

#navbarNavDropdown .nav-item{
  display: block;
  width:100%;
  margin-top:.5rem;
}
#navbarNavDropdown .nav-item > a{
  padding: .5rem 1rem!important;
}
#navbarNavDropdown .navbar-nav .nav-link{
  color:#007bff;
}
#navbarNavDropdown .navbar-nav.show .nav-link{
  color:white;
}

#NC_contentWrap{
  background-color: #ffffff;
  min-height:100%;
  /*height:100%;*/
  padding-bottom:3rem;
}
#NC_indexCarousel_wrap{
  position:relative;
  height:100%;
  /*margin-bottom:-65px;
  max-width:1200px;*/
  min-height:100%;
  margin:0 auto;
}
#NC_indexCarousel_wrap img{
  max-width:100%;
  max-height:130px;
}

#NC_indexCarousel_wrap h3{
  font-size:1.2rem
}

#NC_indexCarousel_wrap .carousel-caption{
  font-size:1rem;
}
#NC_indexCarousel{
  position:absolute;
  min-height:100%;
  width:100%;
  height:100%;
}
#NC_indexCarousel .carousel-inner{
  height:90%;
}
#NC_indexCarousel_wrap .carousel-caption-content{
  background-color:rgba(0,0,0,.3);
  padding:3%;
  margin-bottom:5px;
}

#NC_routeList.hasContent{
  padding-top: 1rem;
  border-top: 1px solid #eee;
}

.calendar-table i{
  width:24px;
  height:24px;
}
.carousel-caption{
  position:static;
  bottom:auto;
  max-width:1200px;
  margin: 0 auto;
  padding:0 5%; 
  right:auto;
  left:auto;
}

@media (min-width: 576px) {
  body{
    background-position:0% 100%;
  }
  #navbarNavDropdown .nav-item{
    width:auto;
    margin-top:0;
  }
  #NC_indexCarousel_wrap h3{
    font-size:1.5rem
  }
  #NC_indexCarousel_wrap .carousel-caption{
    font-size:1.1rem;
  }
}

@media (min-height: 520px) {
  #NC_indexCarousel_wrap img{
    display:inline;
    max-height:200px;
  }
}
@media (min-height: 700px) {
  #NC_indexCarousel_wrap .carousel-caption-text{
    display:block;
  }
  #NC_indexCarousel_wrap img{
    max-height:100%;
  }
  #NC_indexCarousel_wrap .carousel-caption{
    font-size:1.2rem;
  }
}

@media (min-width: 768px) {
  body{
    background-position:0% 100%;
  }
  #NC_indexCarousel{    
    padding-bottom:50px;
  }
  #NC_indexCarousel_wrap{
    height:600px;
    min-height:0;
    margin-top:0;
  }
  
  #NC_indexCarousel_wrap .carousel-caption-content{
    max-height:300px;
  }
  #NC_indexCarousel_wrap img{
    display:inline;
    max-height:100%;
  }
  #NC_indexCarousel_wrap .carousel-caption-text{
    display:block;
  }

}
@media (min-width: 992px) {
  #NC_indexCarousel_wrap .carousel-caption-content{
    max-height:100%;
  }
  #NC_coreNav{
    background:none;
    border-bottom:none;
  }
  #NC_coreNav_createRoute{
    color: #fff;
    background-color: #28a745;
    border-color: #28a745;
  }
}
@media (min-width: 1200px) {

  body{
    background-position:0% 80%;
    padding-top:70px;
  }
  #NC_contentWrap{
    max-width:1200px;
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important;
  }
  #NC_manageRouteForm{
    max-width:100%;
  }
}
@media (min-width: 1600px) {

  body{
    background-position:50% 0%;
  }
}
@media (min-width: 2561px) {
  body{
    background-position:50% 100%;
  }
}