/*
 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 */
}
@media (min-width: 769px) and (max-width: 1024px) {
    /* CSS in here for tablet only */
}
@media (min-width: 1025px) {
    /* CSS in here for desktop only */
}


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

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

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

.no-margin-b{
	margin-bottom:0!important;
} 

.no-padding-b{
	padding-bottom:0!important;
}

.entry-content a:not(.gb-button, .gb-container-link, .gb-block-image a){
	border-bottom:1px dashed var(--scampi-200);
	font-weight:600;
}

#page{
	overflow-x:hidden;
}

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

@media (min-width: 1025px) and (max-width: 1172px) {
	#site-navigation .btn.btn--secondary-solid{
		display:none;
	}
	#sticky-navigation .btn.btn--secondary-solid{
		display:none;
	}
}

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

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

    nav .main-nav .mega-menu > ul {
        position: absolute;
        width: 100%;
        left: 0 !important;
        display: flex;
        flex-wrap: wrap;
    }

    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-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 .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;
    }
	
	nav .main-nav .mega-menu > .sub-menu{
		padding:20px;
		max-width:800px;
	}
	
	nav .main-nav .mega-menu > .sub-menu > li{
		border:0;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu{
		border:0;
		box-shadow:none!important;
	}
	
	nav .main-nav .mega-menu .sub-menu .sub-menu li{
		border:0;
	}
	
	nav .main-nav .mega-menu .sub-menu li a{
		display:flex;
	}
	
	nav .main-nav .mega-menu .sub-menu li a:before{
		content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='1em' viewBox='0 0 320 512'%3E%3Cpath fill='%23447ec0' d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E");
		display: block;
		transform: scale(0.6);
		margin:2px 15px 0 0;
	}
	
	nav .main-nav .mega-menu ul li a{
		padding:10px 20px;
	}
}


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


/*=====================================================================
PAGE CONTENT STYLING
======================================================================*/


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


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

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


/*===================
CUSTOM CSS
===================*/
/* General */
:root {
    --gp-slideout-width: 450px !important;
}

/* Header */
header {
   border-bottom: 1px solid var(--mountain-mist-100);
}

#site-navigation.main-navigation ul ul,
#sticky-navigation.main-navigation ul ul{
	box-shadow: 1px 1px 13px 0px rgba(121,107,191,0.3);
}

#site-navigation.main-navigation .sub-menu,
#sticky-navigation.main-navigation .sub-menu{
	border-radius:0.5rem;
}

#site-navigation.main-navigation .sub-menu li,
#sticky-navigation.main-navigation .sub-menu li{
	border:dashed var(--scampi-200);
	border-width:2px 2px 0 2px;
}

#site-navigation.main-navigation .sub-menu li:first-child,
#sticky-navigation.main-navigation .sub-menu li:first-child{
	border-radius:0.5rem 0.5rem 0 0;
}

#site-navigation.main-navigation .sub-menu li:last-child,
#sticky-navigation.main-navigation .sub-menu li:last-child{
	border-width:2px;
	border-radius:0 0 0.5rem 0.5rem;
}

.has-sticky-branding {
    background-color: #ffffff;
}

.has-sticky-branding .sticky-navigation-logo img {
    padding: 0;
    width: 137px;
}

.main-navigation.slideout-navigation .inside-navigation .gb-button{
	color:#fff;
}

.slideout-navigation.main-navigation .main-nav ul{
	padding:0 40px;
}

.slideout-navigation.main-navigation .main-nav ul ul{
	padding:0;
	box-shadow:none;
}

.slideout-navigation.main-navigation .main-nav ul li a{
	border-bottom:3px dashed var(--scampi-200);
}

.slideout-navigation.main-navigation .main-nav ul ul li a{
	border-bottom:0;
}

/* Footer */
.spd-footer-img-star {
    position: absolute;
    right: -40px;
    bottom: -60px;
}

/* Text Has Accents */
.has-text-accent{
  position: relative;
}

.has-text-accent.has-text-accent--yellow mark{
  background: linear-gradient(180deg,rgba(255,255,255,0) 50%, #ffe6a0 50%);
	padding:0 0.25rem;
}

.has-text-accent.has-text-accent--purple mark{
  background: linear-gradient(180deg,rgba(255,255,255,0) 50%, #E3E6FF 50%);
	padding:0 0.25rem;
}

.has-text-accent.has-text-accent--green mark{
	background: linear-gradient(180deg,rgba(255,255,255,0) 50%, #dff0df 50%);
	padding:0 0.25rem;
}

/* Text Has Underline */

.has-text-underline mark{
	position:relative;
	z-index:1;
}

.has-text-underline.has-text-underline--yellow mark:after{
    content: "";
    position: absolute;
    bottom: -0.125rem;
    left: -0.5rem;
    right: -0.5rem;
    height: 0.75rem;
    z-index: -1;
    background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/664131/underline.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

/* RESPONSIVE TWEAKS ACCENTS */


/* Responsive */
@media screen and (max-width: 1024px) {
    /* Header */
    body .main-navigation.offside {
        width: 450px;
    }

    header .main-navigation .menu-toggle {
        padding: 0;
        background-color: unset;
    }

    .has-sticky-branding .navigation-branding {
        margin-left: 20px;
    }
}

@media screen and (max-width: 767px) {
    /* Header */
    body .main-navigation.offside {
        width: 100%;
    }

    .has-sticky-branding .sticky-navigation-logo img {
        width: 100px;
    }
}

@media (max-width: 768px) {
	.site-logo{
		max-width:120px;
	}
}

@media screen and (max-width: 1024px) {
    header .main-navigation .menu-toggle {
        background-color: var(--scampi-100);
        padding: 0;
        line-height: 0;
        padding: 5px 15px 10px 15px;
		border-radius:5px;
    }
	.main-navigation.has-sticky-branding.navigation-stick .menu-toggle{
		padding-right:0;
		margin-right:20px;
	}
}

/* =========================================================================
 *  SERVICES 
========================================================================= */
.services h2,
.services h3{
	margin-top:3rem;
	padding-bottom:0.5rem;
}

.services.alt-page h1{
	padding-bottom:2rem;
}

.services.alt-page h2,
.services.alt-page h3{
	margin-top:3rem;
	padding-bottom:0.5rem;
}

.services h3:not(.rank-math-question){
	margin-top:3rem;
	padding-bottom:1rem;
	position: relative;
	padding-left:2rem;
}

.services h3:not(.rank-math-question)::before{
    width: 1.125rem;
    height: 2.25rem;
	position:absolute;
	left:0;
	top:0.125rem;
	content: '';
	-webkit-mask: url("/wp-content/uploads/2025/02/grip-dots-vertical-duotone-solid.svg") no-repeat 50% 50%;
	mask: url("/wp-content/uploads/2025/02/grip-dots-vertical-duotone-solid.svg") no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
	background-color:var(--fern-500);
}

@media (max-width: 768px) {
	.services h2,
	.services h3{
		margin-top:3rem;
		padding-bottom:1rem;
	}
	
	.single-post .services h2,
	.single-post .services h3{
		padding-bottom:0;
	}

	.services h3{
		margin-top:2.5rem;
		padding-bottom:0.5rem;
		font-weight:600;
	}
}

/* =========================================================================
 *  UL LIST STYLES 
========================================================================= */

.services .entry-content ul li:nth-child(3n + 1)::before,
.standard-page .entry-content ul li:nth-child(3n + 1)::before,
.single-post article ul li:nth-child(3n + 1)::before{
	background-color:var(--scampi-500);
}

.services .entry-content ul li:nth-child(3n + 2)::before,
.standard-page .entry-content ul li:nth-child(3n + 2)::before,
.single-post article ul li:nth-child(3n + 2)::before{
	background-color:var(--fern-400);
}

.services .entry-content ul li:nth-child(3n + 3)::before,
.standard-page .entry-content ul li:nth-child(3n + 3)::before,
.single-post article ul li:nth-child(3n + 3)::before{
	background-color:var(--yellow-500);
}

.services .entry-content ul,
.standard-page .entry-content ul,
.single-post article ul{
	clear: both;
	list-style: none;
	padding:0;
	margin:0 0 3rem 0;
	background-color:var(--scampi-50);
	padding:2rem;
	border-radius: 0.75rem;
	border:4px dashed var(--scampi-200);
}

@media (max-width: 768px) {
	.services .entry-content ul,
	.standard-page .entry-content ul,
	.single-post article ul{
		padding:2rem 1rem;
	}
}

.services .entry-content ul li,
.standard-page .entry-content ul li,
.single-post article ul li{
	display: block;
	position: relative;
	padding:0 0 1.5rem 2.5rem;
	margin:1.5rem 0 0 0;
	color:var(--heading);
	font-weight:500;
	border-bottom:2px dashed var(--scampi-200);
}

.services .entry-content ul li:first-child,
.standard-page .entry-content ul li:first-child,
.single-post article ul li:first-child{
	margin:0;
}

.services .entry-content ul li:last-child,
.standard-page .entry-content ul li:last-child,
.single-post article ul li:last-child{
	padding-bottom:0;
	border:none;
}

.services .entry-content ul li::before,
.standard-page .entry-content ul li::before,
.single-post article ul li::before{
	width: 1.5rem;
	height: 1.5rem;
	position:absolute;
	left:0;
	top:0.25rem;
	content: '';
	-webkit-mask: url("/wp-content/uploads/2025/02/circle-right-duotone-solid.svg") no-repeat 50% 50%;
	mask: url("/wp-content/uploads/2025/02/circle-right-duotone-solid.svg") no-repeat 50% 50%;
	-webkit-mask-size: cover;
	mask-size: cover;
}

.standard-page .entry-content ul{
	background-color:#fff;
}

/* =========================================================================
 *  OL LIST STYLES 
========================================================================= */

.services ol li:nth-child(3n + 1),
.single-post article ol li:nth-child(3n + 1){
	background:var(--scampi-100);
}
.services ol li:nth-child(3n + 1)::before,
.single-post article ol li:nth-child(3n + 1)::before{
	background-color:var(--scampi-500);
}

.services ol li:nth-child(3n + 2),
.single-post article ol li:nth-child(3n + 2){
	background:var(--fern-100);
}

.services ol li:nth-child(3n + 2)::before,
.single-post article ol li:nth-child(3n + 2)::before{
	background-color:var(--fern-500);
}

.services ol li:nth-child(3n + 3),
.single-post article ol li:nth-child(3n + 3){
	background:var(--yellow-100);
}

.services ol li:nth-child(3n + 3)::before,
.single-post article ol li:nth-child(3n + 3)::before{
	background-color:var(--yellow-500);
}

.services ol li,
.single-post article ol li{
	padding:1.5rem;
	border-radius:0.75rem;
}

.services .entry-content ol,
.single-post article ol{
	clear: both;
	list-style: none;
	padding:0;
	margin:0 0 3rem 0;
}

.services ol li,
.single-post article ol li{
	display: block;
	position: relative;
	counter-increment: inst;
	padding-left:4rem;
	margin-bottom:0.75rem;
}

.services ol li::before,
.single-post article ol li::before{
	content: counter(inst);
	color: #fff;
	font-weight: 700;
	border-radius: 200px;
	font-size: 1.5em;
	text-align: center;
	padding-top: 0;
	height: 35px;
	width: 35px;
	line-height: 35px;
	position: absolute;
	/* vertical center */
	top: 0;
    bottom: 0;
    margin: auto 0;
    left: 1rem;
}

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

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

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

.wp-block-table thead th{
	background:var(--scampi-500);
	color:#fff;
	border:1px solid var(--scampi-700);
}

.wp-block-table td, .wp-block-table th{
	border:1px solid #ccc;
	padding:20px;
}

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

.wp-block-table tbody td strong{
	color:var(--mountain-mist-900);
}

.wp-block-table tbody tr td:first-child{
	background-color: var(--scampi-50);
}

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

/*===================
GRAVITY FORMS
===================*/

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

.rank-math-list-item h3{
	font-size:1.25rem;
}

.rank-math-list .rank-math-list-item:first-child h3{
	margin-top:0!important;
	padding-top:0!important;
}

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

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

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

.rank-math-breadcrumb {
    font-size: 1rem;
    background: #fff;
    padding: 10px 20px;
    border-radius: 500px;
	font-weight:600;
	border:2px dotted;
	border-color:var(--scampi-300);
	margin-bottom:1rem;
}

.rank-math-breadcrumb p{
	margin-bottom:0;
}

/*===================
RANK MATH TOC
===================*/
#rank-math-toc ul{
	background-color:var(--white);
	list-style-type:square;
	padding:0 0 0 1.5rem;
	border:0;
	margin-bottom:0;
}

#rank-math-toc ul ul{
	border:none;
	padding:0 0 0 2rem;
	margin:0;
}

#rank-math-toc li:before{
	content:none;
}

#rank-math-toc li{
	display:list-item;
	border:0;
	padding:0;
	margin:0 0 1rem 0;
}

#rank-math-toc ul ul li:first-child{
	margin-top:1rem;
}

#rank-math-toc ul li:last-child{
	margin-bottom:0;
}

#rank-math-toc ul ul li{
	list-style-type:circle;
}

@media (max-width: 768px) {
    #rank-math-toc ul ul{
		padding-left:0;
	}
}

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

.rank-math-list .rank-math-list-item{
	border:4px dashed var(--scampi-200);
	padding:3rem;
	background-color:var(--scampi-50);
	border-radius:1rem;
	margin-bottom:1.5rem;
}

.rank-math-list .rank-math-list-item h3.rank-math-question{
	margin-top:0;
	padding-bottom:0rem;
	display:flex;
	align-items:center;
	column-gap:0.75rem;
}

@media (max-width: 768px) {
	.rank-math-list .rank-math-list-item{
		padding:2rem;
	}
	.rank-math-list .rank-math-list-item h3.rank-math-question{
		display:flex;
		flex-direction:column;
		row-gap:1rem;
		align-items:flex-start;
		line-height:1.3em;
	}
}

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

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

/* BLOG DATE SHOW & HIDE */
.blog-modified-date:not(:has(.update-date)) {
    display: none;
}