/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/


/* MEDIA QUERIES */

@media (max-width: 768px) {
    /* CSS in here for mobile only */
	.site-header .header-image{
		width:140px;
	}
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
}
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
	.main-navigation .inside-navigation{
		display:block;
	}
}

.header-buttons a.btn{
	font-size:1rem;
	font-weight:600;
	align-items:center;
	column-gap: 0.5em;
    display: inline-flex;
}

.header-buttons a.profile-btn{
	font-size:1.875rem;
	padding-left:1rem;
	padding-right:1rem;
}

/*=====================================================================
GENERAL
======================================================================*/

.bg-blended{
	background-blend-mode: multiply;
}

.no-underline, .no-underline a{
	text-decoration:none;
}


/*=====================================================================
HEADER / NAV STYLES / NAVIGATION
======================================================================*/

/* STICKY NAV */
/*.sticky-enabled .main-navigation.is_stuck .inside-navigation {
    padding: 5px 40px;
}

.sticky-enabled .main-navigation.is_stuck .inside-navigation .navigation-branding img {
    height: auto;
    max-height: 80px;
}

.main-navigation.is_stuck,
.main-navigation.is_stuck ul ul {
    background-color: var(--brand-blue-dark);
}

.main-navigation.navigation-stick .main-nav ul li a,
.main-navigation.navigation-stick a:not([aria-label*='Close']) {
    color: #fff !important;
}*/

/*===================
GP MEGA MENU
===================*/

/*nav .main-nav .mega-menu .column > a {
	display: none;
}

.main-navigation.slideout-navigation.offside {
	width: 80% !important;
	padding: 0 20px !important;
}

@media (min-width: 1161px) {
	nav .main-nav .mega-menu {
		position: static;
	}

	nav .main-nav .mega-menu > ul {
		position: absolute;
		width: 700px;
		display: flex;
		flex-wrap: wrap;
		padding: 20px;
	}

	nav .main-nav .mega-menu > ul > li {
		display: inline-block;
		width: 25%;
		vertical-align: top;
	}

	nav .main-nav .mega-menu.mega-menu-col-2 > ul > li {
		width: 50%;
	}

	nav .main-nav .mega-menu.mega-menu-col-2 > ul > li:first-child {
		padding-right: 20px;
	}

	nav .main-nav .mega-menu.mega-menu-col-2 > ul .column-2 {
		padding-left: 20px;
		border-left: solid 1px #fff;
	}

	nav .main-nav .mega-menu.mega-menu-col-3 > ul > li {
		width: 33.3333%;
	}

	nav .main-nav .mega-menu.mega-menu-col-5 > ul > li {
		width: 20%;
	}

	nav .main-nav .mega-menu > ul > li:hover > a,
	nav .main-nav .mega-menu > ul > li:focus > a,
	nav .main-nav .mega-menu > ul > li[class*="current-"] > a,
	nav .main-nav .mega-menu ul ul {
		background-color: transparent !important;
		color: inherit;
	}

	nav .main-nav .mega-menu ul .sub-menu {
		position: static;
		display: block;
		opacity: 1;
		visibility: visible;
		width: 100%;
		box-shadow: 0 0 0;
		left: 0;
		height: auto;
		pointer-events: auto;
		transform: scale(1);
	}

	nav .main-nav .mega-menu ul.toggled-on .sub-menu {
		pointer-events: auto;
	}

	nav .main-nav .mega-menu .sub-menu .menu-item-has-children .dropdown-menu-toggle {
		display: none;
	}
}*/


/*=====================================================================
BUTTONS
======================================================================*/


/*=====================================================================
PAGE CONTENT STYLING
======================================================================*/
.services .entry-content .pre-cta h3{
	margin-top:0;
}

.services .entry-content h2,
.single-post .dynamic-entry-content h2{
	margin-top:3.5rem;
	padding-top:3.5rem;
	margin-bottom:2.5rem;
	border-top:1px solid var(--babyblue-300);
	/*display:flex;
	flex-direction:column;
	row-gap:1rem;*/
}

.services .entry-content h2:first-child,
.single-post .dynamic-entry-content h2:first-child{
	margin-top:0;
	padding-top:0;
	border-top:none;
}

.services .entry-content h3,
.single-post .dynamic-entry-content h3{
	margin-top:3.5rem;
	margin-bottom:2.5rem;
	font-weight:700;
}

@media (max-width: 768px) {
	.services .entry-content h3,
	.single-post .dynamic-entry-content h3{
		margin-top:2rem;
		margin-bottom:1.5rem;
		font-size:1.5rem;
	}
	.services .entry-content h2,
	.single-post .dynamic-entry-content h2{
		margin-top:2rem;
		padding-top:2rem;
		margin-bottom:1.5rem;
	}
}

.services .entry-content ol,
.services .entry-content ul{
	list-style-type: none;
    margin: 0;
    padding: 0;
	border-radius:1.5rem;
	margin-bottom:3rem;
}

.services .entry-content ol{
	background-color:var(--babyblue-100);
	border:2px solid var(--babyblue-300);
	counter-reset: counter-list;

}

.services .entry-content ul{
	background-color:var(--yellow-100);
	border:2px solid var(--yellow-500);

}

.services .entry-content ol li,
.services .entry-content ul li{
	position:relative;
	padding:1.5rem 2rem 1.5rem 5.5rem;
}

.services .entry-content ol li{
	border-bottom:2px solid var(--babyblue-300);
}

.services .entry-content ul li{
	border-bottom:2px solid var(--yellow-500);
}

.services .entry-content ol li:last-child,
.services .entry-content ul li:last-child{
	border-bottom:0;
	padding-bottom:1.5rem;
}

.services .entry-content ol li b,
.services .entry-content ol li strong,
.services .entry-content ul li b,
.services .entry-content ul li strong{
	color:var(--navy-800);
}

.services .entry-content ol li::before{
    counter-increment: counter-list;
    content: counter(counter-list);
    position: absolute;
    z-index: 9;
    color: #fff;
    top: 1.5rem;
	left:2rem;
    font-weight: 700;
    font-size: 18px;
    height: 40px;
    width: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.services .entry-content ul li::before,
.single-post .dynamic-entry-content ul li::before{
	width: 2rem;
	height: 2rem;
	position:absolute;
	top:1.6rem;
	left:2rem;
	content: '';
	-webkit-mask: url(/wp-content/uploads/2025/09/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/09/circle-right-duotone-solid.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	vertical-align:middle;
	background-color:var(--orange-600);
}

.services .entry-content ol li::after {
    content: '';
    position: absolute;
	top:1.5rem;
    left: 2rem;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #000;
    box-shadow: inset 0px -4px 0px 0px rgb(0 0 0 / 10%);
	background-color: var(--orange-600);
}

/*=====================================================================
BLOG STYLING & BLOG CONTENT STYLING
======================================================================*/

/* RANK MATH TOC */

.single-post article #rank-math-toc ul {
	background-color: var(--lighter-green);
}

.single-post article #rank-math-toc ul ul {
	padding-top:1rem;
	padding-bottom:0;
	padding-left:0;
}
	
.single-post article #rank-math-toc ul ul li{
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%239da4a6' d='M248 72V48H200V72 232H40 16v48H40 200V440v24h48V440 280H408h24V232H408 248V72z'/%3E%3C/svg%3E") no-repeat left 6px;
	background-size: 16px auto;
}


/** CONTENT AREA **/


@media (min-width: 1025px) {
    .contained-content.separate-containers .inside-article{
		padding:4rem 0rem 4rem 4rem!important;
	}
}

/** LEFT SIDEBAR SERVICES **/

body.services .is-left-sidebar{
	border-right:1px solid var(--babyblue-300);;
}

.inside-left-sidebar{
	height:100%;
	/*padding-right:3.75rem;*/
	/*padding-left:2rem;*/
	padding-right:4rem;
}

@media (max-width: 768px) {
	.inside-left-sidebar{
		padding-right:1rem;
		padding-left:1rem;
	}
}

.separate-containers .inside-left-sidebar, .separate-containers .inside-left-sidebar{
	margin:0;
	padding-top:40px;
	padding-bottom:40px;
}

.separate-containers.left-sidebar .site-main{
	margin-top:0;
	margin-bottom:0;
}

.inside-left-sidebar .sticky{
	top:150px;
}

@media (min-width: 769px) and (max-width: 1000px) {
    .site-content {
        flex-direction: column;
    }
	
	.site-content .content-area, .is-left-sidebar {
        width: 100%;
    }
	
	body.left-sidebar.contained-content.separate-containers .inside-article {
        padding: 2rem 4rem;
    }
	
	.site-content .content-area, .is-left-sidebar {
        width: 100%;
    }
	
	.separate-containers.left-sidebar .site-main{
		margin:0;
	}
}

@media (max-width: 768px) {
    body.left-sidebar.contained-content.separate-containers .inside-article{
        padding: 30px;
    }
}

/* SIDEBAR MENU */
.sidebar-menu ul li{
	display:block!important;
	width:100%;
	padding-bottom:0.5rem;
	margin-bottom:0.5rem;
	padding-right:0!important;
}

.sidebar-menu ul li:last-child{
	border:none;
	padding-bottom:0;
	margin-bottom:0;
}

.sidebar-menu ul li a{
	font-size:1rem;
	text-decoration:none;
	font-weight:700;
	position:relative;
	display:flex;
	align-content: stretch;
}

.sidebar-menu ul li a::before{
	width: 1rem;
	height: 1rem;
	position:absolute;
	right:.25rem;
	content: '';
	-webkit-mask: url(/wp-content/uploads/2025/09/chevron-right-solid-full.svg) no-repeat 50% 50%;
	mask: url(/wp-content/uploads/2025/09/chevron-right-solid-full.svg) no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	background-color:var(--navy-800);
	align-self:center;
	z-index:2;
}

.sidebar-menu ul li a::after{
	width: 1.5rem;
	height: 1.5rem;
	position:absolute;
	right:0;
	content: '';
	background-color:var(--white);
	border-radius:500px;
	align-self:center;
	z-index:1;
}

.services .sidebar-menu ul li a:hover,
.services .sidebar-menu ul li a:focus{
	color:var(--accent);
}

/* =========================================================================
 *  TABLES 
========================================================================= */

.wp-block-table{
	margin-top:3rem;
}

.wp-block-table table{
	min-width:600px;
}

.wp-block-table thead th{
	background:var(--orange-600);
	color:var(--white)!important;
	border:1px solid var(--orange-400);
}

.wp-block-table td, .wp-block-table th{
	border:1px solid rgba(33,50,94,0.22);
	padding:10px 20px;
}

.wp-block-table thead{
	border-bottom:3px solid var(--orange-400);
}

.wp-block-table thead strong{
	color:var(--white)!important;
}

.wp-block-table tbody tr td:first-child{
	background-color: var(--yellow-100);
	font-weight:600;
	color:var(--navy-800);
}

/*=====================================================================
FOOTER
======================================================================*/

/* FIXED CTA ON MOBILE */
.footer-cta {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 9;
}

.vertical-menu ul li{
	display:block;
	width:100%;
}


.footer-menu ul li a{
	display:flex;
	color:var(--paragraph);
	font-weight:600;
	text-decoration:none;
	align-items:center;
	column-gap:1rem;
}

.footer-menu ul li a::before{
    width: 1.25rem;
    height: 1.25rem;
    display: block;
    content: '';
    -webkit-mask: url("/wp-content/uploads/2025/09/star-solid.svg") no-repeat 50% 50%;
    mask: url("/wp-content/uploads/2025/09/star-solid.svg") no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: var(--orange-600);
}

.footer-menu ul li{
	margin-bottom:1rem;
}

/*=====================================================================
PLUGINS
======================================================================*/

/*===================
GRAVITY FORMS
===================*/
.gform-theme--foundation .gform-field-label:where(:not([class*=gform-field-label--type-]):not(.gfield_header_item):not(.ginput_quantity_label)){
	color:var(--navy-800)!important;
	font-weight:600!important;
}



/*===================
RANK MATH FAQ
===================*/

.rank-math-list-item{
	/*background:rgba(225, 232, 250, 0.45);*/
	background-color:var(--white);
	border-radius:1.5rem;
	margin-bottom:1rem;
	border:2px solid var(--babyblue-100);
	overflow:hidden;
}

.rank-math-list-item h3{
	letter-spacing: 0.02rem;
	font-size:1.25rem;
	color:var(--grey-800)!important;
	padding:2rem;
	margin:0!important;
	background-color:var(--babyblue-100);
}

.rank-math-list .rank-math-list-item h3.rank-math-question{
	display: flex;
    align-items: center;
    column-gap: .75rem;
}

.rank-math-list-item .rank-math-question:before {
    width: 2rem;
    height: 2rem;
    display: block;
    content: '';
    -webkit-mask: url(/wp-content/uploads/2025/09/cloud-question-solid-full.svg) no-repeat 50% 50%;
    mask: url(/wp-content/uploads/2025/09/cloud-question-solid-full.svg) no-repeat 50% 50%;
    -webkit-mask-size: cover;
    mask-size: cover;
    background-color: var(--yellow-500);
	flex-shrink:0;
}

.rank-math-list-item .rank-math-answer{
	padding:2rem;
}

@media (max-width: 768px) {
	.rank-math-list-item h3{
		font-size:1.25rem!important;
	}
	.rank-math-list-item .rank-math-question:before {
		width: 1.25rem;
		height: 1.25rem;
		flex-shrink:0;
	}
}

.rank-math-list-item p:last-child{
	margin-bottom:0;
	padding-bottom:0;
}

/*===================
RANK MATH BREADCRUMBS
===================*/

.rank-math-breadcrumb{
	font-size:0.85rem;
}

.rank-math-breadcrumb .last{
	color:rgba(255,255,255,0.7);
}