body,
.editor-styles-wrapper {
  background-color: #fff;
  color: #000;
}
.editor-styles-wrapper h1.wp-block-post-title {
  color: black !important;
}

.wp-block-image img {
  /* WP 6.3 doesn't let this work with "defined" image sizes now */
  height: auto !important;
}

/* better default to use? */
.wp-block-gallery.has-nested-images figure.wp-block-image {
  flex-grow: 0;
}

/* elements that are first remove the owl selector -- talk to visbility selector plugin dev */
.remove-top-margin {
  margin-top: 0 !important;
}

/* TODO: parent theme default? */
.wp-element-button > * {
  vertical-align: middle;
}


/* TODO: remove from parent */
header .wp-block-navigation {
  order: unset;
}
.equal-height-cols>.wp-block-column {
  max-width: none;
}

/* Smoother scrolling on same-page transitions */
/* prefers-reduced-motion for accessability */
@media (prefers-reduced-motion:no-preference) {
  html{
    scroll-behavior: smooth;
  }
}

/* hover transition for all transitionable effects */
.gfield input:is(:hover, :active, :focus),
.gfield select:is(:hover, :active, :focus),
.gfield textarea:is(:hover, :active, :focus),
a,
button{
  transition: var(--wp--custom--transition);
}


/* block social lacks this option */
.wp-block-social-links svg:hover {
  color: var(--wp--preset--color--orange) !important;
}

div h2 a:focus,
div h2 a:hover,
div h3 a:focus,
div h3 a:hover {
  color: var(--wp--preset--color--orange) !important;
}

/* customize */

h1:not([class*='wp-block']),
h2:not([class*='wp-block']),
h3:not([class*='wp-block']) {
  margin-top: 0; /* WC non-block items */
}

p {
  font-weight: 300;
}


/* parent theme override */
.wp-site-blocks .wp-block-group .wp-block-button__link:is(:hover, :active, :focus) {
  background: var(--wp--preset--color--white) !important;
  color: var(--wp--preset--color--red) !important;
  border-color: var(--wp--preset--color--white) !important;
}
.wp-site-blocks .wp-block-group .wp-block-button__link:is(:hover, :active, :focus) img {
  filter: brightness(100);
}


/*--- Gravity Forms customization ---*/
.gform_footer input[type=submit]{
  /* submit button stles */
  padding: 19px 72px!important;
  font-size: 20px!important;
  font-weight: 600!important;
  border-radius: 100px!important;
}

.gfield_label{
  position: absolute;
  transform: translateY(calc(-100% - 4px))!important;
  font-size: 16px;
}

.gfield input, .gfield select, .gfield textarea {
  /* gravity form field styles */
  border: 1px solid #1a1a1a;
  border-radius: 8px;
  margin-bottom: 1.5rem!important;
}

.gform_fields{
  /* Gform field spacing */
  grid-row-gap: 16px!important;
}

.gfield_required{
  /* required label */
}
.gform_required_legend{
  display: none;
}
.gform_wrapper, .gform-footer{
  margin: 0!important;
}

/*--- Gravity Forms customization ---*/
/* .home-form { transform: translateY(-40px)} */
/* .home .hero{overflow: visible;}

.home-form {
  width: 100%;
  max-width: 490px;
  position: absolute;
  top: 0;
  position: relative;
  transform: translateY(calc(50% - 3rem));
  z-index: 1;
}
@media (max-width:781px) {
  .home-form {
    position: relative!important;
    margin: 1rem auto!important;
    transform: unset;
    left: unset;
  }
} */


.home-form .gform-footer input[type=submit]{
  /* submit button stles */
  margin-top: 2rem!important;
  width: 100%!important;
  padding-inline: 12px!important;
  background-color: var(--wp--preset--color--red)!important;
}

.home-form *:is(.gfield input, .gfield select, .gfield textarea) {
  line-height: 1;
  font-size: 18px;
  font-weight: 600;

  padding: 1.5rem 0px;
  margin: 0!important;

  color:rgba(255,255,255,.8);
  background-color: transparent;
  border: none;
  border-radius: 0;
  border-bottom: 1px solid rgba(255,255,255,.8);
}
.home-form *:is(.gfield input, .gfield select, .gfield textarea):is(:hover,:active,:focus) {
  color: rgba(255,255,255,1);
  border-color: rgba(255,255,255,1);
}

.home-form .gfield select {
  padding: 0px!important;
  height: 3rem;
  /* height: 3rem; */
  line-height: 3rem;

  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url('/wp-content/uploads/2025/05/dropdown-arrow.svg');
  background-size: 15px 9px;
}
.home-form .gfield select option{
  background-color: black;
  padding: 1.5rem 0px;
}


.home-form .gform_fields{
  /* Gform field spacing */
  grid-row-gap: 24px!important;
}

/* Popup form functionality */
/* button */
.popup-form {
  gap: 0;
  top: 0%;
  left: 0%;
  position: absolute;
  max-width: 450px;

  overflow: hidden;
  transition: 
    margin-top .65s ease-in-out, 
    top .65s ease-in-out, 
    box-shadow .35s ease-in-out,
    background-color .35s ease-in-out;

}

/* toggle button */
#toggle-form {
  transition: border-radius 0.6s ease;
}
.popup-form:not(.active) #toggle-form {
  border-radius: 0 0 40px 40px!important;
  transition-delay: 0.6s; /* match popup-form duration */
}
.popup-form.active #toggle-form {
  border-radius: 0!important;
  transition-delay: 0s;
}

/* Content */
.popup-form .content {
  max-height: 0!important;
  padding-top: 0!important;
  padding-bottom: 0!important;
  overflow: hidden!important;

  transition:
    max-height .75s ease-in-out,
    padding .75s ease-in-out;
}

/* closed */
.popup-form:not(.active) .content {
  transition-delay: 0s;
}

/* open */
.popup-form.active .content {
  max-height: 600px!important;
  padding-top: 18px!important;
  padding-bottom: 18px!important;

  transition-delay: 0.25s; /* after toggle-form finishes */
}




/* Gutenberg missing features */



/* classes to use (that aren't BlockStyles) */
/* Red bullet lists */
.wp-block-list li{
  list-style:disc!important;
  margin-left: 25px;
}
.wp-block-list li:not(:last-child) {
  margin-bottom: .5rem;
}
.wp-block-list li::marker{
  color:var(--wp--preset--color--red);
  font-size: 28px;
  line-height: 1;
}

@media (min-width:781px) {
  .wp-block-list.horizontal{
  display: flex;
  gap: 2rem;}
}


strong {font-weight: 700;}

/* card styles on services pages */
.card-main{
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.05);
  -webkit-box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.05);
  -moz-box-shadow: 0px 5px 6px 0px rgba(0,0,0,0.05);
}
.card-main:is(:hover,:active,:focos) {
  box-shadow: none;
  -webkit-box-shadow:none;
  -moz-box-shadow:none;
}
.read-more::after{
  content: '';
  display: inline-block;
  width: 8px;
  height: 18px;
  margin-left: .5rem;

  background-image: url('/wp-content/uploads/2025/05/Read-More-Chevron-Icon.svg');
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: 100%;
}

/* red heading underlines */
.heading-underline{position: relative;}
.heading-underline::after{
  content: '';
  width: 74px;
  height: 8px;
  display: block;
  background-color: var(--wp--preset--color--red);
  margin: auto;
  margin-top: 1rem;
}

/* black underline */
.black-underline{position: relative;}
.black-underline::after{
  content: '';
  width: 50px;
  height: 4px;
  display: block;
  background-color: #002866;

  margin-top: 1rem;
  margin-bottom: 1rem;
}

/* image below overhange */
@media (min-width:1340px) {
  .transpose-down{
    position: absolute;
    max-width: 30%;
    z-index: 1;
    height: calc(100% + 2rem);
  }
  .trim-bottom figure.wp-block-image img{
    height: 100%!important;
  }
}

/* Home page */
@media(max-width:450px) {
  .service-cards {
    grid-template-columns: repeat(1, minmax(0, 1fr))!important;
  }
  .service-cards > *:nth-child(even){
    background-color: #f5f5f5!important;
  }
  .service-cards > *:nth-child(odd){
    background-color: #fff!important;
  }

}

@media(max-width:781px) {
  .service-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .service-cards > *:not(:first-child,:last-child) {
    background-color: #f1f1f1;
  }
}
@media(min-width:781px) {
  .service-cards > *:nth-child(even){
    background-color: #f5f5f5;
  }
  .service-cards > *:last-child{
    border-right: 1px solid #d2d2d2!important;
    
  }
}

/* list style */
.scroll-follow{
  top: 30vh;
}
@media (max-width:781px) {
  .vertical-content{
    padding-left: 1.5rem;
  }
}
.vertical-content > * p {position: relative;}
.vertical-content > * p::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.vertical-content > * p:first-child::before{
  height: 14px; aspect-ratio: 1;
  top: 50%;
  transform: translate(-1.85rem, -50%);
  background-color: var(--wp--preset--color--red);
  border-radius: 50%;
}
.vertical-content > *:not(:last-child) p:last-child::before{
  height: calc(100% + 4.5rem);
  width: 14px;
  transform: translate(calc(-1.85rem + 50% - 2px), -1.5rem);
  border-left: rgba(255,255,255,.4) 2px dashed;
}

