/*
 Theme Name:     Continental Stairs
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Husk
 Author URI:     https://www.husk.co.nz/
 Template:       Divi
 Version:        1.0.022211
*/

/*------------------------------------------------*/
/*--------------[typography]-----------*/
/*------------------------------------------------*/
h1, h2, h3, h4, h5, h6, .et_pb_posts .pagination a {
	text-transform: initial;
	font-family: "Poppins", sans-serif;
}

h1, h2, h3 {
	font-weight: 400;
}

h4, h5, h6, .et_pb_posts .pagination a {
	font-weight: 700 !important;
}

h1, h2, h3, h4, h5, h6, .et_pb_posts .pagination a {
	line-height: 1.2em;
}

h1, 
.et_pb_column_1_2 h1,
.et_pb_column_1_3 h1, 
.et_pb_column_1_4 h1, 
.et_pb_column_1_5 h1, 
.et_pb_column_1_6 h1, 
.et_pb_column_2_5 h1{
	font-size: 90px;
} 

.hero .et_pb_text_inner h1 {
	font-size: 32px;
}

h2,
.et_pb_column_1_2 h2,
.et_pb_column_1_3 h2, 
.et_pb_column_1_4 h2, 
.et_pb_column_1_5 h2, 
.et_pb_column_1_6 h2, 
.et_pb_column_2_5 h2, 
.et_pb_title_container h1.entry-title {
	font-size: 52px;
}

h3, 
.et_pb_column_1_2 h3,
.et_pb_column_1_3 h3, 
.et_pb_column_1_4 h3, 
.et_pb_column_1_5 h3, 
.et_pb_column_1_6 h3, 
.et_pb_column_2_5 h3,
.et_pb_post h2,
h5.et_pb_toggle_title {
	font-size: 40px;
}

h4,
.et_pb_column_1_2 h4,
.et_pb_column_1_3 h4, 
.et_pb_column_1_4 h4, 
.et_pb_column_1_5 h4, 
.et_pb_column_1_6 h4, 
.et_pb_column_2_5 h4,
.et_pb_blog_grid h2 {
	font-size: 32px;
}

h5,
.et_pb_column_1_2 h5,
.et_pb_column_1_3 h5, 
.et_pb_column_1_4 h5, 
.et_pb_column_1_5 h5, 
.et_pb_column_1_6 h5, 
.et_pb_column_2_5 h5,
.et_pb_column_1_3 .et_pb_blurb_container h4 {
	font-size: 26px;
}

h6,
.et_pb_column_1_2 h6,
.et_pb_column_1_3 h6, 
.et_pb_column_1_4 h6, 
.et_pb_column_1_5 h6, 
.et_pb_column_1_6 h6, 
.et_pb_column_2_5 h6,
h4.dmpro_timeline_item_header {
	font-size: 20px;
}

p, .et_pb_toggle_content, .et_pb_text_inner, .et_pb_blurb_description, .et_pb_tab_content, ul li, ol li, cite, .et_pb_slide_description .et_pb_slide_content {
	font-family: "Poppins", sans-serif;
	font-size: 16px;
	line-height: 1.8em;
	font-weight: 400;
}

.testimonial .et_pb_text_inner, .testimonial .et_pb_text_inner p {
	font-weight: 400;
}

.script, span.script {
	font-family: "shelby", sans-serif;
	font-weight: 400 !important;
	line-height: 0.85em !important;
	color: #fdb913 !important;
	font-size: 2.5em !important
}

.script, span.script.grey {
	color: #58595b !important;
}

h1 .script, h1 span.script {
	line-height: 0.5em !important;
}

.small .et_pb_text_inner, 
.small .et_pb_text_inner p, 
.small .et_pb_text_inner ul li, 
.small .et_pb_text_inner ol li {
	font-size:13px;
}

.popup-text .et_pb_text_inner, 
.popup-text .et_pb_text_inner p, 
.popup-text .et_pb_text_inner ul li, 
.popup-text .et_pb_text_inner ol li {
	font-size:13px;
	color: #58595b;
}

.large .et_pb_text_inner, 
.large .et_pb_text_inner p, 
.large .et_pb_text_inner ul li, 
.large .et_pb_text_inner ol li,
.et_pb_promo_description p {
	font-size:20px;
}

.capitalize .et_pb_text_inner h2, 
.capitalize .et_pb_text_inner h3{
	text-transform: capitalize;
}

@media only screen and (max-width: 767px) {	
	.et_pb_title_container h1.entry-title,
	.et_pb_text_0 h1,
	h1, 
	.et_pb_column_1_2 h1,
	.et_pb_column_1_3 h1, 
	.et_pb_column_1_4 h1, 
	.et_pb_column_1_5 h1, 
	.et_pb_column_1_6 h1, 
	.et_pb_column_2_5 h1 {
		font-size: 52px !important;
	}
	 
	h2, 
	.et_pb_column_1_2 h2,
	.et_pb_column_1_3 h2, 
	.et_pb_column_1_4 h2, 
	.et_pb_column_1_5 h2, 
	.et_pb_column_1_6 h2, 
	.et_pb_column_2_5 h2,
	.hero .et_pb_text_inner h1 {
		font-size: 40px;
	}
	
	h3,
	.et_pb_column_1_2 h3,
	.et_pb_column_1_3 h3, 
	.et_pb_column_1_4 h3, 
	.et_pb_column_1_5 h3, 
	.et_pb_column_1_6 h3, 
	.et_pb_column_2_5 h3,
	.et_pb_blog_grid h2,
	article.et_pb_post h2,
	h5.et_pb_toggle_title {
		font-size: 32px;
	}

	h4, 
	.et_pb_column_1_2 h4,
	.et_pb_column_1_3 h4, 
	.et_pb_column_1_4 h4, 
	.et_pb_column_1_5 h4, 
	.et_pb_column_1_6 h4, 
	.et_pb_column_2_5 h4,
	.thumbnail-tiles .et_pb_blurb_container h4{
		font-size: 20px;
	}
	
	h5,
	.et_pb_column_1_2 h5,
	.et_pb_column_1_3 h5, 
	.et_pb_column_1_4 h5, 
	.et_pb_column_1_5 h5, 
	.et_pb_column_1_6 h5, 
	.et_pb_column_2_5 h5,
	.et_pb_column_1_3 .et_pb_blurb_container h4 {
		font-size: 18px;
	}
	
	h6,
	.et_pb_column_1_2 h6,
	.et_pb_column_1_3 h6, 
	.et_pb_column_1_4 h6, 
	.et_pb_column_1_5 h6, 
	.et_pb_column_1_6 h6, 
	.et_pb_column_2_5 h6 {
		font-size: 16px;
	}
	
	p, ul li, ol li, 
	.et_pb_toggle_content, 
	.et_pb_text_inner, 
	.et_pb_blurb_description,
	.et_pb_tab_content,
	.large .et_pb_text_inner, 
	.large .et_pb_text_inner p, 
	.large .et_pb_text_inner ul li, 
	.large .et_pb_text_inner ol li{
		font-size: 16px;
	}

}

/* toggles - read more */
.read-more h5.et_pb_toggle_title {
	text-transform: capitalize;
	font-weight: 700;
	font-size: 16px;
}

/* blog posts */
.et_pb_title_container h1.entry-title {
	text-transform: capitalize;
}

.wp-block-quote p {
	font-weight: 700;
	font-size: 18px;
}
	
/* underlines */
.et_pb_text_inner p a, 
.et_pb_text_inner ul li a,
.et_pb_text_inner a, 
.et_pb_text_inner table p a,
.et_pb_tab_content a,
.et_pb_toggle_content a,
.et_pb_toggle_content p a,
.et_pb_post_content p a,
.et_pb_blurb_description p a, 
.et_pb_blurb_description li a {
    text-decoration: none;
}

.et_pb_text_inner p a:hover, 
.et_pb_text_inner ul li a:hover,
.et_pb_text_inner a:hover, 
.et_pb_text_inner table p a:hover,
.et_pb_post_content p a:hover,
.et_pb_post .entry-title a:hover, 
.et_pb_post h2 a:hover,
.et_pb_post .post-meta a:hover, 
.et_pb_posts .pagination a:hover,
.et_pb_blurb_description p a:hover,
.et_pb_blurb_description li a:hover {
	text-decoration: underline;
}

.et_pb_text_inner p a.btn:hover, 
.et_pb_text_inner a.btn:hover {
	text-decoration: none;
}

.external-link {
	position: relative; /* Required for absolute positioning of the pseudo-element */
	text-decoration: none;
}

.external-link::after {	
	content: '';
    display: inline-block;
    width: 0.75em; /* Adjust size as needed */
    height: 0.75em; /* Adjust size as needed */
    vertical-align: middle; /* Aligns the icon with the text */
    margin-left: 2px; /* Adjust spacing as needed */	
	background-color: currentColor; /* Use current text color */
    mask: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M19%2019H5V5h7V3H5a2%202%200%200%200-2%202v14a2%202%200%200%200%202%202h14c1.1%200%202-.9%202-2v-7h-2v7zM14%203v2h3.59l-9.83%209.83%201.41%201.41L19%206.41V10h2V3h-7z%22%2F%3E%3C%2Fsvg%3E') no-repeat center;
    mask-size: contain;
}

/*------------------------------------------------*/
/*--------------[menu]-----------*/
/*------------------------------------------------*/
#main-header {
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#top-menu li a, .et_search_form_container input,
#top-header, #top-header a, 
#et-secondary-nav li li a, 
#top-header .et-social-icon a:before {
	font-weight: 700 !important;
	font-family: "Poppins", sans-serif;
}

.nav li li {
	line-height: 1.4em;
}

@media (max-width: 1150px) {
	 #et_mobile_nav_menu {
	 	display: block;
	 }

	#top-menu {
	 	display: none;
	 }
 }

.mobile_menu_bar:before, .mobile_menu_bar:after {
	color: #ffffff !important;
}

/**** This hides the sub menu items on mobile ****/
#page-container .mobile_nav li ul.hide {
    display: none !important;
}
/**** This adjusts the positioning and the background transparency of the parent menu item on mobile ****/
#page-container .mobile_nav .menu-item-has-children {
    position: relative;
}
#page-container .mobile_nav .menu-item-has-children > a {
    background: transparent;
}
/**** This styles the icon and moves it to the right ****/
#page-container .mobile_nav .menu-item-has-children > a + span {
    position: absolute;
    right: 0;
    top: 0;
    padding: 10px 20px;
    font-size: 20px;
    font-weight: 300;
    cursor: pointer;
    z-index: 3;
}
/**** Here you can swap out the actual icons ****/
#page-container span.menu-closed:before {
    content: "\4c";
    display: block;
    color: #19191e;
    font-size: 16px;
    font-family: ETmodules;
}
#page-container span.menu-closed.menu-open:before {
    content: "\4d";
}


/*------------------------------------------------*/
/*--------------[icons]-----------*/
/* icon list: https://gist.github.com/SJ-James/cfcdbde560fe5f214205a254f7e21a4d */
/*------------------------------------------------*/
.icon_etModules:before {
	font-family: 'etModules';
/* 	margin-right: 10px; */
	vertical-align: middle;
}

.icon_phone:before {
	content: "\e090";
	color: #007f6c;
	border: 1px solid #007f6c;
    border-radius: 50%;
	padding: 1px;
}

/*------------------------------------------------*/
/*--------------[buttons]-----------*/
/*------------------------------------------------*/
/* inline Divi buttons (add class to row) */
.inline-buttons .et_pb_button_module_wrapper {
	display: inline-block;
}

.btn, .nf-form-content input[type=submit], .et_pb_button, .button, .btn-menu a {
	display: inline-block; 
	font-size: 14px !important;
	font-family: "Poppins", sans-serif;
	font-weight: 700 !important;
	text-transform: uppercase!important;
	letter-spacing: 1px;
	line-height: 1.7em!important;
	border-radius: 0px !important;
	border: 1px solid !important;
	padding-right: 36px!important;
    padding-left: 36px!important;
	padding-top: 12px!important;
    padding-bottom: 12px!important;
	transition: all 300ms ease 0ms;
	-webkit-transition-duration: .2s;
    transition-duration: .2s;
    -webkit-transition-property: all!important;
    transition-property: all!important;
	cursor: pointer !important;
	height: auto !important;
}

.btn {
	margin: 0 10px 10px 0;
}

@media only screen and (max-width: 414px) { 
	.btn, .nf-form-content input[type=submit], .et_pb_button, .button {
		font-size: 15px !important;
		padding-right: 20px!important;
    	padding-left: 20px!important;
		padding-top: 10px!important;
		padding-bottom: 10px!important;
	}
	.btn {
		margin: 0 3px 7px 0;
	}
}

a.btn:hover {
 	text-decoration: none;
}

.btn-yellow, .nf-form-content input[type=submit], .button {
	color: #19191e!important;
	background-color: #fdb913 !important;
	border-color: #fdb913 !important;
}

.btn-yellow-transparent {
	color: #fdb913 !important;
	background-color: transparent !important;
	border-color: #fdb913 !important;
}

.btn-green {
	color: #ffffff!important;
	background-color: #007f6c !important;
	border-color: #007f6c !important;
}
.btn-green-transparent {
	color: #007f6c !important;
	background-color: transparent !important;
	border-color: #007f6c !important;
}

.btn-white {
	color: #19191e !important;
	background-color: #ffffff !important;
	border-color: #ffffff !important;
}
.btn-white-transparent {
	color: #ffffff !important;
	background-color: transparent !important;
	border-color: #ffffff !important;
}

.btn-grey {
	color: #ffffff!important;
	background-color: #58595b !important;
	border-color: #58595b !important;
}
.btn-grey-transparent {
	color: #58595b !important;
	background-color: transparent !important;
	border-color: #58595b !important;
}

.btn-black {
	color: #ffffff!important;
	background-color: #19191e !important;
	border-color: #19191e !important;
}
.btn-black-transparent {
	color: #19191e !important;
	background-color: transparent !important;
	border-color: #19191e !important;
}

.btn-black:hover, .btn-black-transparent:hover, .btn-white:hover, .btn-white-transparent:hover, .btn-yellow:hover, .btn-yellow-transparent:hover, .btn-green:hover, .btn-green-transparent:hover, .btn-grey:hover, .btn-grey-transparent:hover,
.nf-form-content input[type=submit]:hover, .button:hover, .btn-menu a:hover {
	opacity: 0.85;
}

.cta-menu-link a, .et-fixed-header #top-menu .cta-menu-link a{
	color: #fdb913!important;
}

@media only screen and (max-width: 414px) { 
	.menu-hide-mobile {
		display: none;
	}
}


/*------------------------------------------------*/
/*--------------[columns]-----------*/
/*------------------------------------------------*/
@media only screen and (max-width: 980px) and (min-width: 600px) {
	/*** Keep Columns on Tablet	- add class to row ***/
	.two-columns .et_pb_column {
		width: 50%!important;
	}

	.three-columns .et_pb_column {
		width: 33.33%!important;
	}


	.four-columns .et_pb_column {
		width: 25%!important;
	}
 
}

@media only screen and (max-width: 600px) {
	/*** Keep Columns on Mobile	- add class to row ***/
	.two-columns-mobile .et_pb_column {
		width: 50%!important;
	}

	.three-columns-mobile .et_pb_column {
		width: 33.33%!important;
	}


	.four-columns-mobile .et_pb_column {
		width: 25%!important;
	}
	
}

@media only screen and (max-width: 980px) {
	/***Switch column order on mobile - add flip class to row ***/
	.flip {
		display: -webkit-flex;
		-webkit-flex-direction: column-reverse;
		display: flex;
		flex-direction: column-reverse !important;
	}
	
	.flip.et_pb_row .et_pb_column.et-last-child {
		    margin-bottom: 30px !important;
	}
}

/* Changing the Column Stacking Order On Mobile */
@media all and (max-width: 980px) {
	/*** wrap row in a flex box ***/
	.custom-row {
		display: -webkit-box;
		display: -moz-box;
		display: -ms-flexbox;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap; /* Safari 6.1+ */
	flex-wrap: wrap;
	}

	/*** custom classes that will designate the order of columns in the flex box row ***/
	.first-on-mobile {
		-webkit-order: 1;
		order: 1;
	}

	.second-on-mobile {
		-webkit-order: 2;
		order: 2;
	}

	.third-on-mobile {
		-webkit-order: 3;
		order: 3;
	}

	.fourth-on-mobile {
		-webkit-order: 4;
		order: 4;
	}
	/*** add margin to last column ***/
	.custom-row:last-child .et_pb_column:last-child {
		margin-bottom: 30px;
	}
 
}

/*------------------------------------------------*/
/*--------------[ninja forms]-----------*/
/*------------------------------------------------*/
.nf-form-content {
	margin-left: 0px !important;
}

.nf-form-fields-required,
.nf-error.field-wrap .nf-field-element:after {
	display: none;
}

.nf-form-fields-required,
.nf-error.field-wrap .nf-field-element:after,
.nf-fu-progress {
	display: none;
}

.nf-form-content {
	padding: 0 !important
}

.nf-error-msg {
	font-size: 12px;
	line-height: 1.4em;
}

.nf-field-container {
	margin-bottom: 10px !important;
}

.nf-form-content label {
	font-size: 16px !important;
	font-weight: 700 !important;
}

.nf-form-content .label-above .nf-field-label {
	margin-bottom: 5px !important;
}

.nf-form-content input:not([type=submit]), 
.nf-form-content textarea,
.nf-error textarea.ninja-forms-field {
	border-radius: 0px !important;
	background-color: transparent !important;
	padding: 16px 16px !important;
	color: #58595b !important;
	font-size: 16px;
	border-width: 1px !important;
	border-color: #58595b !important; 
}

.nf-form-content .list-select-wrap .nf-field-element>div:focus, 
.nf-form-content input:not([type=submit]):focus, 
.nf-form-content textarea:focus {
	background-color: #ffffff !important;
}

.nf-response-msg {
	border: 2px solid #19191e;
	padding: 20px;
	margin-bottom: 30px;
}

/* form light */
.form-light .nf-form-content input:not([type=submit]), 
.form-light .nf-form-content textarea,
.form-light .nf-error textarea.ninja-forms-field {
	background-color: transparent !important;
	color: #ffffff !important;
	border-color: #ffffff !important; 
}

.form-light .nf-form-content .list-select-wrap .nf-field-element>div:focus, 
.form-light .nf-form-content input:not([type=submit]):focus, 
.form-light .nf-form-content textarea:focus {
	background-color: transparent !important;
}

.form-light .nf-response-msg {
	border: 2px solid #ffffff;
}

/*------------------------------------------------*/
/*--------------[timeline]-----------*/
/*------------------------------------------------*/
.dmpro_timeline_item .date-icon {
	color: #58595B !important;
}

.dmpro_timeline_item .date-icon.active {
	color: #FDB913 !important;
}