/*======================================
Theme Name: Pinwheel Child Theme
Theme URI: https://pinwheelweb.dev/
Description: Child theme for Pinwheel Framework.
Version: 3.1
Author: Pinwheel Web Development
Author URI: https://pinwheelweb.dev/
Template: Divi
======================================*/

/* You can add your own CSS styles here. Use !important to overwrite styles if needed. */

/*=============
|| Variables ||
=============*/
/* Ignore Syntax Error for Variables */

@font-face{font-display:swap;font-family:ETmodules;src:url(fonts/pinicons.eot);src:url(fonts/pinicons.eot?#iefix) format("embedded-opentype"),url(fonts/pinicons.woff2) format("woff2"),url(fonts/pinicons.woff) format("woff"),url(fonts/pinicons.svg#ETmodules) format("svg");font-weight:400;font-style:normal}

:root {
/* Site Fonts */
--site-head-font: 'Libre Baskerville',Georgia,"Times New Roman",serif
--site-body-font: 'Montserrat',Helvetica,Arial,Lucida,sans-serif
	
/* Accent Color */
--accent-color: #9AA887; /*Sage*/
--accent-color2: #7A6A55; /*Aged Bronze*/
--accent-color3: #2F2F2D; /*Charcoal Slate*/

/* Background Color */
--adm-bg1: #ecebe9;
--adm-bg2: #16171D;

/*Text Color*/
--adm-lt-txt: #000;
--adm-bk-txt2: #fff;
}

/*==============
||  Page CSS  ||
==============*/

::selection {background: var(--accent-color2);color: var(--adm-bk-txt2);}
::-moz-selection {background: var(--accent-color2);color: var(--adm-bk-txt2);}

/* Vertical align for modules with background elements. */
.adm-vert-align { 
    display: flex; 
    flex-direction: column; 
    justify-content: center;
} 

/* PART 1 - Before Lazy Load */
img[data-lazyloaded]{
	opacity: 0;
}

/* PART 2 - Upon Lazy Load */
img.litespeed-loaded{
	-webkit-transition: opacity .5s linear 0.2s;
	-moz-transition: opacity .5s linear 0.2s;
	transition: opacity .5s linear 0.2s;
	opacity: 1;
}

.pin-branding {
	background: var(--accent-color2);
	text-align:center;
	color:var(--adm-bk-txt2);
	font-size:12px;
	font-weight:700;
	padding:15px;
}
.pin-branding a {color:#eee!important;text-decoration:underline;font-weight:600;}

.grecaptcha-badge {z-index:99;}
/*=================
||  Mobile Menu  ||
=================*/
@media only screen and (max-width: 980px) {
	.et_fixed_nav #main-header, 
	.et_fixed_nav #top-header,
	.et_non_fixed_nav.et_transparent_nav #main-header,
	.et_non_fixed_nav.et_transparent_nav #top-header {
    	position: fixed;
	}
	#logo {
		display: none;
	}
	#main-header {
    	-webkit-box-shadow: 0 3px 50px rgba(0,0,0,.2);
    	-moz-box-shadow: 0 3px 50px rgba(0,0,0,.2);
    	box-shadow: 0 3px 50px rgba(0,0,0,.2);
	}
	.mobile_nav.opened .mobile_menu_bar:before {
 		content: '\4d';
	}
	#et-top-navigation span.mobile_menu_bar:before, 
	#et-top-navigation span.mobile_menu_bar:after {
		color: var(--accent-color, #444) !important;
	}
}

.et_mobile_menu {
    overflow-x: hidden!important;
	overflow-y: scroll !important;
    max-height: 80vh;
}

.et_mobile_menu {
	border-top: 3px solid var(--accent-color, #444);
	background: #fff!important;
}

.et_mobile_menu li a {
    display: block;
    padding: 20px 5%;
    border-bottom: 1px solid rgba(0,0,0,.03);
    text-align: center;
    font-size: 24px;
	color: #000!important;
}

/*Mobile Nav CTA*/
.adm-nav-cta a {text-align: center;}
li.adm-hide-mobile {display:none;}
ul.et_mobile_menu .sub-menu li.menu-item{background:#e8e8e8;}


/*Center Mobile Nav*/
.mobile_nav.opened ul.et_mobile_menu {
    display:flex!important;
    flex-flow: row wrap;
    justify-content:center;
    gap:15px;
}
.mobile_nav ul.et_mobile_menu li {width:100%;}



/*Mobile Menu Styles*/
@media only screen and (max-width: 980px) {
/*adjust the new toggle element which is added via jQuery*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}
/*some code to keep everyting positioned properly*/
ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}
/*remove default background color from menu items that have children*/
.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}
/*hide the submenu by default*/
ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}
/*show the submenu when toggled open*/
ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}
/*adjust the toggle icon position and transparency*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}
/*submenu toggle icon when closed*/
ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: var(--accent-color2);
	padding: 3px;
}
/*submenu toggle icon when open*/
ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}
}


/*===========
|| Nav CSS ||
===========*/

/*Nav CSS*/
/*Adds the cta button to the nav bar*/
.et_pb_menu_0_tb_header.et_pb_menu ul li.adm-nav-cta a{
	background: var(--accent-color2)!important;
	border-radius:60px;
	font-weight:700;
	color:var(--adm-bk-txt2)!important;
	padding: 20px 90px;
	height: min-content!important;
	margin-top:auto;
	margin-bottom:auto;
	transition-duration:300ms;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li.adm-nav-cta a:hover {background:#9AA887!important;opacity:1;}

/*Nav Social*/
.adm-twitter:after,.adm-facebook:after,.adm-instagram:after,.adm-linkedin:after {
	display:block;
	font-family: "ETmodules";
	font-weight: normal;
	font-size:24px;
}
.adm-twitter:after{content:"\e094";} /*Twitter*/
.adm-facebook:after{content:"\e093";} /*Facebook*/
.adm-instagram:after{content:"\e09a";} /*Instagram*/
.adm-linkedin:after{content:"\e09d";} /*LinkedIn*/

.adm-nav .et_pb_menu__menu>nav>ul{align-items:center;}
.adm-nav .et_pb_menu__wrap, .adm-nav .et_pb_menu__menu, .adm-nav nav.et-menu-nav, .adm-nav ul.et-menu.nav{width:100%;}

.adm-icon a {text-align:center;border-bottom:0px!important;}
.et_pb_menu__menu .adm-icon {width:min-content!important;}


.et_pb_menu__menu .et-menu-nav li.menu-item.adm-icon {padding:0px 10px;}
.et_pb_menu__menu .et-menu-nav li.menu-item {padding:20px 20px;}
.et_pb_menu__menu .et-menu-nav li.menu-item.adm-nav-cta {padding:0px;}


.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li {margin-top:0px;}
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li>a {padding-bottom:0px;}
.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li:nth-last-child(3) {flex-grow:1;}

.et_pb_menu--without-logo .et_pb_menu__menu>nav>ul>li:last-of-type {padding-right:0px;margin-right: -2px;}
.et_pb_menu .et-menu {margin-left:0px;margin-right:0px;}


/*End Nav CSS*/


/*==============
|| Custom CSS ||
==============*/
/* You can add your own CSS styles here. Use !important to overwrite styles if needed. */


@media only screen and (min-width: 981px) {
.et-menu-nav li.mega-menu>ul>li {width:20%!important;}

.adm-nav li.mega-menu > ul.sub-menu {
	display:flex;
	margin-left:-15px;
	margin-top:-10px;
}

.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > a{
	color:#fff!important;
	font-weight:700;
	line-height: 1.1em;
	border-bottom: 4px solid var(--accent-color2);
	min-height: 50px;
	padding: 5px!important;
	background:#000;
	display: flex;
	justify-content:center;
	align-items:center;
	text-align:center;
	width: auto!important;
	margin-right:25px;
}

.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > a:hover {
	background:var(--accent-color3)!important;
	opacity:1;
}

.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item > a,
.adm-nav li.menu-item > ul.sub-menu > li.menu-item{
	padding: 10px 5px;
	font-size: 12px!important;
	color:#000!important;
	line-height: 1.8em;
	width: 100%!important;
}
.adm-nav li.menu-item > ul.sub-menu > li.menu-item {padding: 0px 20px;}

.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item:nth-child(even) {
	background:#d8d8d8;
	transition-duration:300ms;
}
.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > ul.sub-menu > li.menu-item:nth-child(even):hover {
	background:#bebebe;
}
}


/*Resolve sizing on smaller screens.*/
@media only screen and (min-width: 981px) {
	.adm-nav li.mega-menu > ul.sub-menu > li.menu-item {width: 18%!important;margin-right: 2%;}
	.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > a {margin-right:0px;}
	.adm-nav li.mega-menu > ul.sub-menu > li.menu-item > ul.sub-menu {width:100%!important;}
}

/*Sizing for tiny laptops.*/
@media only screen and (min-width: 981px) and (max-width: 1250px) {
	.adm-nav-row,.adm-nav-top {
		width: 100%!important;
		max-width: 100%;
		overflow-x:clip;
	}
	.adm-nav-row .et_pb_menu,.adm-nav-row .adm-nav-cta a{border-radius:0px!important;}
	.et_pb_menu__logo-wrap {display: none!important;}
	.et-menu.nav > .menu-item {padding: 0px 10px!important;}
	.et-menu.nav > .menu-item.adm-nav-cta {padding:inherit!important;}



}


/*Styles the Sidebar Menu*/
.adm-sidebar-menu .et_pb_menu__wrap,
.adm-sidebar-menu .et_pb_menu__menu,
.adm-sidebar-menu .et-menu-nav,
.adm-sidebar-menu .et-menu.nav{width:100%!important;}

.adm-sidebar-menu .et-menu.nav {
  flex-flow: column nowrap!important;
}

.adm-sidebar-menu .et-menu.nav > .menu-item {padding:0px!important;margin-left:10px!important;margin-right:-10px!important;margin-top:15px!important;}
.adm-sidebar-menu .et-menu.nav > .menu-item a{
  background:#000;
  width: 100%;
  padding: 20px 20px!important;
  border-left:4px solid var(--accent-color2);
}



/*Styles the archive cards*/
.admarchivecard p:last-of-type {padding-bottom: 30px;}
.admarchivecard a.more-link:after {
  content:"\24";
  font-family:ETmodules;
  position: absolute;
  margin-left:5px;
  font-weight:300;
}

.admarchivecard .et_pb_post{box-shadow: 0px 2px 18px 0px rgba(0, 0, 0, 0.3);transition-duration:300ms;}
.admarchivecard .et_pb_post:hover{box-shadow: 0px 2px 40px 0px rgba(0, 0, 0, 0.3);}

.admarchivecard.et_pb_posts > div {
  display: grid;
	grid-template-columns: 1fr 1fr 1fr;
  grid-gap:30px;
}
.admarchivecard article {display: flex;flex-flow:column nowrap;background:#fff;}
.admarchivecard article > a {margin-bottom: 0px!important;}
.admarchivecard article > a img {height: 240px;object-fit:cover;}
.admarchivecard article .entry-title,
.admarchivecard article .post-content,
.admarchivecard article .post-meta{padding: 10px 15px;}

.admarchivecard article .post-content {height:100%;display: flex;flex-flow:column nowrap;justify-content:space-between;}


.admarchivecard .et_pb_ajax_pagination_container div,
.admarchivecard .wp-pagenavi{
	grid-column-start:1;
	grid-column-end:span 3;
	
}

.admarchivecard .wp-pagenavi * {border:none!important;}

div.admarchivecard div.wp-pagenavi span.current {
	background:var(--accent-color2);
	padding-left:10px;
	padding-right:10px;
	color:#fff!important;
}

/*Tablet Styles*/
@media only screen and (max-width: 980px) {
  .admarchivecard.et_pb_posts > div {
		grid-template-columns: 1fr 1fr;
	}
	
	.admarchivecard .et_pb_ajax_pagination_container div {
		grid-column-start:1;
		grid-column-end:span 2;
	}
}

/*Mobile Styles*/
@media only screen and (max-width: 767px) {
  .admarchivecard.et_pb_posts > div {
		grid-template-columns: 1fr;
	}
	.admarchivecard .et_pb_ajax_pagination_container div {
		grid-column-start:1;
		grid-column-end:1;
	}
}


/*Hide Gallery Caption*/
.mfp-title {display: none;}

/*Resolves Divi Text color bug on Archive pages.*/
.post-type-archive .et_pb_menu_0_tb_header.adm-nav #menu-main-menu.et-menu.nav li.mega-menu.et_pb_menu_page_id-223 > ul.sub-menu > li.menu-item > a {color:#fff!important;}

/*Resolves A tag underline bug from WordPress 6.6*/
:root :where(a:where(:not(.wp-element-button))) {text-decoration:inherit;}


/*Styling for Trex Composite Decking Gallery*/
.page-id-340 figure.wp-block-gallery .wp-block-image img{
	margin:auto;
	vertical-align:middle;
	max-width: 175px!important;
}
.page-id-340 .wp-block-gallery.has-nested-images:not(.is-cropped) figure.wp-block-image:not(#individual-image) {margin:auto!important;}


/*Stop Divi from repeating dividers*/
.section_has_divider .et_pb_bottom_inside_divider,
.section_has_divider .et_pb_top_inside_divider{
	background-repeat: no-repeat!important;
}