/*
 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
*/
.service-option-container {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.3s ease;
  height: auto;
  min-height: 130px; /* optional minimum height */
}

.service-option-container h4 {
  transition: transform 0.3s ease;
  margin-bottom: 0; /* we'll space it with p */
}

.service-option-container p {
  visibility: hidden;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
  margin-top: 20px;
  max-height: 0;
}

.service-option-container:hover h4 {
  color: var(--orange-highlight);
}

.service-option-container:hover p {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
  max-height: 150px; /* allow space to grow in */
}

.serviced-brands img {
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.serviced-brands:hover img {
  filter: grayscale(0%);
}

.brand-container-style1::before,
.brand-container-style1::after {
  content: "";
  position: absolute;
  background: #eee;
  z-index: 1;
}

/* Right border - centered vertically */
.brand-container-style1::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 80%; /* or 100% if you want full height */
  width: 1px;
  background: #eee;
}

/* Bottom border - centered horizontally */
.brand-container-style1::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 80%; /* or 100% for full width */
  height: 1px;
  background: #eee;
}

/* Hide right border on 3rd and 6th items */
.brand-container-style1:nth-child(3)::before,
.brand-container-style1:nth-child(6)::before {
  display: none;
}

/* Hide bottom border for last row */
.brand-container-style1:nth-child(n+4)::after {
  display: none;
}

.brand-container-style1 {
	position:relative;
  box-sizing: border-box;
}

@media (max-width: 767px) {
  .brand-container-style1::before,
  .brand-container-style1::after,
  .brand-container-style2::after{
    display: none;
  }
}

/* Tablet: 601px–800px */
@media (max-width: 800px) and (min-width: 601px) {
  .decking-par-text {
    font-size: 1.8em !important;
    text-shadow: 3px 2px 1.5px rgba(0, 0, 0, 1) !important;
  }
}

/* Small tablets & large phones: 451px–600px */
@media (max-width: 600px) and (min-width: 451px) {
  .decking-par-text {
    font-size: 1.4em !important;
    text-shadow: 2px 1.6px 1.2px rgba(0, 0, 0, 1) !important;
  }
}

/* Phones: 300px–450px */
@media (max-width: 450px) and (min-width: 300px) {
  .decking-par-text {
    font-size: 1em !important;
    text-shadow: 1.5px 1.2px 1px rgba(0, 0, 0, 1) !important;
  }
}

body.safari-only .parallax-background {
  will-change: transform;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.portfolio-frame-wrapper:hover + h4 {
  color: var(--orange-highlight);
}

.contact-details a:link, .nav-phone a:link{
	text-decoration:none;
}

.gform-field-label{
	display:none;
}

.gform_title{
	display:none;
}

.gform_submission_error, .gform_confirmation_message{
	color:var(--orange-highlight)!important;
	font-size:1em!important;
	font-weight:600!important;
}

.font-one{
	font-family:"My Font One"!important;
}

.gform_button:hover{
	background-color:rgba(254, 97, 89, .9)!important;
}

#gform_1{
	display: flex;
    flex-direction: column;
    align-items: center;
	width:100%;
	max-width:600px;
}

#gform_1 input{
	width:100%;
	margin-bottom:10px;
}

#gform_1 input, #gform_1 textarea{
    border: 2px solid #ffffff;
	font-size:1em;
	padding:20px!important;
	font-family: "Oxygen";
}

#gform_submit_button_1,.gform_button{
	width:100%;
	min-width:200px;
	max-width:350px;
	background-color:var(--orange-highlight)!important;
	margin:auto;
	border-radius:4px;
	margin-top:20px;
	font-family: "My Font One"!important;
}

#gform_1 input:focus, #gform_1 textarea:focus, #gform_1 input:hover, #gform_1 textarea:hover{
    border: 2px solid var(--orange-highlight) !important;
    box-shadow: 0 0 3px .1px var(--orange-highlight) !important;
    outline: none;
}

.gfield_label,.gfield_description{
	display:none!important;
}

.header-scrolled {
  display: none;
}

.header-at-top,
.header-scrolled {
  transition: all 0.3s ease;
}

.header-scrolled .page-nav a {
  color: inherit;
  transition: color 0.3s ease;
}

.gb-element-25193b1f a.active {
  color: #fe6159 !important;
  transition: color 0.3s ease;
}

.gform-theme--foundation .gform_fields{
	grid-row-gap:10px!important;
}

.gform-theme--framework .gform_validation_errors {
    background-color: var(--orange-highlight)!important;
    border: var(--orange-highlight)!important;
	color:#ffffff!important;
	font-weight:bold!important;
    border-radius: var(--gf-form-validation-radius);
    box-shadow: var(--gf-form-validation-shadow);
    display: flex;
    flex-direction: column;
    gap: var(--gf-form-validation-gap);
    margin-block: var(--gf-form-validation-margin-y);
    padding-block: var(--gf-form-validation-padding-y);
    padding-inline: var(--gf-form-validation-padding-x);
}

@media (min-width: 910px) {
	.canvas-toggle{
		display: none !important;
	}
}

@media (max-width: 910px) {
  .page-nav {
    display: none !important;
  }
	.canvas-toggle{
		display: flex !important;
	}
}

@media (max-width: 439px) {
	.nav-phone-container{
		display:none!important;
	}
}

@media (max-width: 939px) {
  .portfolio-grid {
    grid-template-columns: repeat(2, 1fr)!important; /* 2 per row on screens < 940px */
  }
}

@media (max-width: 599px) {
  .portfolio-grid {
    grid-template-columns: 1fr!important; /* 1 per row on very small screens */
  }
}

.portfolio-menu-item{
	flex-grow:0!important;
}

/* Make the modal background darker */
.hystmodal__window.lightbox-modal {
  background: transparent;
  box-shadow: none;
  padding: 0;
  max-width: 90%;
  max-height: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* Style the modal image */
.hystmodal__window.lightbox-modal img {
  max-width: 100%;
  max-height: 100%;
  border-radius: 6px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
  display: block;
}

/* Style the close button */
.hystmodal__close {
  position: absolute;
  top: 20px;
  right: 25px;
  background: none;
  color: white;
  font-size: 2rem;
  border: none;
  cursor: pointer;
  z-index: 9999;
  text-shadow: 0 0 5px black;
}

/* Dark overlay effect */
.hystmodal__wrap {
  background-color: rgba(0, 0, 0, 0.85);
  display: flex;
  justify-content: center;
  align-items: center;
}

.portfolio-frame-wrapper {
  cursor: pointer;
  transition: transform 0.2s ease;
}
.portfolio-frame-wrapper:hover {
  transform: scale(1.02);
}

.hystmodal__close .gb-shape:hover{
	background:rgba(255,255,255,.8);
	padding:5px;
	border-radius:3px;
}

.hystmodal__close .gb-shape{
	padding:5px;
	border-radius:3px;
}
