/*
 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
*/

.site-header .header-image {
	display: block;
}

.safe-svg-cover .safe-svg-inside {
	display: flex !important;
	align-items: center;
}
/* Stretch Link Workaround for Removal of Links on Containers */
/* Make sure you only have ONE link inside your card 😅 or this will not work!  */ 

.stretch-link{ position: relative; }

.stretch-link a::after{
	content: '';
	position: absolute;
	inset: 0;
}

.stretch-link a:is(:focus-visible)::after{ outline: 2px solid; }

.stretch-link a:is(:hover, :focus){
	outline: none;
}

/*----------------------------------------------------|
 * Glide JS - Sliders & Carousels
 *---------------------------------------------------*/

/* Glide Core Min CSS */
.glide{position:relative;width:100%;box-sizing:border-box}.glide *{box-sizing:inherit}.glide__track{overflow:hidden}.glide__slides{position:relative;width:100%;list-style:none;backface-visibility:hidden;transform-style:preserve-3d;touch-action:pan-Y;overflow:hidden;margin:0;padding:0;white-space:nowrap;display:flex;flex-wrap:nowrap;will-change:transform}.glide__slides--dragging{user-select:none}.glide__slide{width:100%;height:100%;flex-shrink:0;white-space:normal;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.glide__slide a{user-select:none;-webkit-user-drag:none;-moz-user-select:none;-ms-user-select:none}.glide__arrows{-webkit-touch-callout:none;user-select:none}.glide__bullets{-webkit-touch-callout:none;user-select:none}.glide--rtl{direction:rtl}/*# sourceMappingURL=glide.core.min.css.map */

/* Glide Theme Min CSS */
.glide__arrow{position:absolute;display:block;top:50%;z-index:2;color:#fff;text-transform:uppercase;padding:9px 12px;background-color:transparent;border:2px solid rgba(255,255,255,.5);border-radius:4px;box-shadow:0 .25em .5em 0 rgba(0,0,0,.1);text-shadow:0 .25em .5em rgba(0,0,0,.1);opacity:1;cursor:pointer;transition:opacity 150ms ease,border 300ms ease-in-out;transform:translateY(-50%);line-height:1}.glide__arrow:focus{outline:none}.glide__arrow:hover{border-color:#fff}.glide__arrow--left{left:2em}.glide__arrow--right{right:2em}.glide__arrow--disabled{opacity:.33}.glide__bullets{position:absolute;z-index:2;bottom:2em;left:50%;display:inline-flex;list-style:none;transform:translateX(-50%)}.glide__bullet{background-color:rgba(255,255,255,.5);width:9px;height:9px;padding:0;border-radius:50%;border:2px solid transparent;transition:all 300ms ease-in-out;cursor:pointer;line-height:0;box-shadow:0 .25em .5em 0 rgba(0,0,0,.1);margin:0 .25em}.glide__bullet:focus{outline:none}.glide__bullet:hover,.glide__bullet:focus{border:2px solid #fff;background-color:rgba(255,255,255,.5)}.glide__bullet--active{background-color:#fff}.glide--swipeable{cursor:grab;cursor:-moz-grab;cursor:-webkit-grab}.glide--dragging{cursor:grabbing;cursor:-moz-grabbing;cursor:-webkit-grabbing}/*# sourceMappingURL=glide.theme.min.css.map */

/* Glide Additions and Overwrites */
.glide__slide {
	display: flex;
	justify-content: center;
	align-items: center;
}

.glide__arrow {
	top: 95% !important;
	background-color: #47B852 !important;
	font-size: 40px;
}

.glide__arrows {
	display: flex;
	justify-content: center;
}

.glide__arrow--left,
.glide__arrow--right {
	position: relative !important;
}

.glide__slide img {
	height: 50px;
	width: auto;
}

/* Home Banner Slider */
.home-slide {
	height: 700px;
	position: relative;
	background-position: 99% center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	z-index: 1;
}

.home-slide::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	inset: 0;
	background-color: rgba(0,0,0, .6);
	z-index: 2;
}

.banner-container {
	position: relative;
	padding: 50px;
	width: 60%;
	z-index: 3;
	color: #fff;
	margin-top: 100px;
	z-index: 3;
}

.banner-btn {
	display: block;
    padding: 10px 20px;
    background-color: #47B852;
    color: #ffffff;
    text-decoration: none;
	margin-right: 25px;
}

.banner-btn:hover {
	background: var(--accent-blue);
	color: #fff;
	transition: all .5s ease-in;
}

@media only screen and (max-width: 768px) {
	.banner-container {
		width: 80%;
	}
}

@media (max-width: 600px) {
	.banner-container {
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
}

/*----------------------------------------------------|
 * Mold Recovery Plus — base theme layer
 * Component styles live in GenerateBlocks > Global Styles (.mrp-*);
 * this file only covers theme-level elements (typography, header,
 * navigation, forms, accordions, carousel track, plugin output).
 *---------------------------------------------------*/
:root {
	--mrp-font: "Plus Jakarta Sans", "Segoe UI", Helvetica, Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
	font-family: var(--mrp-font);
}

body {
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--mrp-font);
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--contrast);
}

/* GB text blocks manage their own spacing */
.gb-text:where(p, h1, h2, h3, h4, h5, h6) {
	margin-bottom: 0;
}

:focus-visible {
	outline: 3px solid var(--accent-2);
	outline-offset: 2px;
}

/* Full-width pages: let sections run edge to edge */
.page .site-content,
.page .inside-article,
.page .entry-content {
	padding: 0;
}

.page .entry-content > * {
	margin-top: 0;
}

/* Header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--base);
}

.admin-bar .site-header {
	top: 32px;
}

picture.mrp-picture {
	display: contents;
}

picture.mrp-picture > source {
	display: none;
}

.site-header .header-image {
	height: 88px;
	width: auto;
}

.main-navigation .main-nav ul li a {
	font-size: .9rem;
	font-weight: 500;
}

.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a {
	font-weight: 700;
}

.main-navigation .main-nav ul ul {
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(17, 28, 51, .12);
	overflow: hidden;
}

.main-navigation .main-nav ul ul li a {
	font-size: .86rem;
	padding-top: 12px;
	padding-bottom: 12px;
}

.main-navigation .menu-bar-items {
	align-items: center;
}

/* Header "Contact Us" button (GP Element on generate_menu_bar_items) */
.main-navigation .menu-bar-items .mrp-header-cta {
	display: inline-flex;
}

@media (max-width: 980px) {
	.site-header .header-image {
		height: 68px;
	}

	.main-navigation .menu-bar-items .mrp-header-cta {
		display: none;
	}

	.main-navigation .main-nav ul li a {
		border-bottom: 1px solid var(--base);
	}
}

@media (max-width: 782px) {
	.admin-bar .site-header {
		top: 0;
		position: relative;
	}
}

/* Copyright bar */
.site-info {
	font-size: .74rem;
	border-top: 0;
}

.site-info a {
	color: inherit;
}

/* Reviews carousel track (arrows are wired up in js/site.js) */
.mrp-track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: calc((100% - 3 * 14px) / 4);
	gap: 14px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 4px 2px 8px;
}

.mrp-track::-webkit-scrollbar {
	display: none;
}

.mrp-track > * {
	scroll-snap-align: start;
}

.mrp-arrow[hidden] {
	display: none;
}

@media (max-width: 980px) {
	.mrp-track {
		grid-auto-columns: calc((100% - 14px) / 2);
	}
}

@media (max-width: 640px) {
	.mrp-track {
		grid-auto-columns: 86%;
	}
}

/* Video embeds */
.mrp-video .wp-block-embed {
	margin: 0;
}

.mrp-video .wp-block-embed__wrapper {
	border-radius: 8px;
	overflow: hidden;
	background: var(--forest);
}

/* FAQ accordion (core Details block) */
.mrp-faq {
	display: grid;
	gap: 12px;
}

.mrp-faq .wp-block-details {
	border: 1px solid var(--base);
	border-radius: 10px;
	background: #fff;
	padding: 0;
	margin: 0;
	transition: border-color .2s, box-shadow .2s;
}

.mrp-faq .wp-block-details[open] {
	border-color: var(--accent-2);
	box-shadow: 0 8px 24px rgba(17, 28, 51, .06);
}

.mrp-faq summary {
	list-style: none;
	cursor: pointer;
	position: relative;
	padding: 18px 56px 18px 22px;
	font-weight: 700;
	color: var(--contrast);
	font-size: 1rem;
	line-height: 1.4;
}

.mrp-faq summary::-webkit-details-marker {
	display: none;
}

.mrp-faq summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--mint-2);
	color: var(--accent);
	display: grid;
	place-items: center;
	font-size: 1.2rem;
	font-weight: 700;
	line-height: 1;
}

.mrp-faq details[open] summary::after {
	content: "\2212";
}

.mrp-faq .wp-block-details > :not(summary) {
	padding: 0 22px;
	margin: 0 0 1em;
	font-size: .95rem;
}

.mrp-faq .wp-block-details > :last-child {
	padding-bottom: 6px;
}

/* Gravity Forms */
.mrp-form-card .gform_wrapper.gravity-theme .gfield_label,
.mrp-form-card .gform_wrapper .gform-field-label {
	font-size: .84rem;
	font-weight: 700;
	color: var(--contrast);
}

.mrp-form-card .gform_wrapper input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.mrp-form-card .gform_wrapper select,
.mrp-form-card .gform_wrapper textarea {
	border: 1px solid var(--base);
	border-radius: 6px;
	padding: 10px 12px;
	font-size: .95rem;
	background: #fff;
	width: 100%;
}

.mrp-form-card .gform_wrapper input:focus,
.mrp-form-card .gform_wrapper select:focus,
.mrp-form-card .gform_wrapper textarea:focus {
	border-color: var(--accent);
	outline: none;
	box-shadow: 0 0 0 3px rgba(63, 174, 42, .18);
}

.mrp-form-card .gform_wrapper .gform_footer input[type="submit"],
.mrp-form-card .gform_wrapper .gform_footer button {
	background: var(--accent);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: .9em 1.6em;
	font-weight: 700;
	font-size: .95rem;
	cursor: pointer;
	width: 100%;
}

.mrp-form-card .gform_wrapper .gform_footer input[type="submit"]:hover,
.mrp-form-card .gform_wrapper .gform_footer button:hover {
	background: #2f9120;
}

/* Modula gallery */
.mrp-section .modula-gallery .modula-item {
	border-radius: 6px;
	overflow: hidden;
}
