/*
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 */
	.mobile-center {
		justify-content: center !important;
	}
}
@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 !important;
}

p:last-child {
	margin-bottom: 0 !important;
}

.menu-with-icon {
	left: 0;
	transition: left 0.3s;
	position: relative;
}

.menu-with-icon::after {
	content: '\2192';
	margin-left: 12px;
}

.menu-with-icon:hover {
	left: 8px !important;
}

.menu-with-icon:hover,
.menu-with-icon::after:hover {
	color: inherit !important;
}

a:hover {
	text-decoration: none !important;
}

.icon-checklist::before {
	content: '\2714';
	margin-right: 12px;
}

.heading-underline {
	padding-bottom: 15px;
}

.heading-underline::after {
	content: '';
	height: 5px;
	width: 200px;
	background-color: var(--dark-red);
	margin: auto;
}

.no-margin-t{
	margin-top:0!important;
}

.no-padding-t{
	padding-top:0!important;
}

html,
body {
	overflow-x: hidden !important;
}


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

.mobile-menu-control-wrapper .menu-toggle, .mobile-menu-control-wrapper .menu-toggle:hover, 
.mobile-menu-control-wrapper .menu-toggle:focus, 
.has-inline-mobile-toggle #site-navigation.toggled {
	background-color: #fff !important;
}

.main-navigation .main-nav .mega-menu ul li a, 
.menu-toggle, 
.main-navigation .menu-bar-item > a {
	padding-left: 8px !important;
	padding-right: 8px !important;
}

.main-navigation ul ul {
	box-shadow: none !important;
	background-color: var(--blue-gray) !important;
}

.hero-nav p{
	margin-bottom:0;
}

.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li:focus > a {
	background-color: transparent !important;
}

.main-navigation .main-nav ul ul li a {
	font-size: 16px !important;
}

@media (max-width: 767px) {
	.site-header .header-image {
		width: 100px !important;
	}
}

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


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

.bo-post-content figure {
	margin-bottom: 30px !important;
}

/*.bo-post-content h2 {
	text-transform: inherit !important;
}*/

.bo-service-featured-img {
	aspect-ratio: 4/3 !important;
	object-fit: cover;
	object-position: center center;
}

.bo-post-content h2{
	margin-top:3rem;
	padding-bottom:2rem;
}

.bo-post-content h3{
    margin-top: 2.5rem;
    padding-bottom: 1.5rem;
    text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 0;
	color:var(--dark-red);
}

.bo-post-content h4{
	margin-top: 1.5rem;
    padding-bottom: 1rem;
    text-transform: uppercase;
    font-size: 1rem;
    letter-spacing: 0;
}

@media (max-width: 768px) {
	.bo-post-content h2{
		margin-top:2rem;
		padding-bottom:1.5rem;
	}
	.bo-post-content h3,
	.bo-post-content h4{
		margin-bottom:0;
	}
}

.bo-post-content ul,
.bo-post-content ol{
	background-color:var(--blue-gray);
	padding:2rem 2rem 2rem 4rem;
	margin:0 0 2rem 0;
}

@media (max-width: 768px) {
	.bo-post-content ul,
	.bo-post-content ol{
		padding:2rem 2rem 2rem 2.5rem;
		margin:0 0 2rem 0;
	}
}

.bo-post-content ul ul{
	padding:1rem 1rem 0 1rem;
	margin-bottom:0;
	list-style-type:circle;
}

.bo-post-content ul li,
.bo-post-content ol li{
	margin-bottom:0.5rem;
}

.entry-content h2{
	text-transform:uppercase;
}

.single-procedures .entry-content h3{
	text-transform: uppercase;
    font-size: 1.25rem;
    letter-spacing: 0;
}

.entry-content h2::after,
.bo-post-content h2::after{
	content:"";
	display:block;
	height:4px;
	width:120px;
	background-color:var(--dark-red);
	margin-top:20px;
}

.entry-content h2.has-text-align-center::after{
	margin:20px auto 0 auto;
}

.page-hero h2::after{
	display:none;
}

.page-hero h2{
	margin-bottom:0;
}

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

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

.site-footer p {
	margin-bottom: 10px !important;
}

.footer-menu {
	gap: 10px !important;
}

.footer-menu a {
	font-family: Overpass !important;
}

/* SOCIAL ICONS */
.mod-social-icons.wp-block-social-links {
	margin-bottom: 0 !important;
}

.mod-social-icons .wp-block-social-link {
	opacity: 1;
}

.mod-social-icons .wp-block-social-link:hover,
a.mod-social-icons:hover svg {
	transition: opacity 0.3s !important;
	opacity: 0.8;
	transform: unset !important;
}

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

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


/*===================
YOAST SEO
===================*/

.yoast-breadcrumbs {
	color: #000;
}

.yoast-breadcrumbs a {
	opacity: 0.5;
}

.yoast-breadcrumbs a:hover,
.yoast-breadcrumbs a:focus {
	color: #000;
	opacity: 0.8;
}

.schema-faq-section {
	border: 1px solid #ccc;
	padding: 30px;
	background: rgba(240, 242, 249, 0.4);
	margin-bottom: 1.4em;
	border-radius: 10px;
}

.schema-faq-section .schema-faq-question {
	font-size: 1.2em;
	margin-bottom: 1em;
	display: block;
	font-weight: 600;
}

.schema-faq-section p.schema-faq-answer:last-child {
	margin-bottom: 0;
}

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

.rank-math-list-item h3{
	font-size:1.25rem;
	margin-top:0;
	padding-bottom:0;
}

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

.rank-math-block .rank-math-list {
	display: flex !important;
	flex-direction: column;
	gap: 30px;
}

.rank-math-list-item{
	padding:3rem;
	background-color:rgba(30, 128, 214, 0.25);
	border-radius:15px;
}

@media (max-width: 768px) {
	.rank-math-list-item{
		padding:2rem;
	}
}

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

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

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

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

.gform_confirmation_message {
	font-weight: 700 !important;
}

.gform_required_legend {
	display: none !important;
}

.gform_fields {
	grid-row-gap: 16px !important;
}

/*===================
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: 600px;
		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;
	}
}

/*=====================================================================
BLOG ROLL
======================================================================*/
.mod-pagination .page-numbers,
.mod-pagination-nav {
	transition: all 0.3s;
    text-decoration: none !important;
    display: flex;
    justify-content: center;
    padding: 15px;
    border: solid 1px var(--black);
    width: 40px;
	color: var(--black) !important;
}

.mod-pagination .page-numbers.current,
.mod-pagination .page-numbers:hover {
	border: solid 1px var(--blue);
	color: var(--blue) !important;
}

.mod-post-title {
	font-family: Poppins, sans-serif;
    font-weight: 700;
    font-size: 20px !important;
    letter-spacing: -0.01em;
    line-height: 1.2em !important;
	text-decoration: none !important;
	color: #FFFFFF;
	transition: color 0.3s;
}

.mod-post-title:hover {
	color: var(--blue-gray) !important;
}
