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

body {
  font-size: 17px;
  font-family: 'Spectral', serif;
  color: #555;
  background: #f9f9f9;
  font-weight:300;
}

hr {
  border-color: #e6e6e6;
  border-width:1px;
  margin-bottom:2rem;
}

hr.light {
  border-color: #fff;
}

a {
  color: #17708a;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}

a:hover {
  color: #17708a;
}

.h2 { font-weight:200 !important;}

.bg-primary {
  background-color: #17708a !important;
}

.bg-dark {
  background-color: #212529 !important;
}

.text-faded {
  color: rgba(255, 255, 255, 0.7);
}

strong {
	font-weight:500;
}

section {
  padding: 4rem 0;
}

.shadow {
	box-shadow:0 1px 10px rgba(0,0,0,0.1);
}

.section-heading {
  margin-top: 0;
}

::-moz-selection {
  color: #fff;
  background: #212529;
  text-shadow: none;
}

::selection {
  color: #fff;
  background: #212529;
  text-shadow: none;
}

img::selection {
  color: #fff;
  background: transparent;
}

img::-moz-selection {
  color: #fff;
  background: transparent;
}

@media (max-width:992px){
	.h2, h2 {font-size:1.7rem;}
}
.tab-title h4 {
 margin-bottom: 0;
 font-size: 1.2rem;
 }

#mainNav {
  border-bottom: 1px solid rgba(33, 37, 41, 0.1);
  background-color: transparent;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}
#mainNav {
    border-color: transparent;
    background-color: transparent;
  }
#mainNav.navbar-shrink {
    border-bottom: 1px solid rgba(33, 37, 41, 0.1);
    background-color: #17708a;
  }
#mainNav.navbar-shrink .navbar-nav {
  	opacity:1 !important;
}
#mainNav .onScroll { display:none !important; }

#mainNav.navbar-shrink .onScroll { display:block !important; }

/* Navigation */
.navbar-nav { overflow:hidden; opacity:0.7; }
.navbar-nav:hover {opacity:1;}
.navbar-nav.navbar-nav-show { max-height:none; background:#111; opacity:1; }
.navbar-nav .link {  overflow:hidden; padding:0; margin:0; display:inline-block; }
.navbar-nav .link a,
.navbar-nav .current a,
.navbar-nav .section a {text-transform:uppercase; overflow:hidden; text-decoration:none; display:block; color:#fff; padding:10px 15px; border-right:1px solid rgba(255,255,255,0.1); }
.navbar-nav .link:hover,
.navbar-nav .current:hover,
.navbar-nav .section:hover { color:#fff !important; background:#1b82a0; }
.navbar-nav .link.last a { border-right:none !important; }	
.submenu, .submenu-2 {display:none;}

/* submenu */
.navbar-nav .link .submenu,
.navbar-nav .current .submenu,
.navbar-nav .section .submenu {display:none; z-index:0; }
.navbar-nav .link:hover .submenu,
.navbar-nav .current:hover .submenu,
.navbar-nav .section:hover .submenu  {display: block; z-index:999; }
.navbar-nav .submenu { width: 200px; position: absolute; background: #312c32; padding:0; padding-bottom:1px; text-align: left;
    list-style: none; font-size:14px;  }
.navbar-nav .sub-menu-list a {padding:10px 0; border:none; color:#fffffa; border:none; text-transform:none;  }
.navbar-nav .sub-menu-list a:hover { background:transparent; color:#fff; padding:10px 0; border:none; }
.sub-menu-list {border-bottom:1px solid #555;  }
.submenu .link, .submenu-2 .link { display: block;}

/* submenu 2 */
.submenu .link .submenu-2,
.submenu .current .submenu-2,
.submenu .section .submenu-2 {display:none; z-index:0; }
.submenu .link:hover .submenu-2,
.submenu .current:hover .submenu-2,
.submenu .section:hover .submenu-2  {display: block; z-index:999; }
.submenu .submenu-2 { width: 280px; position: absolute; background: #312c32; padding:0; padding-bottom:1px; text-align: left;
    list-style: none; top: auto; left: 200px; margin-top:-41px; font-size:14px; }
.submenu .sub-menu-list {width:100%;}
.submenu .sub-menu-list a {padding:10px; border:none; color:#fffffa; border:none; text-transform:none; }
.submenu .sub-menu-list a:hover { background:transparent; color:#fff; padding:10px; border:none; }

@media (max-width:992px) {
	section {padding:4rem 0 !important;}
	h1 {font-size:1.5rem;}
	#mainNav {background-color:#17708a; box-shadow:0 1px 10px rgba(0,0,0,0.2); }
	.lead {font-size:1.2rem;}
	.fa-navicon {color:#fff !important; padding:2px; }
	.Navnavbar {position:fixed; top:0; left:0; right:0; width:100%; z-index:999;}
	.navbar-nav li {margin:0; text-align:left; line-height:inherit; }
	.navbar-nav li a {padding:10px 0; width:auto; border:0px !important; box-sizing:border-box; }
	.navbar-toggler {padding:0.5em; }
	.navbar-nav .submenu { background-color:#2f7d94; width: 100%; position: relative; text-align:center;margin-top:0px; }
	.navbar-nav .submenu-2 { background-color:#2f7d94; width: 100%; position: relative; text-align:center;margin-top:0px; left:0; right:0; }
	.sub-menu-list {border-bottom:0px;}
	.navbar-light .navbar-toggler {border-color:#ccc;}
	.navbar-nav a:hover {background:transparent; color:#ccc;}
	.navbar-nav li a:hover {opacity:1; text-decoration:none; border-top:none; }
  .navbar-nav li.current a {opacity:1; text-decoration:none; border-top:none; }
  #mainNav.navbar-shrink .onScroll { display:none !important; }
  .fa-plus { font-size: 1.2rem; line-height: inherit; position: absolute; right: 2rem; margin-top: -2.2rem;}
}

/* main slideshow banner */
.main-slideshow {width:100%;}
.carousel-inner, .carousel-item { width:100%;}
.carousel-item img {height:100vh; width:100vw;  object-fit:cover; background-position:top center; }
.carousel-caption  {
    background: rgba(23,112,138,0.5);
    padding: 10px 20px;
    right: 0;
    left: auto;
    font-size: 14px;
    opacity: 0.5;
    bottom: 0;
    z-index:999;
}
.carousel-caption:hover  {
    opacity: 1;
}
.carousel-caption span:before {
	  width: 16px;
    height: 12px;
    margin-right: 5px;
    content: '';
    background: url("../img/icon_camera.png");
    display: inline-block;
}

/* template slideshow banner */
.template-slideshow {width:100%;}
.template-slideshow .carousel-inner, .carousel-item { width:100%;}
.template-slideshow .carousel-item img {height:500px; width:100vw;  object-fit:cover; background-position:top center; }

header.masthead {
  padding-bottom: calc(10rem - 56px);
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  padding:0;
}

header.masthead .container,
header.templateHead .container {
	left:0;
	right:0;
	top:170px;
	z-index:9;
}
/* gradient */
header.masthead .overlay,
header.templateHead .overlay {
	z-index:8;
	position:absolute;
	height:450px;
	left:0;
	right:0;
	top:0;
	background: -moz-linear-gradient(top,  rgba(23,112,138,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(23,112,138,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(23,112,138,1) 0%,rgba(125,185,232,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#17708a', endColorstr='#007db9e8',GradientType=0 ); /* IE6-9 */
 }
.overlay {
	z-index:99;
	position:absolute;
	height:400px;
	left:0;
	right:0;
	top:0;
	background: -moz-linear-gradient(top,  rgba(23,112,138,1) 0%, rgba(125,185,232,0) 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  rgba(23,112,138,1) 0%,rgba(125,185,232,0) 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  rgba(23,112,138,1) 0%,rgba(125,185,232,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#17708a', endColorstr='#007db9e8',GradientType=0 ); /* IE6-9 */
 }

@media (min-width: 768px) {
  header.masthead p {
    font-size: 1.15rem;
  }
}

@media (min-width: 992px) {
  header.masthead {
    height: 100vh;
    min-height: 650px;
    padding-top: 0;
    padding-bottom: 0;
  }
  header.masthead h1 {
    font-size: 3rem;
  }
}

@media (min-width: 1200px) {
  header.masthead h1 {
    font-size: 4rem;
  }
}

.service-box {
  max-width: 400px;
}

.portfolio-box {
  position: relative;
  display: block;
  max-width: 650px;
  margin: 0 auto;
}

.portfolio-box .portfolio-box-caption {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  height: 100%;
  text-align: center;
  opacity: 0;
  color: #fff;
  background: rgba(240, 95, 64, 0.9);
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  text-align: center;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
  padding: 0 15px;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
  font-size: 18px;
}

.portfolio-box:hover .portfolio-box-caption {
  opacity: 1;
}

.portfolio-box:focus {
  outline: none;
}
.portfolio-container {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

@media (min-width: 768px) {
  .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
    font-size: 16px;
  }
  .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
    font-size: 22px;
  }
}

.text-primary {
  color: #17708a !important;
}
.text-secondary {	
	color: #84bdd3 !important;
}

.btn {
  text-transform: uppercase;
  border: none;
  border-radius: 0px;
  white-space:normal;
}

.btn-lg {
  padding: 1rem 1.5rem;
}

.btn-xl {
  padding: 1rem 2rem;
}

.btn-primary {
  background-color: #17708a;
  border-color: #17708a;
  color:#fff !important;
}

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  color: #fff;
  background-color: #17708a !important;
  opacity: 0.8;
}

a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover {
    background-color: #17708a !important;
}

.btn-primary:active, .btn-primary:focus {
  box-shadow: 0 0 0 0.2rem rgba(240, 95, 64, 0.5) !important;
}

/* tabs */
.tab {  margin-bottom: -15px;}
.tab .tab-item {  position: relative; display: block;  margin-bottom: 15px;}
.tab .tab-item .tab-item-caption {
  -webkit-transition: all ease 0.5s;
  -moz-transition: all ease 0.5s;
  transition: all ease 0.5s;
  opacity: 0;
  background-color: rgba(0, 0, 0, 0.8);
}
.tab .tab-item .tab-item-caption:hover { opacity: 1;}
.tab .tab-item .tab-item-caption .tab-item-caption-content {  font-size: 1.5rem;}
.tab .tab-title {padding: 15px; background: rgba(0,0,0,0.8); float: left; width: 100%; bottom: 0; position: absolute; }
.tab .tab-item {float:left;}

@media (min-width: 576px) {
  .tab {margin-bottom: -30px; } 
  .tab .tab-item {  margin-bottom: 30px; }
}

/* reviews sections */
.reviews-section {
	height: 500px;
}
.reviews, .reviews article {
	padding-left:90px;
	padding-right:80px;
}
.reviews::after{   
    position: absolute;
    top: 0;
    right: 50px;
    content: close-quote;
    font-size: 120px;
    opacity: 0.2;
    color: #fff;
    line-height: 100%;
}
.reviews::before {
		position: absolute;
    top: 0;
    left: 20px;
    content: open-quote;
    font-size: 120px;
    opacity: 0.2;
    color: #fff;
    line-height: 100%;
}
.reviews-section .description,
.reviews-section article {
	width:100% !important;
}
.reviews-section .col-md-4 {
	min-height:250px;
}
.view-more-btn {
	margin-left:80px;
	margin-top:50px;
}
.awards-section img {
  width: 220px !important;
  height: auto !important;
  object-fit: contain;
  left: 0 !important;
  right: 0 !important;
  background: transparent !important;
  bottom: 0 !important;
  top: 0 !important;
  margin: auto;
}
.home-section-img {
	height: 255px;
  width: 100%;
  object-fit: cover;
}

/* events section */
.events-section {
	background: url("../img/background_taupo.jpg") center center no-repeat;
  background-size: cover;
  height:500px;
}
.events-section .description {
	height:70px;
	overflow:hidden;
}
.view-events-btn {
  position: relative;
  margin-left: 2rem;
  margin-top: -50px;
  display: inline-table;
}
.events article {
	min-height:240px;
}

@media (max-width:992px){
	.reviews, .reviews article {padding-left:0px; padding-right:0px;}
	.reviews, .reviews article .article-header {padding-left:80px; padding-right:80px;}
	.view-more-btn {margin-left: 0px; margin-top: 0px; text-align: center; margin-bottom: 1rem; }
	.reviews-section {height:auto;}
	.home-events-img { width:100% !important; height:200px !important; object-fit:cover; }
	.events-section {height:auto; text-align:center;}
	.events-section h3 {font-size: 1.5rem !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.view-events-btn {margin:1rem auto; position:relative;}
}

/* logo default */
.swLogo { font-size:60px; font-weight:400; text-transform:uppercase; text-align:center; line-height:50px; letter-spacing:6px; color:#fff; }
.swLogo span { font-size:22px; font-weight:300; letter-spacing:3px; opacity:0.5; display:block; } 

.template-banner-img {height:500px; width:100%; object-fit:cover;}

.bg-faded { background:rgba(0,0,0,0.6); padding:2rem; margin-top: 250px; width:100%; }

@media ( max-width:992px){
	.swLogo { font-size:50px; }
	.swLogo span { line-height: 100%; font-size: 20px; padding: 10px; } 
	.template-slideshow .carousel-item img {height:450px !important;}
	.template-banner-img {height:450px;}
}

/* room types */
.roompage-picker {position:absolute; z-index:999; top:20%; left:0; right:0; margin:0 auto; }
.room-images-banner {width:100%;}
.room-images {width:100% !important;}
.room-images img {height:850px !important; width:100% !important; object-fit:cover;}
.room-features li {width: 48%; box-sizing: border-box; display: inline-block; margin: 3px 0; background: url("../img/icon-tick.png") left 6px no-repeat; padding-left: 20px; margin: 0; list-style: none; }
.roomtype .availabilityTable { margin:0 auto 10px auto; width:100%; font-size:10px; border-collapse:collapse; box-sizing:border-box; text-align: center; }
.roomtype .availabilityTable th { font-weight:normal !important; background:#eee; padding:3px 0; opacity:0.5; }
.roomtype .availabilityTable td { border:1px solid #fff; padding:10px 0; text-align: center; }
.roomtype .availabilityTable td:first-child { border-left:none; }
.roomtype .availabilityTable td:last-child { border-right:none; }
.roomtype .availabilityTable .avail a { padding:10px 0; display:block; text-decoration:none; color:#333; }
.roomtype .availabilityTable .avail { color:#333;	background:#d4f7a5; }
.roomtype .availabilityTable .avail:hover { background:#b2ea78; }
.roomtype .availabilityTable .notavail { padding:10px 0; color:#bbb; background:#f1f1f1;}

.slideshowPrev, 
.slideshowNext { background:none; color:#fff; font-family:inherit; font-size:80px; font-weight:300;
	padding:10px; position:absolute; top:40%; z-index:100; opacity:0.8; transition:opacity .5s ease-in-out; border:none; }
.slideshowPrev { left:20px; }
.slideshowNext { right:20px; }
.slideshowPrev:hover, 
.slideshowNext:hover { cursor:pointer; opacity:1; }

@media (max-width:992px){
	.room-images img {height:400px !important;}
	.roompage-picker {top:0;}
	.bg-faded { padding: 0.5rem; margin-top: 280px; width: 80%;}
	.bg-faded h1 {font-size:1.2rem !important;}
	.slideshowPrev, .slideshowNext {top:20%; font-size:40px;}
	.room-features li {width: 100% }
}


/* contact page */
#Form_ContactForm label { width:80%; margin-top:1rem; display:none; }
#Form_ContactForm_Name, #Form_ContactForm_Email, #Form_ContactForm_Message { width:100%; padding:0.5rem; margin:8px 0; }
#Form_ContactForm_action_autoreply,
#Form_ContactForm_action_send, #Form_ContactForm_action_sendandautoreply { color:#fff; padding:10px 30px; font-weight:400;	background:#17708a;	border-radius:0; border:none;}
#Form_ContactForm_Name_Holder {width:100%; float:left; margin-right:2%; }
#Form_ContactForm_Email_Holder {width:100%; float:left;}

/* Login form */
#MemberLoginForm_LoginForm { background-color: #fff; padding: 20px; text-align: left; width: 300px; margin: 20px auto; border:1px solid #ccc; }
#MemberLoginForm_LoginForm input { width: 100%; padding: 5px; box-sizing: border-box; border:1px solid #ccc; }
#MemberLoginForm_LoginForm .checkbox {width:auto; }
#LostPasswordForm_lostPasswordForm_Email{ padding: 5px; border:1px solid #ccc; margin-bottom:5px; box-sizing:border-box; width:40%; }
#LostPasswordForm_lostPasswordForm_action_forgotPassword{ padding:10px; box-sizing:border-box; width:40%;}

/* tripAdvisor */
#CDSWIDSSP, #CDSWIDCOE, #CDSWIDWRM.widWRMWrapper { box-sizing:border-box; width:100% !important; margin:0 0 10px 0 !important; }
#CDSWIDCOE { padding:10px !important; }
#CDSWIDCOE img { width:auto !important; margin:auto !important; }
.TA_tchotel { margin-bottom:10px; background:#eee; padding:20px; }
.TA_tchotel > div { margin:auto; box-shadow:0 1px 3px rgba(0,0,0,0.2); }

/* btn-social */
.btn-social {background-color:#17708a; color:#fff; height:40px; width:40px; line-height:30px; }

/* contact page map */
.mapDiv { box-shadow: 0 1px 3px rgba(0,0,0,0.2); clear: both; width:100%;}
#map iframe {width:100% !important; display:block;}

@media only screen and (max-width: 600px) {
.virtual-tour iframe { height:200px !important; }
}

/* gallery */
#portfolio #portfolio-flters {
  padding: 0;
  margin: 5px 0 35px 0;
  list-style: none;
  text-align: center;
}

#portfolio #portfolio-flters li {
  cursor: pointer;
  margin: 15px 15px 15px 0;
  display: inline-block;
  padding: 6px 20px;
  font-size: 12px;
  line-height: 20px;
  color: #17708a;
  border-radius: 50px;
  text-transform: uppercase;
  background: #fff;
  margin-bottom: 5px;
  transition: all 0.3s ease-in-out;
  border:1px solid #17708a;
}

#portfolio #portfolio-flters li:hover,
#portfolio #portfolio-flters li.filter-active {
  background: #17708a;
  color: #fff;
}

#portfolio #portfolio-flters li:last-child {
  margin-right: 0;
}

#portfolio .portfolio-item {
  position: relative;
  overflow: hidden;
  margin-bottom: 0px;
  width:20%;
}

#portfolio .portfolio-item img {
	width:100%;
}

#portfolio .portfolio-item .portfolio-wrap {
  overflow: hidden;
  position: relative;
  margin: 0;
}

#portfolio .portfolio-item .portfolio-wrap:hover img {
  opacity: 0.4;
  transition: 0.3s;
}

#portfolio .portfolio-item .portfolio-wrap .portfolio-info {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  text-align: center;
  opacity: 0;
  transition: 0.2s linear;
}


#portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-preview,
#portfolio .portfolio-item .portfolio-wrap .portfolio-info .link-details {
  display: inline-block;
  line-height: 2.2;
  text-align: center;
  width: 36px;
  height: 36px;
  background: #17708a;
  border-radius: 50%;
  margin: 10px 4px 0 4px;
  color:#fff;
}

#portfolio .portfolio-item .portfolio-wrap:hover {
  background: #17708a;
}

#portfolio .portfolio-item .portfolio-wrap:hover .portfolio-info {
  opacity: 1;
}

#portfolio .container-fluid {
	width:80%;
	margin:0 auto;
	background:#fff;
	padding:3rem;
}
@media ( max-width:992px ){
	#portfolio .portfolio-item {
		width:50%;
	}
	#portfolio .container-fluid {
		width:90%;
		padding:0.5rem;
	}
}