/*
 Theme Name: Twenty Twenty-Five Child
 Theme URI: http://example.com/twentytwentyfive-child/
 Description: My custom child theme for Twenty Twenty-Five
 Author: Your Name
 Author URI: http://example.com
 Template: twentytwentyfive
 Version: 1.0.0
 License: GNU General Public License v2 or later
 License URI: http://www.gnu.org
 Tags: blog, one-column, custom-colors, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, templates, theme-options, wide-blocks
 Text Domain: twentytwentyfive-child
*/


/* =========================================
   Tokens
   ========================================= */

:root {
	--wp--style--global--content-size: 100%;
	--bg-yellow-light: #FFFDF7;
	--bg-orange: #f68d29;
	--bg-blue-dark: #1f365c;
	--bg-blue: #3f4853;
	--bg-gray-dark: #4a4b4a;
	--bg-gray-light: #F4F4F4;
	--ra-header-bg: #2b2b2b;
	--ra-topbar-bg: #1f1f1f;
	--ra-text: #ffffff;
	--ra-border: rgba(63,72,83,0.9);
	--space-0-5: 4px;
	--space-1: 8px;
	--space-1-5: 12px;
	--space-2: 16px;
	--space-3: 24px;
	--space-4: 32px;
	--space-5: 40px;
	--space-6: 48px;
	--space-7: 56px;
	--space-8: 64px;
	--space-9: 72px;
	--space-10: 80px;
	--space-11: 88px;
	--space-12: 96px;
	--wp--preset--font-size--medium: 16px;
	--radius-sm: var(--space-0-5);
	--radius-circle: 999px;
	--wp--style--global--wide-size: 1400px;
}

/* =========================================
   GRID — lightweight columns
   Use: .ra-container + .ra-grid + .ra-col
   ========================================= */

/* Container */
.ra-container {
	width: 90%;
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
}

/* Full-bleed helper for alignfull sections */
.ra-full {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Grid base (12 columns by default) */
.ra-grid {
	--ra-cols: 12;
	--ra-gap: var(--space-3);
	display: grid;
	grid-template-columns: repeat(var(--ra-cols), minmax(0, 1fr));
	gap: var(--ra-gap);
}

/* Column span (default = full width) */
.ra-col { grid-column: 1 / -1; }

/* Span utilities (desktop) */
.ra-span-1  { grid-column: span 1; }
.ra-span-2  { grid-column: span 2; }
.ra-span-3  { grid-column: span 3; }
.ra-span-4  { grid-column: span 4; }
.ra-span-5  { grid-column: span 5; }
.ra-span-6  { grid-column: span 6; }
.ra-span-7  { grid-column: span 7; }
.ra-span-8  { grid-column: span 8; }
.ra-span-9  { grid-column: span 9; }
.ra-span-10 { grid-column: span 10; }
.ra-span-11 { grid-column: span 11; }
.ra-span-12 { grid-column: span 12; }

/* Optional: start-position utilities (desktop) */
.ra-start-1  { grid-column-start: 1; }
.ra-start-2  { grid-column-start: 2; }
.ra-start-3  { grid-column-start: 3; }
.ra-start-4  { grid-column-start: 4; }
.ra-start-5  { grid-column-start: 5; }
.ra-start-6  { grid-column-start: 6; }
.ra-start-7  { grid-column-start: 7; }
.ra-start-8  { grid-column-start: 8; }
.ra-start-9  { grid-column-start: 9; }
.ra-start-10 { grid-column-start: 10; }
.ra-start-11 { grid-column-start: 11; }
.ra-start-12 { grid-column-start: 12; }

/* Responsive: tablet -> 6-col, mobile -> 1-col */
@media (max-width: 1000px) {
  .ra-grid { --ra-cols: 6; }
  /* On tablet, common spans */
  .ra-t-span-6, .ra-t-span-12 { grid-column: span 6; }
  .ra-t-span-4 { grid-column: span 4; }
  .ra-t-span-3 { grid-column: span 3; }
  .ra-t-span-2 { grid-column: span 2; }
}

@media (max-width: 650px) {
	.ra-grid { --ra-cols: 1; }
	.ra-col,
	[class*="ra-span-"],
	[class*="ra-start-"] {
		grid-column: 1 / -1;
		grid-column-start: auto;
	}
}


/* =========================================
   Strucutre
   ========================================= */
   
:root :where(.wp-block-navigation) {
	font-size: clamp(var(--space-2), 1.3vw,var(--space-3));
}

body {
	font-size: var(--space-2);
	-webkit-font-smoothing: antialiased;
    text-rendering: optimizelegibility;
}

.has-global-padding {
	padding: 0;
}

.has-global-padding > .alignfull {
	margin-left: 0;
	margin-right: 0;	
}

.entry-content > section {
	scroll-margin-top: var(--space-10);
}

.entry-content > section:not(.tight-top):not(.dt7-hero):not(.ra-badges):not(.ra-assurance), .entry-content > section + *:not(section):not(.tight-top):not(.ra-image-strip) {
    margin-top: var(--space-8);
}

.entry-content > *:not(section) {
    width: 90%;
    max-width: 1400px;
}

body.category .entry-content > *:not(section),
.wp-block-columns.blog-post.is-layout-flex.wp-container-core-columns-is-layout-9d6595d7.wp-block-columns-is-layout-flex {
    width: 100%;
    max-width: 100%;
}

.is-vertically-aligned-center > *:first-child {
    margin-top: 0;
}

.is-vertically-aligned-center > *:last-child, 
.is-vertically-aligned-center .ra-slideinbtn__wrap,
.ra-featuregrid .ra-slideinbtn__wrap {
    margin-bottom: 0;
}

.dark-bg-row *:not(.ra-slideinbtn__text):not(.ra-slideinbtn__svg) {
	color: #fff;
}

.blue-bg {
	background-color: var(--bg-blue-dark)
}

.gray-bg {
	background-color: var(--bg-gray-dark)
}

.gray-light-bg {
	background-color: var(--bg-gray-light)
}

.yellow-bg {
	background-color: var(--bg-yellow-light)
}

.center-objects .wp-block-image {
    display: flex;
    justify-content: center;
}

.entry-content > section:not(.dt7-hero):not(.ra-badges):not(.ra-assurance):first-child {
    margin-top: 0;
}

body.page-template-default .entry-content > *:first-child {
    margin-top: var(--space-5);
}

body.page-template-default .entry-content > *:last-child {
    margin-bottom: var(--space-5);
}

.top-space {
	margin-top: var(--space-8);
}

.btm-space {
	margin-bottom: var(--space-8);
}

.top-btm-space {
	margin-top: var(--space-8);
	margin-bottom: var(--space-8);
}


.tight-top {
	margin-top: 0 !important;
}

.tight-btm {
	margin-bottom: 0 !important;
}

.tight-top-btm {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.btm-pad-sm {
	padding-bottom: var(--space-1)
}

.btm-pad-md {
	padding-bottom: var(--space-3)
}

.btm-pad-lg {
	padding-bottom: var(--space-5)
}	

.top-pad-sm {
	padding-top: var(--space-1)
}

.top-pad-md {
	padding-top: var(--space-3)
}

.top-pad-lg {
	padding-top: var(--space-5)
}

.top-btm-pad-sm	{
	padding-top: var(--space-1);
	padding-bottom: var(--space-1);
}

.top-btm-pad-md	{
	padding-top: var(--space-3);
	padding-bottom: var(--space-3);
}

.top-btm-pad-lg	{
	padding-top: var(--space-5);
	padding-bottom: var(--space-5);
}

.no-space-top {
	padding-top: 0;
}

.wp-block-columns.dark-bg-row.hero-column > .wp-block-column:first-child {
    padding: var(--space-4) 0;
}

.post-template-single-hero .single-featured > .wp-block-group:first-child > p, .post-template-single-hero .single-featured > .wp-block-group:first-child > div:not(.wp-block-post-terms) {
    display: none;
}

.post-template-single-hero .single-featured > .wp-block-group:first-child {
    margin: 0 !important;
    position: relative;
    z-index: 2;
}

section.content-header {
    background: var(--bg-yellow-light);
	position: relative;
}

.entry-content > section.ra-faqs + section.ra-faqs,
#content .ra-band + .ra-band,
#page .ra-mf-badges + .ra-band,
#page section.dt7-hero + .ra-band  {
    margin-top: 0 !important;
}

.col-cards figure.wp-block-image {
    aspect-ratio: 16/9;
    position: relative;
}

.col-cards .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow {
    background: var(--bg-gray-light);
}

.col-cards .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow > *:not(figure) {
    padding: 0 var(--space-2);
    font-size: var(--space-1-5);
}

.col-cards .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow > .wp-block-heading {
    margin: 0;
    font-size: var(--space-2);
}

section.text-col-3 .ra-container {
    container-type: inline-size;
    column-count: 4;
    column-gap: var(--space-3);
}

section.text-col-3 .ra-container > *:first-child {
    margin-top: 0;
}

.has-text-align-center svg {
    margin-left: auto;
    margin-right: auto;
}

section#thank-you-head .wp-block-image {
    text-align: center;
}

body.search .wp-block-query-title, body.search .wp-block-search, body.search .wp-block-search + .wp-block-query {
    width: 90%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
}




/* =========================================
   LIGHTBOX
   ========================================= */
   
html.ra-lightbox-open,
html.ra-lightbox-open body {
  overflow: hidden;
}

.ra-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
}

.ra-lightbox[aria-hidden="false"],
.ra-lightbox.is-open {
  display: block;
}

.ra-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(74,75,75,0.9);
}

.ra-lightbox__dialog,
.ra-lightbox__panel {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: var(--space-2);
}

.ra-lightbox__stage,
.ra-lightbox__figure {
  position: relative;
  width: 100%;
  max-width: min(1100px, 96vw);
  max-height: 86vh;
  margin: 0;
}

.ra-lightbox__img {
  display: block;
  max-width: 100%;
  max-height: 72vh;
  width: auto;
  height: auto;
  margin: 0 auto;
  background: var(--bg-gray-dark);
}

.ra-lightbox__caption {
  margin-top: var(--space-1-5);
  color: #fff;
  text-align: center;
}

.ra-lightbox__captionTitle {
  font-weight: 700;
  line-height: 1.3;
}

.ra-lightbox__captionText {
  margin-top: var(--space-0-5);
  line-height: 1.5;
  opacity: 0.88;
}

.ra-lightbox__close {
  position: absolute;
  top: var(--space-2);
  right: var(--space-2);
  z-index: 2;
  width: var(--space-5);
  height: var(--space-5);
  color: #fff;
  cursor: pointer;
  background: var(--bg-blue);
  border: 1px solid var(--bg-orange);
  border-radius: var(--radius-circle);
  font-size: var(--space-3);
  line-height: var(--space-5);
  text-align: center;
}

.ra-lightbox__nav {
  position: absolute;
  top: 50%;
  z-index: 2;
  width: var(--space-6);
  height: var(--space-6);
  color: #fff;
  cursor: pointer;
  background: var(--bg-blue);
  border: 1px solid var(--bg-orange);
  border-radius: var(--radius-circle);
  font-size: var(--space-4);
  line-height: var(--space-6);
  text-align: center;
  transform: translateY(-50%);
}

.ra-lightbox__prev,
.ra-lightbox__nav--prev {
  left: var(--space-2);
}

.ra-lightbox__next,
.ra-lightbox__nav--next {
  right: var(--space-2);
}

button.ra-lightbox__nav::after {
  position: relative;
  top: -2px;
  display: block;
  line-height: 0;
}

button.ra-lightbox__close::after {
  display: block;
  line-height: 0;
}

button.ra-lightbox__close::after {
  content: "×";
}

button.ra-lightbox__nav--next::after {
  content: "›";
  right: -1px;
}

button.ra-lightbox__nav--prev::after {
  content: "‹";
  left: -1px;
}

@media (max-width: 730px) {
  .ra-lightbox__img {
    max-height: 64vh;
  }
}


/* =========================================
   Header
   ========================================= */
.ra-header{
	position: sticky;
	top: 0;
	z-index: 100000000;
}

/* Top bar */
.ra-topbar{
	background: var(--ra-topbar-bg);
	color: var(--ra-text);
}
.ra-topbar__inner{
	padding: var(--space-1) var(--space-2) 0;
	gap: var(--space-3);
}

/* Main bar */
.ra-mainbar{
	background: var(--ra-header-bg);
	color: var(--ra-text);
}
.wp-block-group > .ra-mainbar__inner{
	padding: 0 var(--space-2);
    gap: var(--space-3);
    max-width: 1455px;
    width: 95.5%;
}
.ra-site-logo{
	flex: 0 0 auto;
}

.ra-nav.wp-block-navigation {
    justify-content: end;
}

/* Contact Blocks */
.ra-contact{
	display: inline-flex;
	align-items: center;
	gap: var(--space-1-5);
	line-height: 1;
	font-size: var(--space-1-5);
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
    padding: var(--space-8) var(--space-0-5) var(--space-8) var(--space-2);
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover {
    color: var(--bg-orange);
}

.ra-contact a{
    align-items: center;
    color: var(--ra-text);
    text-decoration: none;
    display: flex;
}
.ra-contact a:hover{
	text-decoration: underline;
}
.ra-contact__icon{
	width: var(--space-2);
	height: var(--space-2);
	fill: var(--bg-orange);
	flex: 0 0 auto;
	padding-right: var(--space-0-5);
}

/* =========================================
   Main Navigation
   ========================================= */
   
.ra-nav{
	flex: 1 1 auto;
}

.ra-nav .wp-block-navigation__container {
    gap: var(--space-1);
}

.ra-nav a{
	color: var(--ra-text);
	font-weight: 600;
}

.ra-is-scrolled .wp-block-group.ra-mainbar.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    position: fixed;
    width: 100%;
	top: 0;
}

.ra-is-scrolled.admin-bar .wp-block-group.ra-mainbar.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
	top: 32px;
}

.current-menu-ancestor > a span,
.current-menu-item > a span {
    color: var(--bg-orange);
}

.current-menu-ancestor > a, 
.current-menu-item > a {
    color: var(--bg-orange) !important;
}

.ra-is-scrolled .wp-block-navigation .has-child a.wp-block-navigation-item__content {
    padding-right: 0;
}

@media screen and (max-width: 780px){
	.ra-is-scrolled.admin-bar .wp-block-group.ra-mainbar.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
		top: 46px;
	}
}

.ra-is-scrolled .wp-block-group.ra-topbar.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    margin-bottom: 150px;
}

.ra-nav a:focus {
	outline: none;
}

.ra-nav a:focus-visible {
	outline: 2px solid var(--ra-accent);
	outline-offset: 3px;
}

.wp-block-navigation__responsive-container-close svg, .wp-block-navigation__responsive-container-open svg {
    fill: #f68d29;
    transform: scale(1.4); 
    transform-origin: center;
}

.wp-block-navigation__responsive-container:not(.is-menu-open) button.wp-block-navigation__responsive-container-close {
    display: none;
}

.ra-nav .wp-block-navigation-item.has-child {
	position: relative;
}

.ra-nav .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	left: 0;
	right: auto;
	top: 100%;
	transform: translateY(0);
	min-width: 260px;
	max-width: min(360px, 92vw);
	overflow: visible;
}

.ra-nav .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	left: 100%;
	right: auto;
	top: 0;
}

/* ---------- Right edge handling ---------- */
.ra-nav .wp-block-navigation__container > .wp-block-navigation-item.has-child:nth-last-child(-n+2) > .wp-block-navigation__submenu-container {
	right: 0;
	left: auto;
}

.ra-nav .wp-block-navigation__container > .wp-block-navigation-item.has-child:nth-last-child(-n+2) .wp-block-navigation-item.has-child > .wp-block-navigation__submenu-container {
	right: 100%;
	left: auto;
}

body.ra-is-scrolled .ra-topbar{
	display: none;
}

.ra-mainbar{
	box-shadow: inset 0 -1px 0 var(--ra-border);
	margin-top: 0;
}

/* Responsive behavior  */
   
@media (min-width: 1171px){
	.wp-block-navigation__responsive-container-open{
		display: none ; /* hide hamburger button on desktop */
	}

	.wp-block-navigation__responsive-container{
		display: block ;
		position: static ;
		visibility: visible ;
		opacity: 1 ;
		transform: none ;
		pointer-events: auto ;
	}
  
	.ra-mainbar__inner .ra-main-contacts{ 
		display: none; 
	}
	body.ra-is-scrolled .ra-site-logo{
		display: none;
	}
	
	body.ra-is-scrolled .ra-mainbar__inner{
		justify-content: center;
	}
	
	body.ra-is-scrolled .ra-nav{
		flex: 0 0 auto;
	}
	
	.ra-is-scrolled .wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content {
		padding: var(--space-3)
	}
	
	.ra-is-scrolled main#wp--skip-link--target {
		margin-top: 150px !important;
	}
}

@media (max-width: 1171px) {
	.ra-nav .wp-block-navigation__submenu-container {
		max-width: 92vw;
	}

	.ra-topbar{ display: none; }
	.ra-mainbar__inner .ra-main-contacts{ 
		display: inline-flex; 
		gap: var(--space-3); 
		flex-grow: 1;
		margin-top: var(--space-1);
	}
	.ra-nav{ justify-content: flex-end; }
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
		padding-top: 0;
		padding-bottom: 0;
		padding-right: var(--space-1);
		border-right: var(--space-0-5) solid var(--bg-orange);
	}

	.wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		margin-bottom: var(--space-1);
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item {
		margin-bottom: var(--space-1);
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		padding: 0 0 var(--space-0-5);
		border-bottom: 2px solid var(--bg-orange);
	}

	.is-menu-open .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
		padding: var(--space-0-5) 0 0;
		border-bottom: none;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		flex-direction: row;
		padding-bottom: var(--space-8)
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container, .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-page-list {
		align-items: flex-end;
	}
	
	.wp-block-navigation__responsive-container.is-menu-open {
		padding-right: var(--space-11);
	}
	
	.ra-is-scrolled main#wp--skip-link--target {
		margin-top: 66px !important;
	}
	
}

@media (max-width: 778px){
	.ra-topbar{ display: block; }
	.ra-topbar__inner{ gap: var(--space-3); }
	.ra-mainbar__inner .ra-main-contacts,
	.ra-topbar__inner .ra-contact--email{ display: none; } 
	.ra-mainbar__inner{ padding: var(--space-1-5) var(--space-2); }
	.ra-site-logo img{ max-height: var(--space-5); width: auto; }
	.ra-main-contacts{ display: none; } /* on mobile, contacts live in topbar */
}

/* =========================================
   Footer
   ========================================= */

.ra-footer {
  color: var(--ra-text);
}

/* Top footer */
.ra-footer__top {
  background: #262626;
  padding: var(--space-6) 0;
}

.ra-footer__grid {
  gap: var(--space-8);
  width: 90%;
}

.ra-footer__title {
  margin: 0 0 var(--space-2);
  font-size: var(--space-3);
  font-weight: 700;
  color: #fff;
}

.ra-footer__text {
  margin: 0 0 var(--space-1);
  color: #fff;
  opacity: 0.9;
}

/* Link list with dividers like your screenshot */
.ra-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.ra-footer__links li {
    padding: var(--space-1) 0;
    border-bottom: 1px solid rgba(244, 244, 244, 0.18);
    margin: 0;
}

.ra-footer__links li:last-child {
  border-bottom: none;
}

.ra-footer__links a {
  color: #fff;
  text-decoration: none;
  opacity: 0.9;
}

.ra-footer__links a:hover {
  color: var(--bg-orange);
  opacity: 1;
  text-decoration: none;
}

/* Social links */
.ra-footer__social {
  margin-top: var(--space-4);
  gap: var(--space-2);
}

/* Bottom bar */
.ra-footer__bottom {
  background: #474747;
  padding: var(--space-3);
}

.ra-footer__bottom-inner {
  gap: var(--space-2);
  text-align: center;
  flex-direction: column;
}

.ra-footer__bottom-links {
  margin: 0;
  font-size: var(--space-1-5);
}

.ra-footer__bottom-links a {
  color: #fff;
  text-decoration: none;
}

.ra-footer__bottom-links a:hover {
  color: var(--bg-orange);
}

.ra-footer__sep {
  margin: 0 var(--space-2);
  opacity: 0.8;
}

.ra-footer__fineprint {
  margin: var(--space-2) 0 0;
  font-size: var(--space-1-5);
  opacity: 0.9;
}

/* Footer social icons (shortcode output) */
.ra-footer__social{
  margin-top: var(--space-2);
  display: flex;
  gap: var(--space-2);
}

.ra-footer__social-link{
  width: var(--space-4);
  height: var(--space-4);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  background: var(--bg-gray-light);
  color: var(--bg-gray-dark);
  text-decoration: none;
}

.ra-footer__social-link:hover{
  background: var(--bg-orange);
}

.ra-footer__icon{
  width: var(--space-2);
  height: var(--space-2);
  fill: #262626;
  opacity: 0.95;
}

.ra-footer__phone a{
  color: #fff;
  text-decoration: none;
  font-weight: 600;
}

.ra-footer__phone a:hover{
  color: var(--bg-orange);
}

/* Back to top button */
.ra-backtotop {
  position: fixed;
  left: var(--space-2);
  bottom: var(--space-2);
  width: var(--space-5);
  height: var(--space-5);
  border: none;
  border-radius: 0;
  background: rgba(0,0,0,0.35);
  color: #fff;
  font-size: var(--space-3);
  cursor: pointer;
  display: none; /* JS toggles */
  z-index: 9999;
}

/* Responsive footer columns */
@media (max-width: 980px) {
  .ra-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  .ra-footer__grid {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================
   Elements
   ========================================= */
   
ol, ul {
    padding-left: var(--space-3);
}

h1, h2, h3, h4, h5, h6 {
	letter-spacing: 0.25px;
    word-spacing: 2px;
	color: var(--bg-blue-dark);
}

h1.wp-block-heading {
    margin: 0 0 var(--space-1-5);
    font-size: var(--space-3);
}

h3, h4, h5, h6 {
	margin: 1.5rem 0 1rem;
}

h2 {
	font-size: var(--space-5);
}

h3 {
	font-size: var(--space-4);
}

h4 {
	font-size: var(--space-3);
}

h5 {
	font-size: var(--space-2);
}

h6 {
	font-size: var(--space-1-5);
}

blockquote.wp-block-quote {
    font-size: var(--wp--preset--font-size--medium);
    padding: var(--space-2) var(--space-2) var(--space-2) var(--space-4);
    border-left: var(--space-0-5) solid var(--bg-orange);
    background: var(--bg-yellow-light);
	box-shadow: 0px 0px var(--space-0-5) var(--bg-blue-dark);
}

blockquote.wp-block-quote p {
	margin: 0;
}

svg {
  display: block;
  fill: currentColor;
}

.hero-section h1, .wp-block-query-title {
	font-size: var(--space-3);
}

section.content-header h1 {
    margin: 0;
    font-size: var(--space-3);
	position: relative;
	z-index: 1;
}

section.content-header img {
    position: absolute;
    object-fit: cover;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
}

section.content-header figure {
    position: static;
    margin: 0 !important;
}

section.content-header figure:after {
    content: '';
    position: absolute;
    background: rgb(0 0 0 / 65%);
    z-index: 0;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
}

section.content-header figure + h1 {
    color: #fff !important;
}

.col-cards figure.wp-block-image img {
    position: absolute;
    object-fit: cover;
    height: 100%;
    width: 100%;
}

section.content-header p {
    color: #fff;
    position: relative;
    text-align: center;
    margin-bottom: 0;
}

h3.wp-block-accordion-heading {
    color: #000;
    font-weight: 100;
    font-family: 'Montserrat';
    border: 1px solid rgb(74 75 74);
    border-radius: var(--radius-sm);
    padding: 0 var(--space-2);
    font-size: var(--space-3);
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {text-decoration: none;}


.gives-back-logos.wp-block-roofadvisor-section figure {
    margin: 0;
}

.gives-back-logos.wp-block-roofadvisor-section .ra-container .wp-block-column img {
    max-width: 125px;
	width: 100%;
}

.gives-back-logos.wp-block-roofadvisor-section .ra-container .wp-block-column:nth-child(2) img {
    max-width: 77px;
}

.gives-back-logos.wp-block-roofadvisor-section .ra-container .wp-block-column:nth-child(3) img {
    max-width: 181px;
}

.gives-back-logos.wp-block-roofadvisor-section .ra-container .wp-block-column:nth-child(5) img {
    max-width: 200px;
}

.wp-block-accordion-item.is-layout-flow.wp-block-accordion-item-is-layout-flow {
    background: #fff;
}

.wp-block-accordion-panel {
    padding: 0 var(--space-3) var(--space-0-5);
}

.btn,a.page-numbers,.wp-block-query-pagination-next,.wp-block-query-pagination-previous {
    text-decoration: none;
    padding: var(--space-2);
    border-radius: var(--space-0-5);
    font-weight: 700;
    line-height: 1;
    margin-top: var(--space-4);
    background: var(--bg-orange);
    color: #000;
    box-shadow: 0 var(--space-1-5) var(--space-4) rgba(63,72,83, .18);
	border: 1px solid var(--bg-orange);
	transition: transform 180ms ease, background-color 180ms ease;
}

.btn:hover,a.page-numbers:hover,.wp-block-query-pagination-next:hover,.wp-block-query-pagination-previous:hover {
  transform: translateY(-2px);
  background: var(--bg-gray-light);
}

.btn:active,a.page-numbers:active,.wp-block-query-pagination-next:active,.wp-block-query-pagination-previous:active {
  transform: translateY(1px);
}

.btn:focus,a.page-numbers:focus,.wp-block-query-pagination-next:focus,.wp-block-query-pagination-previous:focus {
	outline: none;
}

@media screen and (min-width: 1401px){
	h3, h4, h5, h6 {
		margin: 2rem 0 1.5rem !important;
	}

	h2 {
		font-size: var(--space-6) !important;
	}

	h3 {
		font-size: var(--space-5) !important;
	}

	h4, h1.wp-block-heading, .dt7-hero__h1, section.content-header h1, p.ra-page-subheading, .dt7-hero__formheader-title, .ra-community-page__form-title, .ra-active-projects__title {
		font-size: var(--space-4) !important;
	}

	h5, .ra-assurance__rowTitle, body, blockquote.wp-block-quote, :root :where(.wp-block-query-pagination),.post-navigation-link-previous.wp-block-post-navigation-link a, .post-navigation-link-next.wp-block-post-navigation-link a, .col-cards .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow > .wp-block-heading, .ra-service-grid__intro, .ra-image-strip__title, .ra-service-grid__title {
		font-size: var(--space-3) !important;
	}

	h6, .ra-contact, .ra-assurance__rowNote, .yt-item span, .has-small-font-size, .taxonomy-category.wp-block-post-terms a, .taxonomy-post_tag a, .has-text-align-right.wp-block-post-date time, .ra-beforeafter .ra-ba__label, .col-cards .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow > *:not(figure), .ra-image-strip__caption, .ra-hover-cards__body, .ra-hover-cards__button-wrap, .ra-hover-cards__bullets {
		font-size: var(--space-2) !important;
	}
	
	.ra-featuregrid__card {
		padding: var(--space-2) var(--space-2) 0;
	}
	
	.dt7-hero__formheader-title, .ra-service-grid__title {
		margin-top: 0 !important
	}

}

@media screen and (min-width: 1171px){
	.wp-block-site-logo a, .wp-block-site-logo img {
		margin-top: calc(var(--space-1) * -1)
	}
}


/* =========================================
   Forms
   ========================================= */

.dt7-hero__form,
div:not(.dt7-hero__gf-shell) > .gform_wrapper,
.ra-community-page__form-shell {
    padding: var(--space-3)var(--space-3) var(--space-4);
    box-shadow: 0px 0px var(--space-1-5) var(--bg-orange);
    border-radius: var(--space-1);
    background: var(--bg-blue-dark);
    border: 1px solid var(--bg-orange);
	color: #fff;
}

div:not(.dt7-hero__gf-shell) > .gform_wrapper *:not(input):not(select):not(textarea):not(option) {
    color: #fff;
}

div:not(.dt7-hero__gf-shell) > .gform_wrapper {
	margin: var(--space-4) auto 0;
    max-width: 640px;
}

.gform_heading .gform_description {
	text-align: center;
}


.gform-body .gform-field-label {
    color: #fff;
	font-size: var(--space-2)
}

.gform-body .gfield_description,
.gform-body .gfield_consent_label {
    color: #fff;
	font-size: var(--space-1-5)
}

.gform-theme--framework .gform_required_legend .gfield_required, span.gfield_required.gfield_required_asterisk {
    color: var(--bg-orange) !important;
}

.ginput_container > input {
    border-radius: var(--space-0-5);
}

.gform-theme--foundation .gform_fields {
	row-gap: var(--space-2);
}

.gform_button.button,
.gform-theme.gform-theme--framework.gform_wrapper .button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme.gform-theme--framework.gform_wrapper .gform-theme-button:where(:not(.gform-theme-no-framework):not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme--framework .gf_progressbar .percentbar_blue {
    background: var(--bg-orange) !important;
    color: #000 !important;
    font-weight: bold !important;
}

.gform-theme--framework .gform-field-label>.gfield_required:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)), .gform-theme--framework .gform-field-label>.gfield_required:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)) .gfield_required.gfield_required_text {
    color: var(--bg-orange);
}

div.gform_confirmation_message {
  color: #fff;
}

div#input_44_7, 
div#input_52_7 {
    float: none;
    display: flex;
    flex-direction: row-reverse;
    justify-content: center;
}

#page .gfield:not(.gfield--type-hidden) {
    display: flex;
    flex-direction: column;
    justify-content: end;
}

div#gform_fields_44,
div#gform_fields_52 {
    grid-template-areas:
        'star star star star star star star star star star star star'
        'title title title title title title title title title title title title';
}

div#field_44_14, div#field_44_15, div#field_44_16, div#field_44_17, div#field_44_18,
div#field_52_14, div#field_52_15, div#field_52_16, div#field_52_17, div#field_52_18 {
    grid-area: title;
    text-align: center;
}

div#input_44_7.gsurvey-rating label,
div#input_52_7.gsurvey-rating label {
    float: none;
    padding: 31px 52px;
    background-size: 64px;
}

form.post-password-form {
    padding: var(--space-6);
}



/*=======================================
  YouTube Playlist
  =======================================*/
  
  .yt-player-wrap {
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #000;
  border: 0;
  overflow: hidden;
}

.yt-player-wrap iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.yt-playlist {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--space-2);
  background: var(--bg-gray-light);
}

.yt-playlist iframe {
  width: 100%;
  border: 0;
}

.yt-list {
  overflow-y: auto;
  padding-left: var(--space-1);
  aspect-ratio: 6 / 6.8;
}

.yt-item {
  display: flex;
  gap: var(--space-1-5);
  padding: var(--space-1);
  width: 100%;
  background: none;
  border: none;
  cursor: pointer;
  align-items: center;
  text-align: left;
}

.yt-item img {
  width: 106px;
}

.yt-item span {
  font-size: var(--space-1-5);
  line-height: 1.3;
}

.yt-item:hover {
  background: #f5f5f5;
}

.yt-item.active {
  background: #eaeaea;
  font-weight: 600;
}

@media screen and (max-width: 1167px){
    .yt-list {
        aspect-ratio: 6 / 6.8;
    }

    .yt-list img {
        width: 8.7vw;
    }
}

@media (max-width: 768px) {
  .yt-playlist {
		grid-template-columns: 1fr;
  }

  .yt-list {
		max-height: 400px;
		border-left: none;
		padding-left: 0;
		aspect-ratio: auto;
  }
  
  .yt-list img {
		max-height: 675px;
		width: 106px;
    }
}


/* =============================
   BLOG POSTS
   ============================= */

.blog h1.wp-block-heading.has-text-align-left {
    width: 85%;
	max-width: 1200px;
	padding: 0 !important;
    margin-bottom: 0;
}

.wp-block-group.alignfull.blog-posts {
    padding-top: 0 !important;
    padding-bottom: var(--space-4) !important;
}

.blog-post h2 {
    margin-top: 0;
    font-size: var(--space-5) !important;
    margin-bottom: 0;
}

.blog-post .wp-block-post-date.has-small-font-size {
    margin-top: var(--space-2) !important;
    margin-bottom: var(--space-0-5);
}

a.page-numbers {
	padding: var(--space-1);
	margin: 0 var(--space-0-5);
}

span.page-numbers.current {
    border: 1px solid;
    padding: var(--space-1);
	border-radius: var(--space-0-5);
}

.blog-post .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow:first-child {
    position: relative;
    background-color: var(--bg-gray-light);
    background-image: url(https://roofadvisor.com/wp-content/uploads/2021/06/RoofAdvisorLOGO-e1737736992832.png);
    background-repeat: no-repeat;
    background-position: center;
	background-size: 50%;
}

.blog-post .wp-block-column.is-layout-flow.wp-block-column-is-layout-flow img {
    position: absolute;
    top: 0;
    left: 0;
}

.blog-post figure.wp-block-post-featured-image {
    position: static;
}

ul.wp-block-post-template {
    margin-top: var(--space-7);
}

.single-featured {
    position: relative;
}

.taxonomy-category.wp-block-post-terms {
    position: absolute;
    top: 20px;
}

.taxonomy-category.wp-block-post-terms {
    display: flex;
    flex-direction: column;
	align-items: self-start;
}

.taxonomy-category.wp-block-post-terms a {
    background: var(--bg-gray-dark);
    color: var(--bg-orange);
    padding: var(--space-0-5) var(--space-1-5) var(--space-0-5) var(--space-1);
    text-decoration: none;
    display: block;
    font-weight: bold;
    border-radius: 0 var(--space-0-5) var(--space-0-5) 0;
    margin-bottom: var(--space-1);
}

.taxonomy-category.wp-block-post-terms > * {
    display: none;
}

.wp-block-post-author-name + p {
    display: none;
}

.taxonomy-post_tag a {
    background: var(--bg-orange);
    font-weight: bold;
	border-radius: var(--space-0-5);
}

.blog ul.alignfull.wp-block-post-template.is-layout-flow.wp-block-post-template-is-layout-flow + .wp-block-group, .wp-block-group.alignfull.blog-post.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained {
    padding: 0 !important;
}

.blog ul.alignfull.wp-block-post-template.is-layout-flow.wp-block-post-template-is-layout-flow + .wp-block-group + .wp-block-group {
    width: 85%;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: var(--space-5);
}