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

body {
  font-family: 'Lato', sans-serif;
  font-weight:400; color:#555;
  letter-spacing:0.8px;
}

hr {
  border-color: #fbaa23;
}

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

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

a:hover {
  color: #fbaa23;
}

.lead {
	font-weight:400 !important;
}
.lead-2 {
	font-size:1.15rem;
}

hr.divider {
    max-width: 3.25rem;
    border-width: .2rem;
    border-color: #423939;
  }

h1,h2,h3,h4,h5, h6 { font-weight:700; }
.h1, .h2, .h3, .h4, .h5, .h6 {}

h1, .h1 { font-size:2rem; }

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

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

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

section {
  padding: 4rem 0;
}

.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;
}

/* Navigation */
.navbar-nav { overflow:hidden; opacity:1; }
.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 { overflow:hidden; text-decoration:none; display:block; color:#fff; padding:10px 15px; font-weight:700; /*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; }
.navbar-nav .link.last a { border-right:none !important; }	
.navbar-nav .nav-list a:hover {background:#fbaa23;}
.submenu {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: #fff; padding:10px; text-align: left;
    list-style: none; border-radius: 0.2rem; box-shadow: 1px 1px 1px rgba(0,0,0,0.2); }
.navbar-nav .sub-menu-list a {padding:10px 0; border:none; color:#555; }
.navbar-nav .sub-menu-list a:hover { color:#222; background:transparent; }

@media only screen and (max-width:992px) {
	h1 {font-size:1.8rem;}
	.masthead h1 {font-size:1.5rem;}
	.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; }
	.navbar-nav li a {padding:10px 0 !important; width:100%; border:none; border-bottom: 1px solid #ccc; box-sizing:border-box; }
	.navbar-nav .nav-list a:hover {background:transparent;}
	.navbar-toggler {padding: 0.5rem; border-radius: 0px !important; font-size: 1rem; }
	.navbar-nav .submenu { width: 100%; position: relative; text-align:center;margin-top: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; }
  .logo {height:50px;}
}

/* main slideshow banner */
.main-slideshow {width:100%;}
.carousel-inner, .carousel-item { width:100%;}
.carousel-item img {height:60vh; width:100vw;  object-fit:cover; background-position:top center; object-position:center; }
.carousel-caption {display:none !important;}

.carousel-control-next, .carousel-control-prev {z-index:999;}

/* 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; }
.template-slideshow .carousel-caption {display:none !important;}

#mainNav {
  border-bottom: 1px solid rgba(33, 37, 41, 0.1);
  background-color:#423939;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  transition: all 0.2s;
}

@media (min-width: 992px) {
  #mainNav {
    border-color: transparent;
    background-color: transparent;
    display:block;
  }
  #mainNav.navbar-shrink {
    border-bottom: 1px solid rgba(33, 37, 41, 0.1);
    background-color: #423939;
  }
  #mainNav.navbar-shrink .tool-bar{
  	display:none;
  }
  #mainNav.navbar-shrink .navbar-nav {
  	opacity:1 !important;
  }
}

header.masthead {
  background-position: center center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}

header.masthead .container,
header.templateHead .container {
	left:0;
	right:0;
	top:25%;
	z-index:9;
}
header.templateHead {
	min-height:500px;
}

/* gradient */
header.masthead .overlay:before {
	background-image: -webkit-gradient(linear,left bottom,left top,from(#000),to(#000));
    background-image: -webkit-linear-gradient(bottom,#000,#000);
    background-image: -o-linear-gradient(bottom,#000,#000);
    background-image: linear-gradient(0deg,#000,#000);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    opacity: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index:8;
    height:60vh;
}

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

@media (min-width: 992px) {
  header.masthead {
    height: 60vh;
    padding-top: 0;
    padding-bottom: 0;
  }
  header.masthead h1 {
   
  }
}

@media (min-width: 1200px) {
  header.masthead h1 {
   
  }
}

.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;
}

@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: #fbaa23 !important;
}
.text-secondary {	
	color: #84bdd3 !important;
}

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

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

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

.btn-primary:hover, .btn-primary:focus, .btn-primary:active {
  color: #000 !important;
  background-color: #fbaa23 !important;
}

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

.text-shadow {
	text-shadow: -1px -1px 1px rgba(255,255,255,.1), 1px 1px 1px rgba(0,0,0,.5);
}

/* 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%;
}
.view-more-btn {
	margin-left:80px;
	margin-top:50px;
}
.awards-section img {
	width:250px !important;
	height:auto !important;
	object-fit:contain;
	left: 0 !important;
  right: 0 !important;
}

/* 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;
}

/* section image */
.section-img { max-height: 350px; width: 100%; object-fit: cover;}

/* 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;}

.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;}


/* contact page */
#Form_ContactForm label { width:80%; margin-top:1rem; display:none; }
#Form_ContactForm_Name, #Form_ContactForm_Email, #Form_ContactForm_Message { width:100%; padding:1rem; margin:8px 0; }
#Form_ContactForm_action_autoreply,
#Form_ContactForm_action_send, #Form_ContactForm_action_sendandautoreply { color:#fff; padding:10px 30px; font-weight:400;	background:#fbaa23;	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%;}


/* large sections */
.projects-section .featured-text {
  padding: 2rem;
}

@media (min-width: 992px) {
  .projects-section .featured-text {
    padding: 0 0 0 2rem;
    border-left: 0.5rem solid #fbaa23;
  }
}

.projects-section .project-text {
  padding: 3rem;
  font-size: 90%;
}

@media (min-width: 992px) {
  .projects-section .project-text {
    padding: 5rem;
  }
  .projects-section .project-text hr {
    border-color: #64a19d;
    border-width: .25rem;
    width: 30%;
  }
}

.card-img-top {
    width: 100%;
    height: 250px;
    object-fit: cover; 
  }

/* ==========================
Parallax
============================= */

#parallax1{
	background-image: url(../img/Wellington-airport-NZ-banner.jpg);
	height:500px;  
}
.overlay-b {
	position:absolute;
	height:500px;
	left:0;
	right:0;
	background:rgba(0,0,0,0.4);
}

#projects {
	background-color:rgba(0,0,0,.03);
}
#footer {
	background:#423939;
	color:#fff;
}
.btn-social {
  background: #423939;
  width: 40px;
  height: 40px;
  padding: 0.5rem;
}

/* room avail table */
.roomtype .availability { text-align:center; margin:1rem auto; }
.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;}
.roomtype {margin-bottom:2rem;}

/* webrooms rtd lightbox */
.roomtype .room-photos { height:auto; }
.roomtype .room-photos img { width:120px; display: block;float: left; padding: .25rem; }
.roomtype .room-photos img.first { display:block; width:100%; margin-bottom:5px; height:300px; object-fit:cover; }

/* map */
.map-div iframe { width:100%; }

.custom-map { 
	background-image:url('../img/custom-map.png');
	height: 1100px; width: 100%;
  background-position: center center; background-size: contain;
  background-repeat: no-repeat;
}
.map-directions {
	  font-size: 2rem; color: #fff; font-weight: 600;
}
.map-overlay {
	  width: 100%; height: 1100px; text-align: center; background: rgba(0,0,0,0.8);
    opacity: 0; transition: opacity 0.5s ease-in-out;
}
.map-overlay:hover {
    opacity: 1;
}

@media (max-width:992px) {
	.custom-map {
		height: 260px;
    width: auto;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
	}
	.map-overlay {
    height: 260px;
 }
}


.fa-angle-down { font-size: 2rem; margin-top: -40px; }

/* TripAdvisor */
#CDSWIDCOE.widCOE, #CDSWIDWRM, #CDSRATINGWIDGET495 {
    border: 1px solid #00a680;
    width: 100% !important;
    margin: 0 0 1rem 0 !important;
    padding: 1rem !important;
 }
 
a.bg-primary:focus, a.bg-primary:hover, button.bg-primary:focus, button.bg-primary:hover {
 	color: #000 !important;
  background-color: #fbaa23 !important;
 }
 
 .collapse.show {
    display: block;
    margin: 10px 0;
}

/* pop-up window */
.modal { display: none; position: fixed; z-index: 1002;  padding-top: 150px; left: 0; top: 0; width: 100%; height: 100%; 
    overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.6);}
.modal-content { background-color: #fff !important; margin: auto; padding: 20px; padding-bottom:50px; border: 1px solid #888; border-radius:5px; width:900px; height:auto;}
.close { color: #222; float: right; font-size: 28px; font-weight: bold; text-align:right;}
.close:hover, .close:focus {color: #000; text-decoration: none; cursor: pointer;}
.modal-content a:hover {opacity:1;}

#popup  {  position: fixed; z-index: 1002;  padding-top: 150px; left: 0; top: 0; width: 100%; height: 100%; 
    overflow: auto; background-color: rgb(0,0,0); background-color: rgba(0,0,0,0.8);}

@media (max-width: 940px){
.modal { padding-top: 100px; }
.modal-content { width: 80%;}
}