/*
	Theme Name: Kainani Above Keauhou Bay
	Theme URI: https:// 
	Description: DHLB Theme
	Version: 1.4.3Kainani Above Keauhou Bay
	Author: Christopher Green
	Author URI: https://christophergreen.com
	Tags: Blank, HTML5, CSS3

	License: MIT
	License URI: http://opensource.org/licenses/mit-license.php
*/

/*------------------------------------*\
    MAIN
\*------------------------------------*/
:root {
	--dark-blue: #236a95;
	--light-blue: #30bec2;
	--orange: #ff6c2c;
	--green: #62a17f;
	--black: #000;
	--light-gray: #eaeaea;
	--mid-gray: #646464;
	--dark-gray: #222222;

}


/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing: border-box;
	box-sizing: border-box;

	text-rendering: optimizeLegibility;

}

/* html element 62.5% font-size for REM use */
html {
	font-size: 62.5%;
}

body {
	line-height: 1.4em;
	font-family: "montserrat", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #222222;
	background-color: var(--dark-blue);
}

body strong {
	font-family: "montserrat", sans-serif;
	font-weight: 700;
	font-style: normal;
}

/* clear */
.clear:before,
.clear:after {
	content: ' ';
	display: table;
}

.clear:after {
	clear: both;
}



img {
	max-width: 100%;
	vertical-align: bottom;
}

a {
	color: var(--light-blue-color);
	text-decoration: underline;
	transition: all .3s ease 0s !important;
}

a:hover {
	color: var(--dark-blue-color);
	transition: all .3s ease 0s !important;
}

a:focus {
	outline: 0;
}

a:hover,
a:active {
	outline: 0;
}

input:focus {
	outline: 0;
	border: 1px solid #04A4CC;
}

blockquote {
	background: var(--light-gray-color);
	color: var(--light-blue);
	margin: 1.5em auto;
	width: auto;
	text-align: center;
	border-radius: 10px;
	padding: 60px;

	font-weight: 700;
	font-style: normal;
	font-size: 28px !important;
	quotes: "\201C" "\201D" "\2018" "\2019";
	clear: both;
	display: table;
}

blockquote:before {
	color: #999;
	content: open-quote;
	font-size: 130px;
	line-height: 0.1em;
	margin-right: 0.25em;
	vertical-align: -0.4em;
}

.wp-block-quote>cite {
	font-weight: 500;
}

.wp-block-quote>cite:before {
	content: "--";
}

blockquote.is-style-plain {
	background: var(--light-blue);
	color: #fff;
}

blockquote.is-style-plain:before {
	color: rgba(255, 255, 255, .3);
}

blockquote p {
	display: inline;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

/* wrapper */



.wrapper {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	position: relative;
	background-color: #fff;
}

.outer-padding {
	padding: 0px 30px;
}


.wpb-content-wrapper {

	margin: auto !important;

}

.meta-wrapper {
	max-width: 1600px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

.content-wrapper {

	margin: 0px !important;
	padding: 0px 0px !important;
	border: none !important;

	box-shadow: none !important;
	background-image: linear-gradient(to bottom, #236a95, #0192c1);

}

.content-inner {
	padding: 0px 30px;
}

body .is-layout-flex {
	display: flex;
	column-gap: 30px;
}

/* header */


.header-wrapper {
	display: block;
	width: 100%;
	clear: both;
	position: absolute;
	z-index: 999;
}


#breadcrumbs {
	font-size: 14px !important;
	text-align: center;
	text-shadow: none;
	border: none !important;
	line-height: 1em;
	background-color: rgba(255, 255, 255, .4);
	padding: 10px;
	display: block;
	width: fit-content;
	margin: auto;
	border-radius: 4px;
	display: none !important;
}


/* logo */




.vc_row {
	margin: auto !important;
	max-width: 1800px;
}



.home .type-page {
	padding-top: 0px;
}

.sidebar {
	max-width: 1600px;
	margin: auto;


}

#hero {
	padding-bottom: 50px;
}

#hero h2 {
	color: #fff !important;
	font-size: 80px !important;
	font-family: "montserrat", sans-serif;
	font-weight: 700;
	font-style: normal;
}

#hero .intro-block {
	color: #fff !important;
	font-size: 18px !important;
	font-family: "montserrat", sans-serif;
	font-weight: 400;
	font-style: normal;
	line-height: 1.4em;
	width: 50%;
	margin: auto;
	text-shadow: 2px 2px 8px rgba(0, 0, 0, .3);
}

.header-wrapper {
	display: none;
}

/* nav */
.top-nav {
	display: none;
}

.photo-block {

	background-image: linear-gradient(to bottom, #62a17f, #49bc8e);
	padding: 50px 20px 40px 20px;
}

.photo-block a {
	color: #fff;
	padding: 30px;
	font-size: 14px;
}

.photo-block p {
	padding-top: 30px;
}

.photos-block2 {
	padding: 20px 20px 40px 20px;

}

.photos-block2 img,
.photos-block img {
	border-radius: 8px;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, .3);

}

/* sidebar */

.sidebar-wrapper {
	width: 100%;
	text-align: center;
	display: block;
	float: none;
	clear: both;
	padding: 50px 15px;
	display: none;
}


.sidebar-block {

	border-radius: 8px;
	padding: 20px;
	margin-bottom: 30px;

	overflow: hidden;
}


.sidebar-block h3 {
	font-family: Monserrat, sans-serif !important;
	font-weight: 700 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #000;
	text-transform: uppercase;
	border-bottom: 3px solid var(--red);
	font-size: 18px !important;
	text-align: center !important;
	margin-bottom: 20px !important;

}



a.wp-block-button__link {
	color: #fff;
	border-color: #fff;
}


/* footer */

footer {
	background-color: var(--black);
	color: #fff;
	margin-bottom: 0px !important;
	bottom: 0px;
	text-align: center;
	padding: 50px;
	display: none;
}

footer p {
	margin-bottom: 0px !important;
	text-align: center;
	margin: auto;

}

.footer .quadmenu-navbar-brand {
	display: block;
	margin: 0px auto 40px;
}

.footer .quadmenu-navbar-brand img {
	width: auto;
	height: 60px;
}

.footer .copyright {
	padding-top: 40px;
}

.footer .footer-logo {
	margin: 0px;
	text-align: left;
	vertical-align: top !important;
}

.footer .footer-logo a {
	position: relative;
	display: block;
	margin: 0px !important;
	left: 0px;
	clear: left;
}

.footer .footer-logo p {
	text-align: left;
}

.footer .copyright {
	padding-top: 40px;
	padding-bottom: 40px;
}

.footer .footer-links {
	text-align: right;
}

.footer .footer-skyline {
	position: relative;
	top: -124px;
	float: Left;
	left: -40px;
}

.footer .credit p {
	margin: auto;
	margin-top: 80px;
	font-size: 14px;
	color: #fff;
	background-color: #222;
	border-radius: 4px;
	padding: 5px 10px;
	display: flexbox;
	width: fit-content;
}


/*------------------------------------*\
    PAGES
\*------------------------------------*/

/* hero section */
.home h1 {
	display: none;
}

.home .hero {
	border-radius: 16px;
	overflow: hidden;

}

.home .hero .nk-awb-wrap-content {
	padding-bottom: 100px !important;
}

.home .hero h1 {
	font-family: Montserrat, sans-serif !important;
	font-weight: 700 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
	text-shadow: none !important;
	font-size: 90px !important;
	display: block;
	margin-top: 15%;
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;

}

.home .hero h2 {
	font-family: Monserrat, sans-serif !important;
	font-weight: 500 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
	text-shadow: none !important;
	font-size: 30px !important;
	display: block;
	margin: 0px auto 50px auto !important;
	text-transform: none !important;
	border-bottom: none !important;
	text-align: center !important;
}


.home .hero .links {
	text-align: center;
	padding-top: 40px;

}

.about-us .brokers a,
.button a,
a.button,
.home .hero a.button {
	font-family: Monserrat, sans-serif !important;
	font-weight: 500 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
	background-color: var(--orange) !important;
	text-transform: none;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, .2) !important;
	text-decoration: none !important;
	font-size: 20px;
	padding: 14px 24px 16px 24px;
	border-radius: 8px;
	margin-top: 5px;
	border: 3px solid var(--orange);
	transition: all .3s ease 0s !important;
	position: relative;
	display: inline-block;

}

.home .hero a.button {
	margin-right: 40px;
}

.about-us .brokers a:hover,
.button a:hover,
a.button:hover,
.home .hero a.button:hover {
	background-color: #fff !important;
	color: var(--black);
	text-shadow: none !important;
	transition: all .3s ease 0s !important;
}

a.button-outline,
.home .hero a.button-outline {
	font-family: Monserrat, sans-serif !important;
	position: relative;
	font-weight: 500 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #fff;
	background-color: rgba(255, 255, 255, .1) !important;
	-webkit-backdrop-filter: blur(5px) !important;
	backdrop-filter: blur(5px) !important;
	display: inline-block;
	margin-top: 5px;
	transition: all .3s ease 0s !important;
	border: 3px solid #fff;
	white-space: nowrap;
	text-transform: none;
	text-shadow: 2px 2px 0px rgba(0, 0, 0, .2) !important;
	text-decoration: none !important;
	font-size: 20px;
	padding: 14px 24px 16px 24px;
	border-radius: 8px;

}

a.button-outline:hover,
.home .hero a.button-outline:hover {
	background-color: #fff !important;
	color: var(--black);
	text-shadow: none !important;
	transition: all .3s ease 0s !important;
}


a.button-outline {
	font-family: Monserrat, sans-serif !important;
	position: relative;
	font-weight: 500 !important;
	line-height: 1.2em;
	font-style: normal;
	color: #000;
	background-color: rgba(255, 255, 255, .1) !important;

	display: inline-block;
	margin-top: 5px;
	margin-left: 20px;
	transition: all .3s ease 0s !important;
	border: 3px solid #000;
	white-space: nowrap;
	text-transform: none;
	text-shadow: none !important;
	text-decoration: none !important;
	font-size: 20px;
	padding: 14px 24px 16px 24px;
	border-radius: 8px;

}

a.button-outline:hover {
	background-color: #fff !important;
	color: var(--black);
	border-color: var(--orange);
	transition: all .3s ease 0s !important;
}


.home .hero p {
	margin-top: 10px;
}


.narrow {
	max-width: 900px;
	margin: 0 auto;
	font-size: 20px;
	line-height: 1.4em;
}

.columns-narrow {
	margin: auto;
	max-width: 90%;
	font-size: 18px;
	line-height: 1.4em;
}




a.current-cat {
	padding: 10px 15px;
	background-color: var(--light-blue);
	color: #fff;
	font-family: "inter-variable", sans-serif;
	font-variation-settings: 'wght' 500, 'slnt' 0 !important;
	font-size: 12px !important;
	border-radius: 4px;
	margin-bottom: 20px;
	text-transform: uppercase;
	text-decoration: none;
}

a.current-cat:hover {
	background-color: var(--dark-blue);
	color: #fff;
}

.single .content-wrapper img {
	border-radius: 8px;
}



/*------------------------------------*\
     form
\*------------------------------------*/

textarea,
select,
input[type="text"],
input[type="tel"] {
	padding: 7px !important;
	font-size: 14px !important;
	border-radius: 4px !important;
	border: 1px solid #ccc;

	width: 80% !important;
}


textarea:focus,
select:focus,
input[type="text"]:focus,
input[type="tel"]:focus {
	box-shadow: 0px 0px 8px #385587 !important;
	border: 2px solid #385587 !important;
}

TABLE,
TR,
TD,
TH {
	font-size: 14px !important;

	font-weight: 400 !important;
}

table {
	width: 90%;
}

b[style="color: #cc0000;font-size: 10px;"] {
	color: #333 !important;
}

b[style="color: #cc0000;font-size: 10px;"]:after {
	content: " *";
}

table td {
	padding: 8px !important;

}

b[style="color: #d6d6d6;"],
td b[style="font-size: 11px; color: #d6d6d6;"],
td[bgcolor="#4f5372"] b {
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	color: #339933 !important;
}

b[style="font-size: 14px;color: #333333;"] {
	font-size: 18px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	color: #29497e !important;
}

tr td:nth-of-type(1) {

	text-align: right;
}


input[type="submit"] {
	border-radius: 8px;
	background-color: var(--dark-blue);
	box-shadow: 2px 2px 0px rgba(0, 0, 0, .3);
	padding: 24px 55px 20px 55px;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	font-size: 18px;
	width: 100%;
	display: block;
	border-style: none !important;
	cursor: pointer !important;
	transition: all .3s ease 0s !important;
}

b[style="color: #d6d6d6;"] {
	text-align: center !important;
	display: block;
}

#payment_form_cc>table {
	margin: auto !important;

}


#secure-transaction-anchor {
	float: right;
}

/* Filter Form Styling */
.filter-form {
	border: 1px solid #ddd;
	padding: 15px;
	margin-bottom: 20px;
	background-color: var(--light-gray-color);
	border-radius: 4px;
}

.filter-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.filter-item {
	display: flex;
	flex-direction: column;
	flex: 1 1 200px;
}

.filter-item label {
	margin-bottom: 5px;
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	line-height: 1.1em;
}

.filter-item input[type="text"],
.filter-item select {
	padding: 8px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 18px !important;
}

.filter-item input[type="checkbox"] {
	width: 20px;
	height: 20px;
	cursor: pointer;
	margin-top: 5px;
}

.filter-reset {
	display: inline-block;
	padding: 10px 20px;
	margin-top: 20px;
	background-color: #555;
	color: #fff;
	text-decoration: none;
	border-radius: 4px;
	text-transform: uppercase;
}

.filter-reset:hover {
	background-color: #333;
	color: #fff;
}

/* Filter Chips Styling */
#filter-chips {
	margin-bottom: 15px;
}

.filter-chip {
	display: inline-block;
	background-color: var(--light-blue);
	color: #fff;
	padding: 5px 15px;
	border-radius: 20px;
	margin-right: 10px;
	margin-bottom: 5px;
	font-size: 15px;

}

.filter-chip .remove-chip {
	margin-left: 8px;
	text-decoration: none;
	color: #fff;
	font-weight: bold;
	text-transform: uppercase;
}


/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/



.single h1,
.archive h1,
.category-header,
.page h1 {


	text-align: center;
	color: #fff;
	text-transform: uppercase;
	padding: 180px 55px 50px 55px;
	margin: 0px;
	font-family: Monserrat, sans-serif !important;
	font-weight: 700 !important;
	line-height: 1.2em;
	font-style: normal;
	font-size: 50px;
	text-shadow: 4px 4px 0px rgba(0, 0, 0, .15);
	border-radius: 16px;
	margin-bottom: 50px;
	position: relative;

	overflow: hidden !important;
}


h1 {
	display: none;
}

h1 a {
	text-decoration: none;
}









h2 {

	font-size: 40px;
	font-family: "Monserrat";
	color: var(--black);
	font-weight: 700;
	line-height: 1.2;
	margin: 0px;

}

.home h2 {
	font-size: 40px;
}

h2 strong {
	color: var(--orange);
	white-space: nowrap;
}

h3 {
	font-family: Monserrat, sans-serif !important;
	font-weight: 700 !important;
	line-height: 1.0em !important;
	font-style: normal;
	color: var(--black);
	text-transform: none;
	font-size: 36px !important;
	margin-bottom: 0px !important;
	margin-top: 0px;

}

p {
	margin-block-start: .5em !important;
	margin-block-end: 1.5em !important;
}

p.clear {
	clear: both;
	margin: 0px !important;
}



.wp-block-separator {
	clear: both;
	border-top: 2px solid #fff;
	padding: 10px;
}

p.eyebrow {

	font-size: 24px;
	font-family: "Monserrat";
	color: rgb(74, 74, 74);
	line-height: 1.2;
	margin: 0px !important;

}



article img {
	border-radius: 8px;
}


a.wp-block-button__link {
	color: #fff;
	background-color: var(--dark-blue);
	font-family: Monserrat, sans-serif !important;
	font-weight: 700 !important;
	border-radius: 4px;
	box-shadow: none;
	text-decoration: none;
	text-transform: uppercase;
	padding: calc(.667em + 2px) calc(1.333em + 2px);
	font-size: 14px;
}

a.wp-block-button__link:hover {
	background-color: var(--light-blue);
	color: var(--dark-blue);
}

#get-info .gform_wrapper {
	max-width: 600px;
	margin: 50px auto 0px auto;
	background-color: rgba(255, 255, 255, .8);
	padding: 40px;
	border-radius: 8px;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, .3);
}

.gform-theme--framework .gfield--type-choice .gfield_checkbox,
.gform-theme--framework .gfield--type-choice .gfield_radio {
	display: flex;
	flex-direction: row;
	gap: var(--gf-field-choice-gap);
}

.gform-theme--framework .gfield--type-choice.radio-horizontal .gfield_radio {
	flex-direction: column;
}

.gfield_required .gfield_required_asterisk {
	font-size: 18px !important;
}

.gform_wrapper select,
.gform_wrapper textarea,
.gform_wrapper input[type="email"],
.gform_wrapper input[type="text"],
.gform_wrapper input[type="tel"] {
	padding: 7px !important;
	font-size: 14px !important;
	margin: 15px 0px;
	border-radius: 4px !important;
	border: 1px solid #ccc;
	box-shadow: 2px 2px 0px rgba(0, 0, 0, .3);
	width: 100% !important;
}

.gform_wrapper select {
	padding: 2px 7px 5px 7px !important;
}

.hidden_sub_label {
	color: #eee !important;
}

.gfield_label {
	font-family: Monserrat, sans-serif !important;
	font-weight: 500;
	font-style: normal;
	font-size: 14px !important;
	padding-bottom: 5px;
	padding-top: 10px !important;
	color: var(--dark-blue);
}

.gfield_checkbox {
	padding-top: 15px;
}

.gform_title {
	font-family: Monserrat, sans-serif !important;
	font-weight: 700;
	font-style: normal;
	font-size: 28px !important;
	text-align: center;
	padding-top: 25px;
	color: #236a95
}

.gform_description {
	font-family: Monserrat, sans-serif !important;
	font-weight: 500;
	font-style: normal;
	font-size: 18px !important;
	text-align: center;
	line-height: 1.2em;
	color: #333;
}

.gfield_checkbox div {
	padding-bottom: 20px;
}

.gfield_consent_label {
	font-size: 14px;
}

.gform_wrapper.gravity-theme .ginput_complex label {
	font-size: 12px !important;
	padding-bottom: 5px;
}

.gform_wrapper tr td:nth-of-type(1) {
	width: auto !important;
}

.wp-grid-builder .wpgb-card [class*=wpgb-block-]>a {
	margin-bottom: 3px;
}

#gform_confirmation_message_1 {
	font-family: Monserrat, sans-serif !important;
	font-weight: 500;
	font-style: normal;
	font-size: 18px !important;
	text-align: center;
	line-height: 1.2em;
	color: #fff;
}

#gform_confirmation_wrapper_1 {
	margin: 50px auto 0px auto !important;
	background-color: rgba(35, 106, 149, .8);
	padding: 50px;
	border-radius: 8px;
	max-width: 400px;
	box-shadow: 2px 2px 8px rgba(0, 0, 0, .3);
}

p.disclaimer {
	font-size: 12px !important;
	color: #fff !important;
	padding-top: 40px !important;
	max-width: 800px;
	margin: auto;
	line-height: 1.4em;
}



/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

@media only screen and (max-width:479px) {


	.footer-logo {
		padding-bottom: 30px;
	}

	.footer-links {
		text-align: center !important;
	}

	.footer {
		padding: 30px 10px;
	}


	.content-inner {
		padding: 0px !important;
	}


	h2 {
		font-size: 30px;
	}



}

@media only screen and (min-width:480px) {}

@media only screen and (min-width:480px) and (max-width:790px) {}

@media only screen and (max-width:1599px) {
	.outer-padding {
		padding: 0px 15px;
	}




}

@media only screen and (min-width:1140px) {}

@media only screen and (min-width:1600px) {}

@media only screen and (-webkit-min-device-pixel-ratio:1.5),
only screen and (min-resolution:144dpi) {}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-webkit-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

::-moz-selection {
	background: #04A4CC;
	color: #FFF;
	text-shadow: none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
	display: block;
	margin: 5px auto 5px auto;
}

.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.alignright {
	float: right;
	margin: 5px 0 20px 20px;
}

a img.alignnone {
	margin: 5px 20px 20px 0;
}

a img.alignleft {
	float: left;
	margin: 5px 20px 20px 0;
}

a img.aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption {
	background: #FFF;
	border: 1px solid #F0F0F0;
	max-width: 96%;
	padding: 5px 3px 10px;
	text-align: center;
}

.wp-caption.alignnone {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
	margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
	margin: 5px 0 20px 20px;
}

.wp-caption img {
	border: 0 none;
	height: auto;
	margin: 0;
	max-width: 98.5%;
	padding: 0;
	width: auto;
}

.wp-caption .wp-caption-text,
.gallery-caption {
	font-size: 11px;
	line-height: 17px;
	margin: 0;
	padding: 0 4px 5px;
}



/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	a,
	a:visited {
		text-decoration: underline;
	}

	a[href]:after {
		content: " (" attr(href) ")";
	}

	abbr[title]:after {
		content: " (" attr(title) ")";
	}

	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content: "";
	}

	pre,
	blockquote {
		border: 1px solid #999;
		page-break-inside: avoid;
	}

	thead {
		display: table-header-group;
	}

	tr,
	img {
		page-break-inside: avoid;
	}

	img {
		max-width: 100% !important;
	}

	@page {
		margin: 0.5cm;
	}

	p,
	h2,
	h3 {
		orphans: 3;
		widows: 3;
	}

	h2,
	h3 {
		page-break-after: avoid;
	}
}

/
/* --- End enforce 3:2 --- */