/*
Theme Name:   Divi Child Theme
Author:       6P Marketing
Author URI:   https://6pmarketing.com/
Template:     Divi
Version:      1.0.0
*/

@import "modified.css";

:root {
	--pmb-yellow: #e1d252;
	--pmb-brown: #8b5e3c;
	--pmb-cream: #f3efeb;
	--pmb-blue: #00a79e;
	--pmb-grey: #414142;
	--hex-shape: polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
}

/* ========================================= */
/* --- Universal =========================== */
/* ========================================= */

body {
	font-weight: 400;
}

/* fixes issue with the container */
#page-container {
	overflow-x: hidden;
}

.grecaptcha-badge,
.grecaptcha-logo {
	z-index: 10000;
}

:focus-visible {
	outline: -webkit-focus-ring-color auto 1px;
}

/* --- row reordering --- */
@media (max-width: 980px) {
	.reorder-row,
	.reorder-section .et_pb_row {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
			flex-wrap: wrap;
	}
		#main-content .reorder-row .reorder-item {
			margin-bottom: 30px !important;
		}
			#main-content .reorder-row .reorder-item.reorder-item-last {
				margin-bottom: 0 !important
			}
	.reorder-item.first {
		-webkit-box-ordinal-group: 2;
			-ms-flex-order: 1;
				order: 1;
	}
	.reorder-item.second {
		-webkit-box-ordinal-group: 3;
			-ms-flex-order: 2;
				order: 2;
	}
}

/* embedded tools */
.embed-content iframe {
	display: flex;
}

/* ========================================= */
/* --- Header ============================== */
/* ========================================= */

/* --- Reworking the 'active' menu item */
/* default state - match colour of dropdowns */
#divi-child-plus-header .et_pb_menu ul li.current-menu-item a {
	color: var(--pmb-grey) !important;
}
	@media (max-width: 980px) {
		/* mobile -default state - match colour of dropdowns */
		#divi-child-plus-header .et_pb_menu ul li.current-menu-item a {
			color: var(--pmb-grey) !important;
		}
	}

/* active menu color - update to match theme */
#divi-child-plus-header .et_pb_menu ul li.current-menu-item > a,
#divi-child-plus-header .et_pb_menu ul li.current-menu-ancestor > a {
	color: var(--pmb-brown) !important;
}

#divi-child-plus-header .et_mobile_menu .menu-item-has-children > a {
	font-weight: inherit;
}

/* --- Primary Menu ======================== */
#page-container #divi-child-plus-header .sub-menu a {
	text-transform: initial;
}

#divi-child-plus-header .et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
	padding-top: 20px;
	padding-bottom: 20px;
}
	#divi-child-plus-header .et-menu .menu-item-has-children>a:first-child {
		padding-right: 20px;
	}

/* --- Primary Menu - Mobile =============== */
@media (max-width: 980px) {
	/* adjusts the mobile menu from the top */
	#divi-child-plus-header .et_pb_menu .et_mobile_menu {
		top: calc(100% + 15px);
		padding: 0;

		/* creates a mobile safe dropdown */
		overflow-y: scroll;
		max-height: calc(100vh - 180px);
	}

	body.logged-in.admin-bar #divi-child-plus-header .et_pb_menu .et_mobile_menu {
		max-height: calc(100vh - (180px + 32px));
	}
}
	@media (max-width: 782px) {
		body.logged-in.admin-bar #divi-child-plus-header .et_pb_menu .et_mobile_menu {
			max-height: calc(100vh - (180px + 46px));
		}
	}

/* ========================================= */
/* --- Body ================================ */
/* ========================================= */

/* --- Homepage ============================= */
@media (max-width: 980px) {
	.hero-above-fold-content {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
}
	.hero-above-fold-content .hero-text-home h1 span {
		display: inline-block;
		padding-left: 20px;
	}

/* --- Count Values */
.sector-hex-count {
	clip-path: var(--hex-shape);
}

/* --- Ganeral ============================== */
/* alignment of the large shape at the top of pages */
@media (min-width: 1920px) {
	.hex-hero-top-home {
		top: -1080px !important;
	}
		/* .hex-hero-top-home .hex-asset-shape {} */

	.hex-hero-top {
		top: -815px !important;
	}

	.hex-hero-bottom {
		bottom: -300px !important;
	}	
}

/* sets hex images to be specific size */
.hex-image .et_pb_image_wrap,
.hex-image .et_pb_image_wrap img  {
	width: 100% !important;
}

/* centered the background for CSS parallax */
.parallax-adjustment .et_parallax_bg {
	background-position: center center;
}

/* --- Custom Shapes ======================= */
/* --- Filled Hexagon */
.hex-asset-shape {
position: relative;
}
	.hex-asset-shape:before {
		display: block;
		content: "";
		width: 100%;
		padding-top: 108.695%;
	}

/* --- Hexagon Outline */
/* colour the shapes */
.pmb-blue .hex-stroke-line {
	stroke: var(--pmb-blue);
}
.pmb-yellow .hex-stroke-line {
	stroke: var(--pmb-yellow);
}
.pmb-grey .hex-stroke-line {
	stroke: var(--pmb-grey);
}
.pmb-brown .hex-stroke-line {
	stroke: var(--pmb-brown);
}

/* --- Accordions ========================== */
.advanced-accordions .et_pb_accordion_item {
	transition: all 300ms ease 0ms;
}

.advanced-accordions .et_pb_accordion_item.et_pb_toggle_close .et_pb_toggle_content {
	color: #fff;
}

/* icon adjustements */
.advanced-accordions .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
	display: block;
	content: "\f139" !important;
}
	.pmb-brown.advanced-accordions .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
		color: var(--pmb-brown);
	}

	.pmb-blue.advanced-accordions .et_pb_accordion_item.et_pb_toggle_open .et_pb_toggle_title:before {
		color: var(--pmb-blue);
	}

/* --- Feature Split Section [50/50] ======= */
.feature-split-section .et_pb_column {
	margin-bottom: 0 !important;
}

.gform_wrapper.gravity-theme .gfield-choice-input {
	margin-top: 5px;
	vertical-align: top;
}

/* --- Image Cover Adjustment */
/* sets image to inherit height of the container */
.cover-image.et_pb_image,
.cover-image.et_pb_image .et_pb_image_wrap {
	height: 100%;
}
	/* sets the image to act like a background */
	.cover-image.et_pb_image .et_pb_image_wrap img {
		height: 100%;
		object-fit: cover;
	}

/* --- Testimonial Slider ================== */
.testimonal-slider .n2-ss-slide {
	background-color: rgba(255, 255, 255, 0) !important;
}

.testimonal-slider .testimonal-slider-hex:before {
	content: '';
    display: block !important;
    position: absolute;
    top: -90px;
    height: 90px;
    width: 100%;
    background: #fff;
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

.testimonal-slider .testimonal-slider-hex:after {
	content: '';
    display: block !important;
    position: absolute;
	bottom: -90px;
    height: 90px;
    width: 100%;
    background: #fff;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
}

/* --- Our Rootes Slider =================== */
.our-roots-slider .n2-ss-slide {
	background-color: rgba(255, 255, 255, 0) !important;
}

.our-roots-slider .hex-slide {
	clip-path: var(--hex-shape);
}

/* ========================================= */
/* --- Our Team ============================ */
/* ========================================= */

/* --- Hex Shape Responsive Grid =========== */
/* reference: https://css-tricks.com/hexagons-and-beyond-flexible-responsive-grid-patterns-sans-media-queries/ */
@media (min-width: 900px) {
	.hex-listing-grid .divi-filter-loop-container {
		display: flex; 
		/*--s: 18.95vw;*/ /* size of hexagons - variable value */
		--s: calc((25vw - 5vw) - 13px); /* size of hexagons - 4 items removed row spacing and margins */
		--m: 5px; /* margin */
		--f: calc(var(--s) * 1.732 + 4 * var(--m) - 1px); /* offset gap size */
	}
	
	#hex-grid.hex-listing-grid .grid-posts {
		display: block;
	}
		/* create the offset gap */
		#hex-grid.hex-listing-grid .grid-posts::before {
			content: "";
			width: calc(var(--s) / 2 + var(--m));
			float: left;
			height: 100%; 
			shape-outside: repeating-linear-gradient(#0000 0 calc(var(--f) - 3px), #000 0 var(--f));
			display: inherit !important;
		}
			/* create the indivdual shapes */
			#hex-grid.hex-listing-grid .grid-posts .grid-col {
				width: var(--s);
				margin: var(--m);
				height: calc(var(--s) * 1.1547);
				max-width: 400px;
				display: inline-block;
				font-size: initial;
				clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
				margin-bottom: calc(var(--m) - var(--s) * 0.2886); /* some negative margin to create overlap */
			}	
}

/* responsive values for the grid */
@media (min-width: 1500px) {
	.hex-listing-grid .divi-filter-loop-container {
		--s: calc(300px - 13px); /* size of hexagons - 4 items removes and margins */
	}
}

@media (max-width: 1200px) and (min-width: 900px) {
	.hex-listing-grid .divi-filter-loop-container {
		--s: calc((33.334vw - 6.667vw) - 13px); /* size of hexagons - 3 items removed row spacing and margins */
		/* adds space after the content to allow for the wrapping */
		margin-bottom: 37.5%;
	}
}

/* creates the clipping path for the hex shape */
#hex-grid.hex-listing-grid .grid-posts .grid-col {
	clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
}

/* sets the image sto be full height - appoligies on the div soup */
.team-image-container,
.team-image-container .team-image-inner-container,
.team-image-container .team-image-inner-container .team-image-content,
.team-image-container .team-image-inner-container .team-image-content .et_pb_module_inner,
.team-image-container .team-image-inner-container .team-image-content .et_pb_module_inner span {
	height: 100%;
}
	.team-image-container .team-image-inner-container .team-image-content .et_pb_module_inner span img {
		height: 100%;
		object-fit: cover;
	}

/* --- Hex Shape - Content ================= */
.team-content-container {
	display: flex;
    align-items: center;
    justify-content: center;
}


/* --- Popup Contents ====================== */
.popup-team-member-image {
	clip-path: polygon(0% 25%, 0% 75%, 50% 100%, 100% 75%, 100% 25%, 50% 0%);
	margin-left: auto;
	margin-right: auto;
	max-width: 300px;
}

/* ========================================= */
/* --- Gravity Forms ======================= */
/* ========================================= */
p.gform_required_legend {
	display: none;
}

/* changes to the field lables */
.gform_wrapper.gravity-theme .gfield_label {
	color: rgba(0,167,158,0.5);
}
.gform_wrapper.gravity-theme .gfield_checkbox label,
.gform_wrapper.gravity-theme .gfield_radio label {
	font-size: 18PX;
}

/* style the form fields */
input.text, input.title, input[type=email], input[type=password], input[type=tel], input[type=text], select, textarea {
	border: 1px solid var(--pmb-blue);
}

/* submit button */
.gform_wrapper.gravity-theme .gform_footer input {
	background: var(--pmb-blue);
	border: 2px solid var(--pmb-blue);
	padding: 10px 30px;
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	text-transform: uppercase;
	transition: all 300ms ease 0ms;
	cursor: pointer;
}
	input[type="submit"].gform_button:hover {
		background: #fff;
		color: var(--pmb-grey);
	}

.gform_wrapper.gravity-theme .gfield textarea {
	max-width: 100% !important;
}

/* ========================================= */
/* --- Sitemap ============================= */
/* ========================================= */

.sitemap-layout ul ul,
.sitemap-layout .wsp-container > ul {
	padding-bottom: 0;
}