/*
Theme Name: RM Blocks
Theme URI:
Author: Abstract Marketing
Author URI:
Description:
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.0
Version: 1.0.12
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rmhc-blocks
Tags: full-site-editing
*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

img:not([class]),
iframe {
	display: block;
}

[hidden] {
	display: none !important;
}

:where(input:not(:is([type='button'], [type='submit'])), select, textarea) {
	background: var(--wp--preset--color--base);
	border: 1px solid #bbb;
	border-radius: 5px;
	color: var(--wp--preset--color--contrast);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: normal;
	line-height: 1.65;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	width: 100%;
}

:where(input:focus, textarea:focus, select:focus) {
	outline: 2px solid var(--wp--preset--color--primary);
}

:where(input[type='checkbox'], input[type='image'], input[type='radio']) {
	width: auto;
}

form :where([type='button'], [type='submit']) {
	background: var(--wp--preset--color--primary);
	color: #fff;
	appearance: none;
	padding: 0.7em 1.2em;
	font: inherit;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

::placeholder {
	color: var(--wp--preset--color--contrast);
	opacity: 0.5;
}

[style='text-decoration:none;'] a {
	text-decoration: none;
}

@keyframes kburns {
  from { transform: scale(1.15) }
}

.wp-block-cover__image-background {
  animation: kburns 6s ease-out;
}

body {
	overflow-x: hidden;
}

.wp-block-button__link {
	display: flex;
	gap: 4px;
	align-items: center;
}

.wp-site-blocks > * {
	margin-block: 0 !important;
}

.wp-block-media-text {
	gap: 2rem;
}

.wp-block-media-text__content > *:first-child {
	margin-block-start: 0;
}

.wp-block-media-text > .wp-block-media-text__content {
	padding: 0;
}

/* Full height page, for sticky footer */
body,
html,
.wp-site-blocks {
	min-height: calc(100vh - 32px);
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
}

.site-main {
	flex-grow: 1;
}

/* Sticky header */
.site-header {
	position: sticky;
	top: 0;
	z-index: 100;
}

@media (min-width: 600px) {
	.admin-bar .site-header {
		top: 46px;
	}
}

@media (min-width: 600px) {
	.admin-bar .site-header {
		top: 32px;
	}
}

/* Page specific */
.page-id-16 .site-main .wp-block-post-content {
	margin: 0 !important;
	margin-top: -80px !important;
	padding: 0 !important;
}

body.has-featured-image .page-cover {
	min-height: 40vw !important;
}

.clip-bottom-angle {
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - 80px), 50% 100%, 0 calc(100% - 80px));
	will-change: transform;
}

.page-cover {
	z-index: 1;
	position: relative;
	background: #fff;
}

/* body:not(.has-featured-image) .page-cover .wp-block-cover__background {
	background-image: linear-gradient(to bottom, var(--wp--preset--color--primary-2), var(--wp--preset--color--primary));
	opacity: 1 !important;
} */

body.has-featured-image .page-cover .wp-block-cover__background {
	opacity: 0.5 !important;
	background: #000 !important;
}

body.has-featured-image .page-cover {
	clip-path: none;
}

.top-bar a {
	text-decoration: none;
}

.cover-link {
	position: relative;
	overflow: hidden;
}

.cover-link img {
	transition: all 0.5s ease;
}

.cover-link:hover img {
	transform: scale(1.05);
}

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

:root {
	--shine-degree: 110deg;
	--shine-color: #fff5;
	--shine-effect: linear-gradient(var(--shine-degree), transparent 50%, var(--shine-color), transparent);
}

.logo-container {
	position: relative;
	overflow: hidden;
}

.logo-container::after {
	animation: shine 6s ease-in-out infinite;
	content: '';
	inset: 0;
	position: absolute;
	width: 100%;
	height: 100%;
	background: var(--shine-effect);
}

@keyframes shine {
	0% {
		left: -100%;
		transition-property: left;
	}
	25%,
	100% {
		left: 100%;
		transition-property: left;
	}
}

.how-it-works .wp-block-group {
	position: relative;
}

.how-it-works .wp-block-group + .wp-block-group::after {
	content: '';
	left: -1rem;
	top: 10%;
	position: absolute;
	height: 80%;
	width: 1px;
	background: #fff3;
}

.footer-cta {
	background-size: 250% !important;
	background-position: 50%;
}

.background-angle {
	background-size: 250% 100% !important;
	background-position: 50%;
	background-repeat: no-repeat;
}

@media (max-width: 1100px) {
	.site-header .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-buttons {
		display: none;
	}
}

.wp-block-navigation__responsive-container-open svg,
.wp-block-navigation__responsive-container-close svg {
	width: 44px;
	height: 44px;
}

@media (max-width: 991px) {
  .site-header__main {
    justify-content: start;
  }
  .site-header__main .logo-container {
    flex-grow: 1;
  }
  .site-header__main nav {
    order: 1;
  }
}

.wp-block-navigation__responsive-container.is-menu-open a {
	font-size: 1.5rem !important;
}

@media (min-width: 992px) {
	.site-header ul.wp-block-navigation > .wp-block-navigation-item {
	  transition: transform .2s ease;
	}

	.site-header ul.wp-block-navigation > .wp-block-navigation-item:is(.current-menu-item,.current-menu-ancestor) > a {
		font-weight: 800;
		color: var(--wp--preset--color--primary);
	}

	.site-header ul.wp-block-navigation > .wp-block-navigation-item:hover {
	  transform: translateY(-3px);
	}

	.site-header ul.wp-block-navigation > .wp-block-navigation-item:is(.current-menu-item,.current-menu-ancestor)::before {
	  content: '';
	  position: absolute;
	  bottom: -6px;
	  width: 100%;
	  height: 3px;
	  background: var(--wp--preset--color--primary);
	  overflow: hidden;
	}

	.site-header ul.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation__submenu-container {
	  border-radius: 8px;
	  border: none !important;
	  padding: .25rem !important;
	  overflow: hidden !important;
	  box-shadow: 2px 2px 12px #0002;
	}

	.megamenu-3 > .wp-block-navigation__submenu-container {
		display: grid !important;
		grid-template-columns: repeat(3, 1fr);
		left: -300px !important;
	}

	.megamenu-3 ul .wp-block-navigation-submenu__toggle {
		display: none;
	}

	.megamenu-3 .has-child .wp-block-navigation__submenu-container {
		left: auto !important;
		opacity: 1;
	}

	.megamenu-3 .wp-block-navigation-item {
		display: block !important;
		visibility: visible !important;
	}

	.megamenu-3 > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		width: initial !important;
		position: relative !important;
		height: initial !important;
	}
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	border: none !important;
}

.site-header ul.wp-block-navigation > li:not(.megamenu-3) .wp-block-navigation__submenu-container a {
	text-transform: capitalize;
}

.megamenu-3 .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container a {
	text-transform: capitalize;
}

.home-quote .gform_footer .wp-block-button {
	width: 100%;
}

.page-card {
	position: relative;
	overflow: hidden;
}

.page-card a::before {
	content: '';
	inset: -500px 0;
	position: absolute;
}

.gform_footer {
    justify-content: center;
}

ul.site-header__nav {
    gap: 10px 10px;
}

@media (min-width: 1100px) {
    .site-header .wp-block-site-logo img {
        width: 150px;
    }
    
    ul.site-header__nav {
        gap: 10px 20px;
    }
}


@media (min-width: 1250px) {
    ul.site-header__nav {
        gap: 10px 28px;
    }
}

.gform_required_legend {
	display: none;
}

@media (max-width: 850px) {
    body:not(.home) .entry-content .wp-block-image.size-medium {
        justify-content: center;
        text-align: center;
    }
}

.gfield_description {
    padding: 0 !important;
    color: #888;
}

.wp-block-navigation__responsive-container.is-menu-open {
    background: var(--wp--preset--gradient--custom-red-1);
    color: #fff;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
    padding-inline: 0;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container a {
    padding-block: 5px;
}

.home .wp-block-cover h1 {
    text-shadow:
        0 1px 4px #0009,
        0 2px 20px #000b
}

.show-menu-open {
	display: none;
}

.is-menu-open .show-menu-open {
	display: inline-block;
}

@media (max-width: 850px) {
  figure[class*="align"] {
    float: none !important;
    margin: 1.5rem 0 !important;
    padding: 0 !important;
    display: flex !important;
    justify-content: center;
  }
}