@charset "utf-8";
/* CSS Document */

:root {
	--dark-blue: #4577b0;
	--blue: #46aed4;
	--light-blue: #83d9e5;
	--light-blue-2: #85e5f2;
	--light-blue-3: #f3fbff;
	--light-orange: #fdbe73;
	--orange: #ff7517;
	--grey: #6b6a6a;
}

p {
	color: var(--grey);
	padding-top: 10px;
}
audio, canvas, img, svg, video {
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
}
.clear {
	clear:both;
}
.center-align {
	display: block;
	margin: 0 auto;
}
#theme-content h1, #theme-content h2, #theme-content h5.seo, #theme-landing h1{
	color: transparent;
	position: absolute;
	z-index: -1;
}
.theme-footer {
	background-color: var(--light-blue-2);
	color: white;
	font-size: 10px;
	padding: 5px 0px;
	text-align: right;
}

#hero-image {
	height: 50%;
	min-height: 225px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
}	
#hero-image-header{
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	background-image: url(../images/0-index-bkgd@0.75x.png);
}
/*
#hero-image-footer {
	height: 50%;
	min-height: 135px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	background-image: url(../images/footer-bg.png)
}
*/
#hero-image-index {
	height: 150%;
	min-height: 135px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	background-image: url(../images/0-index-bkgd@0.75x.png)
}

.header-logo img {
	max-width: 500px;
	padding-top: 20px;
	width: 95%;
}
.index-logo {
	position: relative;
	width: 100%;
	max-width: 540px;
}
.index-logo img {
    max-width: 540px;
    padding-top: 60px;
    width: 100%;
	margin-bottom: 60px;
}
.index-logo-1 {
	animation: logo-title 0.8s ease-out 0.5s backwards;
}
.index-logo-2 {
    position: absolute;
    top: 0px;
}
.index-logo-2 {
	animation: logo-car 5s ease-in-out infinite alternate;
}
.index-logo img.index-logo-2 {
	padding-top: 74px;
	padding-left: 34px;
	width: 98%;
}

.header-nav {
	text-align: center;
	padding-top: 10px;
	background-color: var(--light-blue-3);
}
.header-nav a {
	color: var(--blue);
	font-size: 18px;
	padding: 0px 18px;
	border-right: none;
	display:inline-block;
	line-height: 30px;
}
.header-nav a.nav-last {
	border-right: none;
}
.header-nav h2{
	line-height: 20px;
	margin-bottom: 0px;
}

/* @keyframes logo-car {
	0%   {transform: rotate(2deg) scale(1.25); opacity: 0;}
	8%   {transform: rotate(-8deg) scale(1.25); opacity: 0;}
    40%  {transform: rotate(-15deg) scale(1.25); opacity: 1;}
    70%  {transform: rotate(2deg) scale(1.25); opacity: 1;}
    100% {transform: rotate(-15deg) scale(1.25); opacity: 1;}
} */
@keyframes logo-car {
	0%   {transform: rotate(-15deg) scale(1.25);}
    50%  {transform: rotate(-3deg) scale(1.25);}
    100% {transform: rotate(-15deg) scale(1.25);}
}
@keyframes logo-deco {
    0%   { opacity:0;}
	100% { opacity:1;}
}
@keyframes logo-title {
    0%   {transform: scale(0.5); opacity:0;}
    40% {transform: scale(1.03); opacity:1;}
	60% {transform: scale(1); opacity:1;}
	100% {transform: scale(1); opacity:1;}
}


.theme-section-title {
	padding: 15px 0px 10px 0px;
}
.theme-section-title img {
	max-width: 450px;
	height: 100%;
}

#theme-content .background-light {
	background-color: var(--light-blue-3);
}
#theme-content .background-pattern1 {
	border-top: 8px solid var(--orange);
	border-bottom: 8px solid var(--orange);
	background-image: url(../images/2-bkgd.png);
	background-repeat: repeat;
	background-position: center;
}
#theme-content .background-orange {
	background-size: cover;
	background-repeat: no-repeat;
	background-color: var(--light-orange);
	position: relative;
}
#theme-content .container {
	padding: 10px 10px;
}
#theme-content .spot-listing .card-wrapper, #theme-content .spot-feature .card-wrapper {
	padding: 16px 15px;
}
#theme-content .spot-feature .card-wrapper.nav-item {
        padding: 0px;
}
#theme-content .spot-feature .card-wrapper .nav-link {
    padding: 0.5rem;
}
.spot-feature .theme-section-title img {
	max-width: 485px;
}
.spot-feature h3 {
	font-size: 48px;
	color: var(--orange);
	text-align: center;
}
.spot-feature .col-lg-6 {
	vertical-align: middle;
}
.spot-feature-content{
	line-height: 30px;
	letter-spacing: 2px;
	color: var(--grey);
	font-size: 18px;
	text-align: left;
	padding: 0px 10px 0px 10px;
	position: relative;
}
#theme-content .spot-feature-content h2 {
	color: #f99132;
    position: inherit;
    z-index: 1;
    font-size: 50px;
    font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
}
#theme-content .spot-feature-content h2.trip-recommended {
	margin-bottom: 0px;
}
.section-description{
	line-height: 30px;
	letter-spacing: 2px;
	color: var(--grey);
	font-size: 16px;
	text-align: center;
	padding: 0px 0 0 5px;
	position: relative;
}
.spot-feature-button, .spot-more-button, .sakura-predict-button {
	display: block;
}
.spot-feature-button a{
	text-align: center;
	border: 2px solid #f99132;
	border-radius: 5px;
	background-color: #f99132;
	color: #fff;
	font-weight: 500;
	margin: 40px auto 15px auto;
	padding: 0px;
    line-height: 26px;
    font-size: 17px;
}
.spot-more-button a {
	text-align: center;
	border: 2px solid #fc6363;
	border-radius: 5px;
	color: #fc6363;
	font-weight: 500;
	margin: 20px auto 15px auto;
	max-width: 200px;
	padding: 5px 0;
	display: block;
}
.spot-more-button2 a {
	text-align: center;
	border-radius: 5px;
	color: #fff;
	font-weight: 500;
	margin: 20px auto 15px auto;
	padding: 15px;
	max-width: 450px;
	display: block;
}
.spot-feature-deco {
	position: relative;
	width: 120px;
	right: 0px;
	bottom: -20px;
	display: block; 
	margin: 0 auto;
	padding-bottom: 10px
}

.sakura-predict-button a{
	text-align: center;
	background-color: #fdbe73;
	border-radius: 5px;
	color: #fff;
	font-weight: 500;
	margin: 0 auto 10px auto;
	max-width: 500px;
	padding: 5px 0;
	display: block;
}

.section-box{
	padding: 15px 0px;
	display: table;
	margin: 0 auto;
}
.section-box h3{
	padding-bottom: 10px;
	color: #f7667e;
	font-size: 20px;
	font-weight: 700;
	border-bottom: solid 1px #DCDDDD;
}
.section-box-description{
	margin: 5px 0px;
	font-size: 16px;
	width: 100%;
	display: inline-block;
	color: #f7667e;
}
.section-box-description .box-title{
	font-weight: 500;
	margin-right: 5px;
	color: #f7667e;
}
.section-box-description .box-content{
	font-weight: 300;
	margin-left: 5px;
	color: var(--grey);
}

.card {
	border-radius: 10px;
}
.spot-card {
	border: white;
}
.spot-card-wrapper {
	position: relative;
}
.spot-card-image {
	/* border-radius: 3px 3px 0px 0px; 
	height: 150px;*/
}
.spot-card-image img {
	width: 100%;
    border-radius: 5px;
    background-size: cover;
}
.card-body {
	background-color: var(--light-blue);
	padding: 5px 0px 3px 0px;
	border-radius: 0px 0px 10px 10px;
}
.card-body h5 {
	font-size: 25px;
}
.spot-card-button {
	color: white;
	text-align: center;
}
.city-card-button {
	color: #fff;
	font-size: 25px;
	font-weight: 700;
	padding-bottom: 1px;
	background-color: var(--light-blue);
    border-radius: 0px 0px 10px 10px;
}
.city-listing.slider {
	margin-left: -5px;
	margin-right: -5px;
}
.city-listing.slider .card-wrapper {
	padding: 0.5rem;
}
.city-listing.slider .slick-dots li button:before, .city-listing.slider .slick-dots li.slick-active button:before{
	color: #f2777d
}
.city-listing.slider .spot-card-image img {
    border-radius: 10px 10px 0px 0px;
}

.tips-listing.slider {
	margin-left: -10px;
	margin-right: -15px;
}
.trip-listing.slider, .trip-listing-singapore.slider {
	margin-left: -10px;
	margin-right: -15px;
}
.tips-listing.slider .slick-dots li button:before, .trip-listing.slider .slick-dots li button:before, .trip-listing-singapore.slider .slick-dots li button:before, .city-listing.slider .slick-dots li.slick-active button:before{
	color: #f2777d
}

.trip-card-wrapper {
	position: relative;
}
.trip-card-image img {
	width: 100%;
	border-radius: 5px;
}
.trip-day-no {
	display: inline-block;
	background-color: #fc895b;
	z-index: 2;
	position: absolute;
	padding: 2px 12px;
	color: #fff;
	font-size: 18px;
	top: 0px;
	left: 0px;
	border-radius: 5px 0px 5px 0px;
}
.trip-card-details {
	margin-top: 10px;
}
.trip-card-details .sub-title, .trip-card-details .title {
	margin-bottom: 0px;
}
.trip-card-details .title {
	margin-top: 3px;
}
.trip-card-details .sub-title a {
	color: #fc895b;
	font-weight: 500;
	font-size: 16px;
}
.trip-card-details .title a {
	font-size: 18px;
	color: var(--grey);
	font-weight: 700;
}

.forecast-slider, .forecast-info {
	float: left;
	display: inline-block;
}
.forecast-slider {
	padding-left: 0px;
	padding-right: 0px
}
.forecast-slider .card-wrapper {
	padding: 16px 0px !important;
}
.forecast-slider .slick-prev:before, .forecast-slider .slick-next:before {
	color: #fc83ac;
	font-size: 25px;
}
.forecast-slider .slick-next {
	right: 15px;
}
.forecast-slider .slick-prev {
	left: 15px;
}
.forecast-slider .slick-dots li button:before, .forecast-slider .slick-dots li.slick-active button:before{
	color: #cc543a
}
.forecast-info .card-wrapper {
	width:100%;
}
.forecast-info .forecast-key {
	width: 100%;
	max-width: 500px;
	border-radius: 15px;
}

.city-listing .slick-prev:before, .city-listing .slick-next:before,
.trip-listing .slick-prev:before, .trip-listing .slick-next:before,
.trip-listing-singapore .slick-prev:before, .trip-listing-singapore .slick-next:before,
.tips-listing .slick-prev:before, .tips-listing .slick-next:before,
.news-listing .slick-prev:before, .news-listing .slick-next:before {
	font-size: 25px;
}
.city-listing .slick-next {
	right: 15px;
	top: 45%;
}
.city-listing .slick-prev {
	left: 15px;
	top: 45%;
}
.trip-listing .slick-next {
	right: 20px;
	top: 42%;
}
.trip-listing .slick-prev {
	left: 20px;
	top: 42%;
}
.trip-listing-singapore .slick-next {
	right: 20px;
	top: 42%;
}
.trip-listing-singapore .slick-prev {
	left: 20px;
	top: 42%;
}
.tips-listing .slick-next {
	right: 20px;
}
.tips-listing .slick-prev {
	left: 20px;
}
.news-listing .slick-next {
	right: 20px;
	top: 44%;
}
.news-listing .slick-prev {
	left: 20px;
	top: 44%;
}

.hotel-card-wrapper {
	position: relative;
}
.hotel-card-image img {
	width: 100%;
	border-radius: 5px;
}
.hotel-card-title h5 {
	position: absolute;
	z-index: 2;
	left: 15px;
	bottom: 5px;
	color: #fff; 
	font-size: 18px;
	font-weight: 500;
	text-shadow: 0px 0px 5px #000;
}
.hotel-card-details {
	margin-top: 10px;
}
.hotel-card-details .title a {
	font-size: 18px;
	background-color: #f76378;
	text-align: center;
	display: block;
	color: #fff;
	padding: 4px 0px; 
	border-radius: 100px;
}
.index-deco2{
	position: absolute;
	bottom:20px;
	left:5px;
	animation: index-deco2 4s linear infinite alternate;
}
.index-deco2 img {
	width: 30px;
}

.index-deco3{
	position: absolute;
	bottom: 40px;
	left: 0px;
	animation: index-deco3 4s linear infinite alternate;
}
.index-deco3 img {
	width: 30px;
}

@media (min-width: 576px) {

	#theme-content .spot-listing .card-wrapper, #theme-content .spot-feature .card-wrapper {
		padding: 16px 8px;
	}
        #theme-content .spot-feature .card-wrapper.nav-item {
		padding: 0px;
	}
	
	.header-logo img {
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.header-nav.index-nav {
		padding-top: 15px;
	}
	.header-nav a {
		font-size: 18px;
		padding: 0px 60px;
		border-right: 2px solid #46aed4;
	}
	
	.trip-card-details .sub-title a {
		font-size: 18px;
	}
	.trip-card-details .title a {
		font-size: 20px;
	}

	.forecast-slider .card-wrapper {
		padding: 16px 10px !important;
	}
	
	
	.spot-feature-deco {
		position: absolute;
		width: 110px;
		right: 0px;
		bottom: -20px;
		padding-bottom:0px;
	}
	.spot-feature-button a {
		max-width: 450px;
	}
	
	.section-box-description{
		font-size: 18px;
	}
}

@media (min-width: 992px) { 
	#theme-content .container {
		padding: 20px 10px;
	}
	
	.header-nav a:hover {
		color:#4577b0;
		transition: all .15s ease-in;
		font-size: 20px;
	} 
	
	.spot-feature-content{
		line-height: 36px;
		font-size: 18px;
		text-align: left;
		padding: 15px 10px 15px 25px;
	}
	.spot-feature-button a {
		/* margin: 20px 0px 0px 0px; */
		max-width: 288px;
	}
	
	.section-description{
		line-height: 36px;
		font-size: 18px;
		text-align: center;
		padding: 15px 0;
	}
	.city-card-button {
		font-size: 28px;
	}
	#theme-content .spot-feature .card-wrapper, #theme-content .spot-listing .card-wrapper {
		padding: 16px 10px;
	}
        #theme-content .spot-listing .card-wrapper.nav-item {
		padding: 0px;
	}


	
	/*ALL THE HOVER STUFF HERE*/
	
	.hotel-card-details .title a:hover {
		background-color: #af4f4f;
	}
	
	a.spot-card:hover .city-card-button, a.spot-card.active .city-card-button {
		background-color: var(--orange);
		color: white;
		transition: all .15s ease-in;
	}
	.spot-more-button:hover a{
		background-color: #fc6363;
		color: #fff;
		transition: all .15s ease-in;
	}
	.spot-more-button2:hover a {
		color: #fff;
		font-size: 18px;
		max-width: 460px;
		transition: all .15s ease-in;
	}
	.spot-feature-button:hover a{
		border: 2px solid #f99132;
		background-color: transparent;
		color: #f99132;
		transition: all .15s ease-in;
	}
	.sakura-predict-button:hover a{
		background-color:#fc6363;
		color:#fff;
		font-size: 18px;
		transition: all .15s ease-in;
	}
}

@media (min-width: 992px) and (max-width: 1169px) {
	.spot-feature-content{
		line-height: 32px;
		font-size: 17px;
		padding: 15px 10px 15px 25px;
	}
	#theme-content .spot-feature-content h2 {
		font-size: 40px;
		margin-bottom: 1.2rem;
	}
	.spot-feature-button a {
		margin: 25px auto 15px;
	}
} 

.mobile-display {
	display: none!important;
}
.desktop-display {
	display: block!important;
}

@media only screen and (max-width: 991px) {
	.desktop-display {
		display: none!important;
	}
	.mobile-display {
		display: block!important;
		margin: 0 auto!important;
		width: 100%!important;
	}
	a.spot-card.active .city-card-button {
		background-color: var(--orange);
		color: white;
		transition: all .15s ease-in;
	}
}

#toTop {
    padding: 5px 3px;
    background: transparent;
    color: #fff;
    position: fixed;
    bottom: 80px;
    right: 5px;
	display: none;
	width: 50px;
	height: 50px;
	z-index: 999;
	cursor: pointer;
}

.city-listing, .spot-card {
	border: none!important;
	background: none!important;
}

.slick-arrow {
	width: 25px!important;
	height: 25px!important;
}