/*---------- theme.css fix ----------*/
@media all and (max-width: 767px) {
	html {
		font-size: 9px;
	}
	.parallax > .background-image-holder, .parallax .slides li > .background-image-holder {
		height: 100%;
	}
}
@media all and (max-width: 480px) {
	html {
		font-size: 8.5px;
	}
}

.kenburns .slides li:nth-of-type(odd) .background-image-holder {
  -webkit-animation: kenBurnsEast 25s linear infinite alternate;
  animation: kenBurnsEast 25s linear infinite alternate;
}
.kenburns .slides li:nth-of-type(even) .background-image-holder {
  -webkit-animation: kenBurnsWest 25s linear infinite alternate;
  animation: kenBurnsWest 25s linear infinite alternate;
}
@keyframes kenBurnsEast {
  from {
    -ms-transform: scale(1) translateX(0px);
    -webkit-transform: scale(1) translateX(0px);
    transform: scale(1) translateX(0px);
  }
  to {
    -ms-transform: scale(1.2) translateX(50px);
    -webkit-transform: scale(1.2) translateX(50px);
    transform: scale(1.2) translateX(50px);
  }
}
@-webkit-keyframes kenBurnsEast {
  from {
    -ms-transform: scale(1) translateX(0px);
    -webkit-transform: scale(1) translateX(0px);
    transform: scale(1) translateX(0px);
  }
  to {
    -ms-transform: scale(1.2) translateX(50px);
    -webkit-transform: scale(1.2) translateX(50px);
    transform: scale(1.2) translateX(50px);
  }
}
@keyframes kenBurnsWest {
  from {
    -ms-transform: scale(1) translateX(0px);
    -webkit-transform: scale(1) translateX(0px);
    transform: scale(1) translateX(0px);
  }
  to {
    -ms-transform: scale(1.2) translateX(-50px);
    -webkit-transform: scale(1.2) translateX(-50px);
    transform: scale(1.2) translateX(-50px);
  }
}
@-webkit-keyframes kenBurnsWest {
  from {
    -ms-transform: scale(1) translateX(0px);
    -webkit-transform: scale(1) translateX(0px);
    transform: scale(1) translateX(0px);
  }
  to {
    -ms-transform: scale(1.2) translateX(-50px);
    -webkit-transform: scale(1.2) translateX(-50px);
    transform: scale(1.2) translateX(-50px);
  }
}
@media all and (max-width: 767px) {
  .kenburns .slides li .background-image-holder {
    -webkit-animation: none !important;
    animation: none !important;
  }
}
@media all and (max-width: 480px) {	
	.kenburns .slides .background-image-holder.bg-adj {
		background-position: 63% 50% !important;
	}
}
@media all and (max-width: 1199px) {
	.portfolio-pullup .col-md-4 {
		width: 33.3332%;
	}
}

@media all and (max-width: 991px) {
  .image-square {
    height: auto;
    max-height: 100000px;
    padding-bottom: 48px;
  }
  .image-square .image,
  .image-square > .content {
    position: relative;
  }
  .image-square .image {
    height: 100vw;
    margin-bottom: 48px;
    max-height: 500px;
  }
  .image-square > .content {
    top: 0;
    -ms-transform: none;
    -webkit-transform: none;
    transform: none;
    padding: 0 20%;
  }
}

/* IE 9 */
.v-align-transform {
    -ms-transform: translate(0, -50%);
}
.offscreen-container {
    -ms-transform: translate(200%, 0);
}
.offscreen-container.reveal-nav {
    -ms-transform: translate(100%, 0);
}


/*---------- theme.css modify ----------*/
a {
  color: #ED8f6d;/* gold */
}
a:hover {
  color: #fd776d;/* pink */
}
a:focus {
    color: #1e2d44;/* navy */
}
.social-list.list-inline > li {
    padding: 0 1rem;
}
ul.list-disc {
	list-style: disc;
	margin-left: 1.5em;
}
.large {
	font-size: 125%;
}
h1.large {
    font-size: 8rem;
	letter-spacing: 0.05em;
	line-height: 1.1;
}
h3.large {
    font-size: 4.8rem;
	letter-spacing: 0.05em;
	line-height: 1.1;
}
.btn {
    padding: 0 2.6rem;
}
@media all and (max-width: 990px) {
	h1.large {
		font-size: 6.4rem;
	}
	h3.large {
		font-size: 4rem;
	}
}



/*---------- nav ----------*/
.nav-bar {
	background: -webkit-linear-gradient(top, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, rgba(0,0,0,0.3) 0%,rgba(0,0,0,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#80000000', endColorstr='#00000000',GradientType=0 ); /* IE6-9 */
}
nav.transparent .module.widget-handle {
    border-left: none !important;
	border-top: none;
	padding-left: 0;
}
nav.transparent .nav-utility, nav.transparent .nav-bar {
    border-bottom: none;
}
nav.transparent .logo {
	max-width: 25vw;
}
nav.fixed .nav-bar {
	background: none;
}
nav.transparent.fixed {
    display: none; /* erase fixed nav */
}
.module.widget-handle i {
    line-height: 55px;
}


/*---------- ja ----------*/
body.ja {
  font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
  font-weight: 400;
  text-rendering: optimizelegibility;
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: 100%;
  font-size: 1.55rem;
  line-height: 1.7;
  color: #666;
  letter-spacing: .05em;
	padding:0;
}
.ja {
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
}
h1.ja {
	font-size: 2.4rem;
    line-height: 1.5;
	font-weight: 600;
}
h1.large.ja {
	font-size: 3.2rem;
	line-height: 1.35;
	font-weight: 400;
}
h2.ja {
    font-size: 2rem;
	line-height: 1.35;
	font-weight: 600;
}
h2.large.ja {
    font-size: 2.8rem;
	line-height: 1.35;
	font-weight: 400;
}
h3.ja {
    font-size: 1.8rem;
	line-height: 1.25;
	font-weight: 600;
}
h4.ja {
    font-size: 1.65rem;
	line-height: 1.25;
	font-weight: 600;
}
h5.ja {
    font-size: 1.55rem;
	line-height: 1.25;
	font-weight: 600;
}
h6.ja {
    font-size: 1.4rem;
	line-height: 1.25;
	font-weight: 600;
}
h6.ja.small {
    font-size: 1.2rem;
	line-height: 1.1;
	font-weight: 600;
}

.ja p.lead{
    font-size: 1.5rem;
    font-weight: 600;
}
.ja .small {
	font-size: 96%;
    letter-spacing: 0.035em;
}
.ja .smaller {
	font-size: 90%;
    letter-spacing: 0.035em;
	line-height: 1.53;
}
.ja dt, .ja dd {
    line-height: 1.65;
}

@media all and (max-width: 990px) {
	h1.large.ja {
		font-size: 2.8rem;
	}
	h2.ja {
		font-size: 1.8rem;
	}
	h2.large.ja {
		font-size: 2rem;
	}
}
@media all and (max-width: 767px) {
	.ja p, .ja li {
		font-size: 1.55rem;
	}
}
@media all and (max-width: 480px) {
	.ja .smaller {
		font-size: 95%;
	}
}

/*---------- new selectors ----------*/
.no-break{
	display:inline-block;
	font-style: normal;
}
@media all and (max-width: 767px) {
  .br-sm br {
    display: inline;
  }
}
.v-align-md {
	vertical-align: middle;
}
@media all and (max-width: 990px) {
  .text-center-md {
    text-align: center !important;
  }
}
.pr0 {
	padding-right: 0;
}
.pl0 {
	padding-left: 0;
}
.larger {
	font-size: 200%;
}
.font1 {
	font-family: 'Barlow Condensed', sans-serif !important;
	text-transform: uppercase;
}
.font2 {
	font-family: 'PT Serif','Times New Roman', serif !important;
	font-style: italic;
}
.letter-space-wide {
	letter-spacing: .07em
}
.letter-space-wider {
	letter-spacing: .1em
}
.letter-space-widest {
	letter-spacing: .2em
}
.text-shadow {
	text-shadow: 0px 0px 8px rgba(0, 0, 0, 0.4);
}
.btn-rounded-rectangle{
	border-radius: 4px;	
}
.btn-lg{
	font-size: 1.6rem;
}
.style1 {
	background-color: #ED8f6d;/* gold */
	color: #fff;
}
.style1 h1, .style1 h2, .style1 h3, .style1 h4, .style1 h5, .style1 h6 {
    color: #fff;
}
.style2 {
	background-color: #1e2d44;/* navy */
	color: #fff;
}
.style2 h1, .style2 h2, .style2 h3, .style2 h4, .style2 h5, .style2 h6 {
    color: #fff;
}
.style3 {
	background-color: #fd776d;/* pink */
	color: #fff;
}
.style3.btn {
	border-color: #fd776d;/* pink */
}
.style3.btn:visited {
    color: #fff;
}
.style3.btn:hover {
    background: #ED8f6d;/* gold */
	border-color: #ED8f6d;/* gold */
}
.bg1 {
	background-color: #edeee9;
}
.bg2 {
	background-color: #f8f9f7;
}
.color1 {
	color: #ED8f6d;/* gold */
}
.color2 {
	color: #1e2d44;/* navy */
}
.color3 {
	color: #a6b0ba;/* light navy */
}
.hr-dashed{
	border-top: 1px dashed #ccc; 
	border-left:none; 
	border-right: none; 
	border-bottom: none;
}
.icon-text {
  font-size: .9em;
}
a .icon-text {
  color: #ED8f6d;/* gold */
}
a:hover .icon-text {
  color: #fd776d;/* pink */
}
a:focus .icon-text {
    color: #1e2d44;/* navy */
}
.mask-circle{
    overflow: hidden;
    border-radius: 50%;
	width: calc(8.8rem - 15px);
}


#cover h1 .font1{
	font-size: 8.8rem;
	line-height: 1;
	text-shadow: none;
}
#cover .align-bottom {
	padding: 0 14px;
}
#cover .slides > li {
    height: 100vh;
}
#cover .flex-direction-nav {
    display: none;
}
@media all and (max-width: 767px) {
	#cover .slides li {
		padding: 0 12px;
	}
	#cover h1 {
		font-size: 2.4rem;
	}
}


#slider h2 {
	font-size: 3rem;
}
#slider .flex-direction-nav a {
    width: 40px;
    height: 40px;
}
#slider .flex-direction-nav a.flex-next:before, #slider .flex-direction-nav a.flex-prev:before {
    font-size: 40px;
}
#slider.page-title {
	height: 60vh !important;
	padding-top: 0;
}
#slider .slides > li {
	height: 60vh;
}
#slider li::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,.25);
	z-index: 1;
}
@media all and (max-width: 768px) {
	#slider .flex-direction-nav {
		display: block;
	}
	#slider .flex-direction-nav a.flex-next {
		right: 0;
	}
	#slider .flex-direction-nav a.flex-prev {
		left: 0;
	}
}
@media all and (max-width: 767px) {
	#slider {
		height: auto;
		padding: 0;
	}
	#slider h1 {
		font-size: 5.6rem;
	}
	#slider .slides li:nth-child(3) .background-image-holder {
    	background-position: 70% 50% !important;
	}
}
/*
@media all and (max-width: 480px) {
	#slider.page-title {
		height: 50vh !important;
	}
	#slider .slides > li {
		height: 50vh;
	}
}*/


#map.image-square {
    max-height: 100000px;
}

#map.image-square > .content {
    padding: 0 5% 0 10%;
}
@media (min-width: 992px) and (max-width: 1200px) {
	#map.image-square{
		height: 60vw;
	}
	#map .background-image-holder {
		background-position: top left !important;
	}
	#map.image-square > .content {
		padding-left: 5%;
	}
	#map h1{
		font-size: 2.8rem;
	}
}
@media all and (max-width: 991px) {
	#map .background-image-holder {
		background: url(../img/map-sm.png) left bottom no-repeat !important;
    	background-size: auto 140% !important;
	}
	#map.image-square > .content {
		padding: 0 5%;
	}
	#map h1{
		text-align: center;
	}
}
@media all and (max-width: 767px) {
	#map .background-image-holder {
		background: url(../img/map-sm.png) left bottom no-repeat !important;
    	background-size: auto 130% !important;
	}
}
@media all and (max-width: 480px) {
	#map .background-image-holder {
		background: url(../img/map-s.png) left bottom no-repeat !important;
    	background-size: 100% auto !important;
	}
}


#image {
	margin-top: -240px;
}
@media all and (max-width: 991px) {
	#image {
		margin-top: -120px;
	}
}
@media all and (max-width: 767px) {
	#image {
		margin-top: -80px;
		height: 40vh;
		background: url(../img/bg1.jpg) 50% 50% no-repeat;
		background-size: cover;
	}
}


#tips .feature {
	padding-left:3.2rem;
	padding-right: 3.2rem;
}

#tips .btn {
    border: 2px solid #fff;
	color: #fff;
}
#tips .btn:visited {
    color: #fff;
}
#tips .btn:hover {
    background: #fff;
    color: #ED8f6d !important;
}
@media all and (min-width: 992px) {
	#tips .col-md-pull-6 {
		right: 0;
	}
	#tips .col-md-push-6 {
    	left: 0;
	}
}
@media all and (max-width: 480px) {
	#tips .feature {
		padding-left: 2.4rem;
		padding-right: 2.4rem;
	}
}


#tours .v-align-children {
    -webkit-align-items: initial;
    align-items: initial;
}
.alternate1, .alternate2 {
	width: 50%;
    padding-right: 24px;
    padding-left: 24px;
	position: relative;
}
.alternate1 img {
	width: 100%;
}
.alternate > div {
	display: block !important;
}
.alternate > div:nth-child(odd) .alternate1 {
	float: left;
}
.alternate > div:nth-child(odd) .alternate2 {
	float: right;
}
.alternate > div:nth-child(even) .alternate1 {
	float: right;
}
.alternate > div:nth-child(even) .alternate2 {
	float: left;
}
@media all and (max-width: 990px) {
	.alternate{
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
	.alternate1, .alternate2 {
		width: 100%;
	}
}
@media all and (max-width: 530px) {
	.alternate1 {
		height: 100vw;
    	overflow: hidden;
	}
	.alternate1 img {
		width: 100%;
		position: relative;
		top: 50%;
		-ms-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}
.facility > div {
	padding-left: 0;
	padding-right: 0;
	border: 2px solid transparent;
}
.facility > div:nth-child(4n+1) {
	border-left: none;
}
.facility > div:nth-child(4n) {
	border-right: none;
}
.available > div {
	background-color: #1e2d44;/* navy */
	color: #fff;
    padding: 8px;
    line-height: 1.15;
	text-align: center;
	font-size: 1.25rem;
    font-weight: 700;
	width: 100%;
}
.available > div > div {
	vertical-align: middle;
}
.unavailable > div {
	color: #a6b0ba !important;/* light navy */
	background-color: #fff;
    border: 2px solid #a6b0ba;
    padding-top: 1px !important;
    padding-bottom: 1px !important;
	text-align: center;
	font-size: 1.25rem;
    font-weight: 700;
}
.ac-price .font1{
	font-size: 4rem;
	line-height: 1;
}
.tours-deco {
	width: 5.9rem;
}
#tours .btn {
    height: 4.5rem;
    line-height: 4rem;
    width: 180px;
    min-width: 0;
	max-width: 50%;
	margin-bottom: 0;
	box-shadow: none;
}
@media all and (max-width: 990px) {
	.tours-deco {
		width: 4.8rem;
	}
}
@media all and (max-width: 480px) {
	.tours-deco {
		width: 4rem;
	}
}


.ribbon {
    min-width: 120px;
    position: absolute;
    text-align: center;
    font-size: 20px !important;
    background-color: #ED8f6d;/* gold */
    padding: 0 10px 0 16px;
	top: 40px;
}
.ribbon h3 {
	font-size: 1.6rem !important;
	line-height: 48px;
	color: #fff;
	margin:0;
	font-weight: 700;
}
.ribbon .ribbon-content:after {
	border-color: #ED8f6d transparent transparent transparent;/* gold */
	position: absolute;
	display: block;
	border-style: solid;
	content: '';
    bottom: 0;
    right: -24px;
    border-width: 48px 24px 0 0;
}
@media all and (max-width: 767px) {
	.ribbon {
		top: 12%;
	}
	.ribbon h3 {
		line-height: 40px;
	}
	.ribbon .ribbon-content:after {
		border-width: 40px 24px 0 0;
	}
}


#about_veltra .con {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-justify-content: space-between;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
#about_veltra .con dl {
	padding: 2rem;
	width: 32%;
	border: 1px dashed #545454;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 8px;
	margin: 2rem 0;
	float: left; /* IE9 */
}
#about_veltra .con dl dt {
	font-size: 1.65rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1.25rem; 
	font-weight: 600;
	border-bottom: 1px solid #666;
}
#about_veltra .con dl dd a {
	white-space: nowrap;
}
@media screen and (max-width: 480px) {
	#about_veltra .con {
		display: block;
	}
	#about_veltra .con dl {
	  width: 100%;
	  margin: 1rem 0;
	} 
}

.btn-jump {
	position: relative;
    bottom: 3rem;
    z-index: 2;
    text-align: center;
    margin-top: -72px;
}
.review-photo{
	height: calc(8.8rem - 15px);
	max-width: none;
	-ms-transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: relative;
    left: 50%;
	display: block;
}

#calendar {
	background-color: #000846;
}
#calendar p.larger {
	font-size:2.7rem;
}
.max-width-md {
	 max-width: 1200px;
}
@media (max-width: 990px) {
	#calendar .v-align-children {
		display: -webkit-flex !important;
		display: -moz-flex !important;
		display: -ms-flexbox !important;
		display: flex !important;
	}
}


/*Responsive Tabbed Navigation*/
.cd-tabs {
	display: -ms-flexbox;
	display: flex;
	padding: 0;
}
.cd-tabs::after {
	display: none;
}
.cd-tabs__navigation {
    background-color: transparent;
	width: 80px;
	-ms-flex-negative: 0;
	flex-shrink: 0;
	box-shadow: inset -2px 0 3px hsla(54, 42%, 64.6%, 0.06);
}
.cd-tabs__list {
	-ms-flex-direction: column;
	flex-direction: column;
}
.cd-tabs__item {
	height: 68px;
	width: 80px;
	border-right: 1px solid #fff;
	font-size: 1.2rem;
}
.cd-tabs__item:hover {
    color: #000846;
    background-color: rgba(255, 255, 255, .8);
}
.js .cd-tabs__item--selected {
	box-shadow: inset 2px 0 0 hsl(1, 84%, 63%);
}
.cd-tabs__panel {
	padding: 2em 0 2em 2em;
}
.cd-tabs--scroll-ended::after {
	visibility: hidden;
	opacity: 0;
	transition: opacity .3s 0s, visibility 0s .3s;
}
.js .cd-tabs__item--selected {
	box-shadow: inset 1px 0 0 #fff;
	background-color: #000846;
	color: #fff;
	border: 1px solid #fff;
	border-right: none;
}
@media (min-width: 64rem){
	.cd-tabs {
		display: block;
	}
	.cd-tabs__navigation {
		display: -ms-flexbox;
		display: flex;
		width: auto;
		background: transparent;
		box-shadow: none;
	}
	.cd-tabs__list {
    	width: 100%;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-ms-flex-direction: row;
		flex-direction: row;
		background-color: hsl(54, 42%, 95%);
		box-shadow: inset 0 -2px 3px hsla(54, 42%, 64.6%, 0.06);
	}
	.cd-tabs__list li {
		width: 8.333%;
	}
	.cd-tabs__item {
		border-bottom: 1px solid #fff;
		border-right: none;
		height: 60px;
		width: auto;
		padding: 0 2em;
		-ms-flex-direction: row;
		flex-direction: row;
	}
	.js .cd-tabs__item--selected {
		background-color: #000846;
		color: #fff;
		border: 1px solid #fff;
		border-bottom: none;
		box-shadow: inset 0 1px 0 #fff;
	}
	.cd-tabs__panel {
		padding-right: 2em;
	}
	.cd-tabs__panel p {
		font-size: inherit;
	}
}
@media (min-width: 768px) and (max-width: 990px) {
	.cd-tabs__item {
		height: 85px;
	}
}
.cd-tabs__panels {
    background-color: #000846;
	margin-bottom: 0;
}
.js .cd-tabs__item--selected:hover {
    background-color: #000846;
    cursor: default;
}
.cd-tabs__list {
    background-color: rgba(255, 255, 255, .3);
}


/*EqualHeight*/
.card{
	vertical-align: middle;
    display: table;
}
.card > div{
	vertical-align: middle;
    display: table-cell;
}


/* Footer */
footer {
	background-color: #292929 !important;
	font-size: 1.2rem;
	line-height: 1.5;
	letter-spacing: 0.02em;
	color: #aaa;
	position: relative;
}

footer hr {
	width: 98%;
    margin: 0 auto;
    border-color: #444;
}

footer .social-list li {
	display: inline-block;
	padding-top: 12px;
}
footer .social-list a{
    opacity: .5;
}
footer .social-list a:hover{
    opacity: 1;
}
footer i {
	color: #fff;
	font-size: 1.6rem;
	padding: 8px 4px;
}