/*
Theme Name: J2 Divi Child
Theme URI: http://goj2.com/
Template: Divi
Author: J2 Marketing
Author URI: http://goj2.com/
Version: 1.3
Updated: 2022-09-27 16:40:00
*/

/* Splide CSS can be found in the /styles/ folder */
/* Gravity Forms CSS can be found in the /styles/ folder */

/* Start custom CSS here */
/* Site defaults */
:root {
	--white: #fff;
	--black: #000;
	--primary1: #0f0f0f;
	--primary2: #555;
	--secondary1: #f0f0f0;
	--secondary2: #d0d0d0;
	--accent: #2ea3f2;
}

::selection {
	background: #0C2342;
	color: #fff;
}

html, body {
	overflow-x: hidden;
	background: #fff;
}

#gallery_container .et_pb_section {
	background-color: transparent;
}

#gallery_container .splide {
	background-color: #eee;
}

.box-list ul {
	list-style-type: none;
	padding: 0;
}

.box-list li {
	padding: 8px 16px;
	background-color: #f8f8f8;
}

.box-list li:nth-child(2n+1) {
	background-color: #eee;
}

.list-2 ul {
	column-count: 2;
	column-gap: 30px;
}

.list-4 ul {
	column-count: 4;
	column-gap: 30px;
}

@media only screen and (max-width: 980px) {
	.list-4 ul {
		column-count: 2;
		column-gap: 30px;
	}
}

@media only screen and (max-width: 600px) {
	.list-2 ul {
		column-count: 1;
		column-gap: 0px;
	}

	.list-4 ul {
		column-count: 1;
		column-gap: 0px;
	}
}

/* Header Menu */
header {
	position: fixed;
	left: 0;
	width: 100%;
	z-index: 99;
}

header.mobile {
	left: 50%;
	opacity: 0;
	top: 100px;
	bottom: 0;
	height: auto;
    pointer-events: none;
}

header.mobile.open {
	pointer-events: all;
}

#et-main-area {
	padding-top: 80px;
}


@media only screen and (max-width: 980px) {
	header {
		background-color: #fff;
		height: 100%;
		max-height: 100%;
		overflow-x: hidden;
		overflow-y: auto;
	}
	#et-main-area {
		padding-top: 0;
		margin-top: 100px;
	}
}

#mobile_menu {
	background-color: #fff;
	padding: 16px;
}

#mobile_menu a {
	display: block;
}

#mobile_menu ul {
	list-style-type: none;
	padding: 0;
}

.mobile_label {
	font-size: 18px;
	font-family: 'Open Sans Semi-Bold',Helvetica,Arial,Lucida,sans-serif;
	color: #444;
	padding: 16px;
	display: flex;
	justify-content: space-between;
	cursor: pointer;
}

.mobile_label span {
	display: block;
	max-width: 20px;
	margin-left: 16px;
	pointer-events: none;
}

.mobile_label img {
	transform: rotate(0deg);
	transition: 300ms ease-in-out;
}
.mobile_label.open img {
	transform: rotate(90deg);
}

.mobile_sub {
	display: none;
	padding-left: 16px !important;
	padding-right: 16px !important;
}

#mobile_menu .menu_sub_item {
	font-size: 16px;
	font-family: 'Mina Regular',Helvetica,Arial,Lucida,sans-serif;
}

#mobile_menu .menu_sub_sub_link {
	background: #f8f8f8;
}

#mobile_menu .menu_sub_sub_link:nth-child(2n+1) {
	background: #eee;
}

#mobile_menu .menu_sub_sub_link:last-child {
  margin-bottom: 16px;
}

#mobile_menu .menu_sub_sub_link a {
	font-size: 16px;
	padding: 16px;
}

#mobile_menu .mobile_sub + .mobile_label, #mobile_menu .mobile_label + .mobile_label {
	border-top: 1px solid #eee;
}

#mobile_menu .mobile_sub_label + .mobile_sub_label {
	margin-top: 30px;
}

#mobile_menu .menu_sub_item {
	max-width: none;
	margin-bottom: 16px;
}

.mobile_menu_bar_top {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	height: 100px;
	background: #fff;
	z-index: 999;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 30px;
}

#mobile_luxe_logo {
	height: 60%;
}

#mobile_luxe_logo img {
	display: block;
	height: 100%;
}

.mobile_menu_toggle {
	position: relative;
	width: 60px;
	height: 60px;
	background-color: #0C2342;
	border-radius: 50%;
	z-index: 999;
}

.mobile_menu_toggle .line {
	position: absolute;
	height: 2px;
	width: 50%;
	background-color: #fff;
	top: calc(50% - 1px);
	left: 25%;
	pointer-events: none;
	transform-origin: center;
	transition: 300ms ease-in-out;
}

.mobile_menu_toggle .line1 {
	transform: translateY(-5px) rotate(0deg);
}
.mobile_menu_toggle .line2 {
	transform: translateY(5px) rotate(0deg);
}

.mobile_menu_toggle.open .line1 {
	transform: translateY(0px) rotate(45deg);
}
.mobile_menu_toggle.open .line2 {
	transform: translateY(0px) rotate(-45deg);
}

/* Buttons */
.et_pb_button {
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.clip {
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.clip-big {
	clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
}

.clip-big-rev {
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 20px, 100% 100%, 20px 100%, 0 calc(100% - 20px));
}
/* ////////////////////////////////// */

/* Homepage Header */
#home_hero .et_pb_section_video_bg {
	z-index: 1;
	mix-blend-mode: overlay;
	opacity: .05;
}

/* Page Header */
.header_tag {
	font-size: 60%; 
	color: #222;
	background: #cbcbcb; 
	padding: 0px 16px 2px; 
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px); 
	display: inline-block;
	line-height: 1.4;

}
/* ///////////////////////////////// */

/* Footer */
.footer_text li {
	margin-bottom: 8px;
}

.footer_text li::before {
	content: "-";
	position: absolute;
	right: 100%;
	padding-right: 8px;
}

.footer_text a {
	display: block;
}
/* ///////////////////////////////// */

/* Login */
#luxe_login {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.gf_login_links {
	text-align: center;
}
/* //////////////////////////////// */
.user_post_wrapper h5 {
	padding: 0px;
}

.user_post_wrapper a {
	padding: 8px 16px;
	display: block;
}

.user_post_wrapper tr:nth-child(2n+1) {
	background: #eee;
}

.user_post_wrapper tr a {
	margin-left: -16px;
}

.user_post_wrapper h5:hover a {
	background: rgba(0,0,0,0.1);
}

/* Hover Block Links */
.hover_block_link p {
	overflow: hidden !important;
	text-align: left;
	transition: 500ms ease-in-out;
}

.hover_block_link:hover p {
	color: #0C2342 !important;
	transition: 500ms ease-in-out 500ms;
}

/* Hover Blocks (new) */
.hover_card_new .et_pb_divider_hidden {
	transform: translate(0px, 0px);
	transition: 300ms ease-in-out;
}

.hover_card_new:hover .et_pb_divider_hidden {
	transform: translate(8px, 8px);
}

.hover_card_new:hover .et_pb_divider_hidden::before {
	transform: scale(20);
}

.hover_card_new:hover .et_pb_divider_hidden::after {
	opacity: 0;
}

/* /////////////////////////////// */

/* Blog */
.et_pb_blog_grid_wrapper article {
	position: relative;
	background: transparent !important;
	transition: 300ms ease-in-out;
}

.et_pb_blog_grid_wrapper article::before, .et_pb_blog_grid_wrapper article::after {
	content: "";
	position: absolute;
	left: -2px;
	right: -2px;
	top: -2px;
	bottom: -2px;
	clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
	background: #0c2342;
	z-index: -1;
	visibility: visible;
	height: auto;
	transition: inherit;
}

.et_pb_blog_grid_wrapper article::after {
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #fff;
}

.et_pb_blog_grid_wrapper article:hover {
	transform: translate(8px, 8px);
}

.et_pb_blog_grid_wrapper article:hover::before {
	transform: translate(-16px, -16px);
}

.et_pb_blog_grid_wrapper article .backdrop {
	position: absolute;
	left: -2px;
	right: -2px;
	top: -2px;
	bottom: -2px;
	clip-path: polygon(20px 0, 100% 0, 100% calc(100% - 20px), calc(100% - 20px) 100%, 0 100%, 0 20px);
	background: #0c2342;
	z-index: -1;
	visibility: visible;
	height: auto;
	transition: inherit;
}

/* Side Credits */
#powered-by {
	font-family: arial !important;
	font-weight: 500 !important;
	text-transform: none !important;
	color: #ffffff70;
	font-size: 14px;
	padding: 8px;
	padding-top: 6px;
}

#powered-by span.main {
	font-family: arial-black, arial;
	font-weight: 1000 !important;
	color: #ffffffee;
	font-size: 16px;
	letter-spacing: -.06ch;
}

#powered-by span.j {
	position: relative;
	margin-right: -.26ch;
	z-index: 5;
	text-shadow: 
		1px 1px #000,
		0 1px #000,
		1px 0 #000;
}

.flyBy {
	position: absolute;
	left: 0;
	top: 0;
	width: 0;
	height: 30px;
	background: #fff;
	mix-blend-mode: exclusion;
	z-index: 99;
}
/* ////////////////////////////////// */

/* Mega Menu */
.menu_wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 80px;
	padding: 0 30px;
	background: #fff;
	border-bottom: 1px solid #cbcbcb;
	font-family: 'Open Sans Semi-Bold';
	font-size: 16px;
}

.menu_wrapper ul {
	padding: 0 !important;
	list-style-type: none !important;
}

.menu_wrapper a {
	display: block;
}

.menu_links {
	display: flex;
}

.menu_top_item a {
	padding: 16px;
	color: #0C2342;
}

.secondary_menu {
	display: flex;
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	width: 100%;
	box-shadow: 0 -8px 30px;
	z-index: -1;
	transform: translateY(-50%);
	opacity: 0;
	transition: 300ms ease-in-out;
	pointer-events: none;
}

.secondary_menu.open {
	transform: translateY(0%);
	opacity: 1;
	pointer-events: all;
}

.sub_menu_header {
	width: 25%;
	max-width: 350px;
	padding: 0;
	background: #ebebeb;
}

.menu_item_image img {
	display: block;
}

.menu_item_desc {
	padding: 16px;
}

.mennu_sub_title p {
	color: #0C2342;
	font-weight: 600;
	font-size: 20px;
	margin-bottom: 16px;
}

.secondary_menu_links {
	flex: 1;
	display: flex;
	padding: 30px 50px;
}

.secondary_menu_list {
	display: block;
}

.menu_sub_item {
	max-width: 200px;
}

#menu_logo {
	margin: 0 30px;
	margin-left: 0;
	max-width: 150px;
}

.menu_item_main {
	display: flex;
	align-items: center;
}

.menu_sub_item + .menu_sub_item {
	margin-left: 8%;
}

.menu_inner_item a {
	padding: 8px 0;
	color: #425B7D;
	line-height: 1.4;
}

.menu_right {
	display: flex;
	align-items: center;
}

.profile_pic {
	height: 40px;
	width: 40px;
	background: linear-gradient(90deg, #0C2342 0%, #425B7D 100%);
	margin-left: 30px;
	border-radius: 50%;
	overflow: hidden;
	border: 1px solid #0C2342;
}

.profile_pic img {
	opacity: .9;
}
/* ////////////////////////////// */

/* Video Overlay */
.et_pb_video_overlay_hover {
	background: rgba(0,0,0,.4);
}
/* ////////////////////////////// */

/* Toggle Text Blocks */
.luxe_toggle {
	background: #fff;
	padding: 12px 16px 0px;
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}

.luxe_toggle_wrapper {
	filter: drop-shadow(0 0 0px #00000030);
	transform: scale(1);
	transition: 200ms ease-in-out;
}

.luxe_toggle_wrapper.selected {
	filter: drop-shadow(0 0 0px #00000030) !important;
	transform: scale(1) !important;
}

.luxe_toggle_wrapper:hover {
	filter: drop-shadow(0 0 6px #00000030);
	transform: scale(1.05);
	cursor: pointer !important;
}


.luxe_toggle_wrapper .luxe_toggle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	transform: translateY( calc(100% - 3px) );
	background: #425B7D;
	z-index: -1;
	transition: 200ms ease-in-out;
}

.luxe_toggle_wrapper.selected .luxe_toggle::before {
	transform: translateY(0%);
}

.luxe_toggle_wrapper.selected .luxe_toggle h3 {
	color: #0C2342;
	transition: 200ms ease-in-out;
}

.luxe_toggle_wrapper.selected .luxe_toggle h3 {
	color: #fff;
}

.et_pb_section_video_bg {
	z-index: -1;
}
/* /////////////////////////////////////////////////// */

/* Construction Toggles */
.toggle_slide {
	position: absolute;
	z-index: 99;
	height: 100%;
	width: 100%;
	max-width: none !important;
	max-height: none;
	top: 0;
	left: 0;
	background: rgba(255, 255, 255, 0.95);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
	align-items: center;
	padding: 30px !important;
}

.toggle_slide .et_pb_column {
	margin: 0 !important;
	padding: 30px;
	max-width: 800px;
	width: 80%;
}

.toggle_slide .et_pb_column + .et_pb_column {
	padding-top: 0;
}

.toggle_slide .et_pb_button_module_wrapper {
	z-index: 99;
}
/* /////////////////////////////////////////////////// */

/* ACF Maps */
.acf-map {
	width: 100%;
	height: 400px;
	border: #ccc solid 1px;
	margin: 0;
}

.acf-map img {
	max-width: inherit !important;
}

/* Prices */
.price {
	font-family: 'Mina Regular',Helvetica,Arial,Lucida,sans-serif;
}

.price-direct {
	color: #425B7D;
}

.price-difference {
	color: #477D42;
}

.price_sublabel {
	font-size: 80%;
	color: #666;
}

.et_pb_portfolio_item .price {
	font-size: 16px !important;
	line-height: 1.4;
}

.et_pb_portfolio_item .prices {
	margin-top: 8px;
	border-top: 1px solid #eee;
	padding-top: 8px;
}

.et_pb_portfolio_item .et_pb_button::after {
	line-height: inherit;
}

/* Inventory */
#inventory_includes {
	-moz-column-count: 2;
	-moz-column-gap: 16px;
	-webkit-column-count: 2;
	-webkit-column-gap: 16px;
	column-count: 2;
	column-gap: 16px;
}
/* ///////////////////////////////// */

.et_pb_social_media_follow {
	padding-left: 0 !important;
}

.et-social-facebook {
	list-style-type: none;
}

.et-social-facebook a.icon::before {
	content: "\e093";
	background: #4267B2;
	font-family: "ETmodules";
	display: inline-block;
	width: 1.5ch;
	height: 1.5ch;
	text-align: center;
	line-height: 1.5ch;
	color: #fff;
	padding: 2px;
}

.et-social-facebook a span {
	margin-left: 1ch;
}

/* Inventory Filters */
#inventory_filter .post-meta a {
	background: #425B7D;
	padding: 5px 12px 4px;
	clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
}
/* /////////////////////////////////////////////////// */

/* Events */
.luxe_event {
	background: #eee;
	padding: 30px;
}

.luxe_event + .luxe_event {
	margin-top: 30px;
}

.luxe_event .event_dates {
	margin-bottom: 30px;
}
/* /////////////////////////////////////////////////// */

/* WebUI Popovers (construction page) */
#construction_tabs .et_pb_code_inner {
	height: 100%;
}

.construction_info_tab {
	position: absolute;
	background: #425B7D;
	width: 35px;
	height: 35px;
	text-align: center;
	color: #fff;
	line-height: 35px;
	font-family: 'Open Sans Semi-Bold',Helvetica,Arial,Lucida,sans-serif;
	box-shadow: 2px 2px 10px #00000040;
}

.construction_info_tab:hover {
	cursor: pointer;
	background: #0C2342;
}

.webui-popover-inner iframe {
	height: 100% !important;
}

.webui-popover-inner .et_pb_video, .webui-popover-inner img {
	margin-bottom: 8px;
	display: block;
}

.webui-popover-inner li {
	background-color: #f8f8f8;
	color: #444;
	padding: 4px 16px;
}
.webui-popover-inner li:nth-child(2n+1) {
	background-color: #eee;
}

.webui-popover-inner img {
	margin: auto;
}

.webui-popover {
	min-width: 25vw;
	max-width: 500px;
}
/* /////////////////////////////////////////////////// */