/*
 * Theme Name: Imaginal Marketing Group
 * Description: Imaginal Marketing Group's custom theme based on Tailwind
 * Author: IMPP
 * Author URI: https://www.imaginalmarketing.com
 * Version: 1.01
*/
@font-face {
  font-family: 'Billy-Ohio';
 src: url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.eot');
    src: url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.eot?#iefix') format('embedded-opentype'),
         url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.woff2') format('woff2'),
         url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.woff') format('woff'),
         url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.ttf')  format('truetype'),
         url('/wp-content/themes/ph-base-tailwind/assets/fonts/Billy-Ohio.svg#Billy Ohio') format('svg');
}
:root {
  --primary: #8A9167;
  --primary-lgt: hsl(70, 17%, 59%);
  --primary-dk:hsl(70, 17%, 39%);
  --secondary: #C1441E;
  --bg-body: #f5f0e1;
  --font-color: #8A9167;
  --font: "gotham", sans-serif;
  --script: 'Billy-Ohio', sans-serif !important;
  --transition: all 0.3s ease-in-out;
  --color-primary: #C1441E;
}

/*WOOCOMMERCE*/

body.woocommerce-page main#main{
	padding: 1rem;
}
body.woocommerce-page #sidebar{display:none;}
body.woocommerce-page main#main .shop-filters select, table.variations select{border: 1px solid var(--primary);max-width: 200px;padding-left: 3px}
body.woocommerce-page main#main input[type=search]{border: 1px solid var(--primary);max-width: 200px}
body.woocommerce-page main#main button[type=submit], .dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit{border: 1px solid var(--primary);max-width: 180px; max-height: 38px;height: 38px;background-color: transparent;color: var(--primary);font-weight: 400;text-shadow: none;padding: 7px;min-height: 38px;}
.dgwt-wcas-sf-wrapp{display:grid; grid-template-columns: 1fr;max-width: 300px;margin-bottom: .5rem;}
.dgwt-wcas-sf-wrapp .dgwt-wcas-search-submit:before{border-width: 0;border-color: transparent;}
.dgwt-wcas-search-wrapp{height: auto; max-height: unset;min-height: unset;}
.woocommerce .woocommerce-ordering{margin: 0 0 .5rem 0 !important;}
.woocommerce .woocommerce-ordering, .woocommerce-page .woocommerce-ordering{float:none;}
.dgwt-wcas-search-form{display:flex; justify-content:flex-start;margin-bottom: 1rem;}
.shop-filters{width: 100% !important;}
@media (max-width: 63.9375em){
	.woocommerce ul.products{
		display:grid;
		grid-template-columns: 1fr 1fr; 
  		gap: 10px;
	}
	.woocommerce ul.products li{width: 100%;}
	 .shop-filters{grid-column: 1 / -1 !important;width: 100% !important; margin:0 !important; }
	.woocommerce ul.products[class*=columns-] li.product:nth-child(2n), .woocommerce-page ul.products[class*=columns-] li.product:nth-child(2n){
		float:none;width: 100%;
	}
	.woocommerce ul.products[class*=columns-] li.product, .woocommerce-page ul.products[class*=columns-] li.product{
		float:none;width: 100%;
	}
}
@media (min-width: 64em){
	.shop-filters{display:flex;justify-content:space-between; max-width: 400px;}
	.dgwt-wcas-search-wrapp, .dgwt-wcas-sf-wrapp{margin: 0 auto 0 0 !important;}
	
	body.woocommerce-page main#main{
	padding: 1rem;
		max-width: 1200px;
		margin: 0 auto;
}
}

.shop-filter{
	display:grid;
	margin-bottom: 2rem;
}

body.woocommerce #promos a.button{
	    padding: .25rem 1.5rem;
    color: var(--bg-body) !important;
    display: inline-block;
    text-transform: uppercase;
    font-size: 1rem;
    text-decoration: none;
    border: 2px solid var(--bg-body);
    border-radius: 3rem;
    transition: all .3s 
ease-in-out;
    cursor: pointer;
	
}
body.woocommerce #promos a.button:visited{
	color: var(--bg-body) !important;
}
body.woocommerce #promos a.button:hover{
	    background-color: var(--primary);
    color: var(--bg-body) !important;
    border: 2px solid var(--primary);
}

@media (min-width: 40em){
	.shop-filter{
		display:grid;
		margin-bottom: 2rem;
		grid-template-columns: repeat(3, 1fr);
	}
}
body:not(.home) main h2{
	color: var(--primary) !important;
}
.pum-content ul{
	list-style: disc !important;
}
.pum-content ul li{
	line-height: 1.6;
	margin-left: 1.5rem;
}

.gform-theme input[type=submit], .gform-theme input[type=submit]:visited, .gform-theme button[type=button], .gform-theme button[type=button]:visited{
  padding: 0.25rem 1.5rem !important;
	background-color: transparent !important;
  color: var(--primary) !important;
  display: inline-block !important;
  text-transform: uppercase !important;
  font-size: 1rem !important;
  text-decoration: none !important;
  border: 2px solid var(--primary) !important;
  border-radius: 3rem !important;
  transition: var(--transition) !important;
  cursor: pointer;
}

.gform-theme input[type=submit]:hover, .gform-theme button[type=button]:hover{
	background-color: var(--secondary) !important;
    color: var(--bg-body) !important;
}

#intro .intro-inner #intro-title h2{
	font-size: 4.5rem !important;
}
header #heroimage .swiper-slide .slide_text h2{
	font-family: var(--font) !important;
	font-size: 1.5rem !important;
	font-weight: 500;
	text-transform: uppercase !important;
}
@media (min-width: 40em){
	header #heroimage .swiper-slide .slide_text h2{
		font-size: 3rem !important;
	}
}
@media (min-width: 64em){
	header #heroimage .swiper-slide .slide_text h2{ font-size: 4.5rem !important; }
}

.button-white{
	color:#fff !important;
}
#promos .promo-nav-pills button:visited{ 
	color:  var(--primary) !important;
	background-color: var(--bg-body) !important;
}
#promos .promo-nav-pills button:hover{ 
	color:  var(--bg-body) !important;
	background-color: var(--secondary) !important;
	
}
#promos .promo-nav-pills button:active{
	color:  var(--bg-body) !important;
	background-color: var(--secondary) !important;
	
}
#promos .promo-nav-pills button:focus{ 
	color:  var(--bg-body) !important;
	background-color: var(--secondary) !important;
	
}

body:not(.home) main h1{
	font-family: var(--font);
	text-transform: uppercase;
	font-size: 2.25rem !important;
}
body.search main#content article{
	padding-bottom: 2rem;
	border-bottom: 1px solid var(--primary);
	margin-bottom: 2rem;
	padding-left: 0;
}
header #top-bar .inner #nav-wrapper nav ul li.cta>a{
	border: 1px solid var(--primary);
}
#intro .intro-inner .menu-services-homepage-container #menu-services-homepage li>a{
	margin: 1rem 0;
}
@media (min-width: 1024px) {
	header #heroimage .swiper-slide .slide_text .button{
		font-size: 1.25rem;
	}
    main#content:not(.home) article {
        flex: 10;
    }
	main#content:not(.home) aside {
    flex: 4;
}
	#intro .intro-inner .section__line{
		height: 11%;
	}
}
#promos .swiper-slide .promo_text .button{
	letter-spacing: 2px;
}
#promos .swiper-slide .promo_text .button:hover, #promos .swiper-slide .promo_text .button:active, #promos .swiper-slide .promo_text .button:focus{
	color: var(--bg-body) !important;
}

@media (min-width: 1300px){
	#intro .intro-inner .section__line, #intro .intro-inner .section__line-after{
		height: 13%;
	}
	
}

#promos .swiper-slide .promo_text p{
	font-size: 1.2rem;
	letter-spacing: 2px;
}
hr{
	margin-top: 2rem;
	margin-bottom: 1.5rem;
}

p:has(+ul), p:has(+ol) {
    margin-bottom: .5rem;
}

@media (min-width: 40em){
	body.singleaside#sidenav{display:none;
		
	}
	body:not(.home) main h1{
	font-size: 3rem !important;
}
	body.single-post main h1{font-size: 2.5rem !important;}

}


/************/
#faqs{}

#faqs > div > div{
	border: 2px solid var(--primary) !important;
}
#faqs > div > div p{
	color: var(--primary);
}
#faqs button:hover{
	background-color: var(--secondary);
	color: #fff;
}
#promos .promo-box .promo-nav-pills button:active span, #promos .promo-box .promo-nav-pills button:hover span, #promos .promo-nav-pills .promo-box  button:focus span{
	background-color: var(--secondary) !important;
                color: var(--bg-body) !important;
}
#mobile-nav {
justify-content:center;
align-items:center;
}


#sidenav ul li {
text-align: right;
}

#sidenav ul li a {
    text-transform: uppercase;
	font-size: 1rem;
	text-align: right;
	justify-content: flex-end;
}

#sidenav ul.is_sidenav li a {
align-items:baseline;
}

#sidenav ul.is_sidenav li a:hover {
color: #B8BE14 !important;
}

/* sidenav blog */
#sidenav .blog-sidebar-item ul li{
	text-align:center !important;
}

#nav-main .button.nav-cta > a{
	  background-color: #B8BE14;
    color: rgb(29, 29, 29);
    display: inline-block;
    text-transform: uppercase;
    font-size: 1.1rem;
    font-weight: normal;
    letter-spacing: 0.1rem;
    cursor: pointer;
    width: 100%;
    border-width: 0;
    border-style: solid;
    border-color: #00AEEF;
    border-image: initial;
    padding: 0.5rem 1rem !important;
    margin: 0.7rem 0px;
    text-decoration: none;
    border-radius: 3rem;
}

#nav-main .button.nav-cta > a:hover {
	background-color: #5B315E;
  color: #fff !important;
}

#nav-main .font-bold > a {
  font-weight: 700 !important;
}

#blog-posts .entry-content > div > a.button {
display:inline-block;
/* margin-top: 2rem; */
}

h2,h3,h4,h5,h6 {
text-transform: uppercase;
}

p {letter-spacing: normal;}
.serv_wrapper .serv_subcat_disclaimer {
    margin-top: 50px;
    margin-bottom: 50px;
}

   .reveal-image {
        display: block;
       max-width: 100%; 
       height: auto;
       clip-path: inset(50% 0% 50% 0%); 
       transition: clip-path 1.5s ease-out; 
     }
    
  .reveal-image.is-visible {
        clip-path: inset(0% 0% 0% 0%); 
   }
ul#menu-services-homepage{
	padding-left: 0;
}
 .slide_text_inner,
 #intro-title,
 .promo_title,
 #sub-footer-title{
    font-size: 3rem;
    white-space: nowrap;
    overflow: visible;
    opacity: 1;
    padding: 0 ; /* padding to allow gradient fade outside */
    -webkit-mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 15%,
      black 85%,
      transparent 100%
    );
    mask-image: linear-gradient(
      to right,
      transparent 0%,
      black 15%,
      black 85%,
      transparent 100%
    );
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-size: 0% 100%;
    mask-size: 0% 100%;
    animation-fill-mode: forwards;
    transition: padding 0.3s ease;
  }

  .slide_text_inner.is-visible,
  #intro-title.is-visible,
  .promo_title.is-visible,
  #sub-footer-title.is-visible{
    animation: maskwipe 3s steps(60, end) forwards;
  }
#intro-title,
 .promo_title,
#sub-footer-title{
	text-align:center;
}

@media (min-width: 40em){
	#intro-title,
 .promo_title,
	#sub-footer-title{text-align:right; padding:0;}
}
  /* Remove mask and padding after animation ends */
/* 
  .slide_text_inner.is-visible.final,
  #intro-title.is-visible.final,
  .promo_title.is-visible.final,
  #sub-footer-title.is-visible.final{
    -webkit-mask-image: none;
    mask-image: none;
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    opacity: 1;
    padding-left: 0;
    padding-right: 0;
  } */

  @keyframes maskwipe {
    from {
      -webkit-mask-size: 0% 100%;
      mask-size: 0% 100%;
    }
    to {
      -webkit-mask-size: 120% 100%;
      mask-size: 120% 100%;
    }
  }


body.blog article.tease-post{
  margin-bottom: 2.5rem;
}

article.post-type-post > img{
	width: 100% !important;
	height: auto!important;
}

 .gform_fileupload_rules{ font-weight: bold; }
 
.gform_wrapper.gravity-theme .gform_drop_area{
    display: flex;
    justify-content: center;
    align-items: center;
		flex-direction:column;
    width: 100%;
    padding: 2rem;
    text-align: center;
    background-color: #A3BD00;
	background-color: #fff;
    border: 1px dashed #888;
    border-radius: 4px;
    margin: 0!important;
 }


#sidebar h4{
  text-align: center !important;
}

body.single img.featured-img{
	max-width: 600px;
}

@media screen and (max-width: 39.9375em){
	body:not(.home).category header.header #headerimage{background-position: center !important;}
	body.blog header.header #headerimage{
  background-position: right 30% center !important;
}
	body.home .swiper-wrapper{
		aspect-ratio: 1/1.6;
		height: auto;
	}
	#faqs button svg{
		width: 10%;
	}
	#faqs button span{width: 85%;}
}

main#content #mobile-subnav ul li.current-menu-item>a{
    font-weight: 500;
    position: relative;
}


main#content #mobile-subnav ul li a {
    text-align: center;
    text-transform: uppercase;
    font-size: 1.1rem;
    text-decoration: none;
    padding: .25rem;
    color: var(--bg-body);
    display: block;
    position: relative;
}

main#content #mobile-subnav ul{
	    padding: 0;
    margin: 0;
    background-color: var(--primary);
    padding-top: .5rem;
    padding-bottom: .5rem;
}
body.single-locations #headerimage{

    background-position: center left 5% !important;
}
/* 
#lastMinute h1 {
	font-size:15px!important;
} */

/* @media screen and (max-width: 39.9375em){
  #sidebar ul, #sidebar ul li{ margin-left: 0; }
}


@media screen and (max-width: 768px){
  #heroimage .slide_text_inner {
  	padding:0!important;
  }
  
  h1{
	line-height: 5.2rem;
	font-size:5rem;
	}
}
 */
/* 
@media screen and (max-width: 1024px){
  #sub-footer-title {
  	padding:0!important;
	white-space:wrap;
	width:100%;
  }
  
  #sub-footer-title h2 {
  	font-size: 4rem !important;
    text-align: center;
    display: block;
    width: 100%;
  }
}

 @media screen and (max-width: 480px) {
	 #lastMinute {bottom:100px !important;}
	 #im-sms-wrap {height:100px !important;}
} */
/* 
@media (min-width: 480px) {
	#lastMinute {
	  /* left: unset !important; */
	   /*right: 24px !important; */
	  /* bottom: 130px !important; */
	  left: 24px;
	  bottom: 5px !important;
	}
	
	.close-btn {
        display: block !important;
        position: absolute;
        left: 5px;
        top: 5px;
        color: #fff;
		cursor: pointer;
    }
}

 */
/* 
@media (min-width: 1024px) {
    main#content:not(.home) article {
        width: 70%;
    }
	
	    main#content:not(.home) aside {
        width: 25%;
    }
}

 */

/*To replace blog header
body.blog header.header #headerimage, body.single-post header.header #headerimage, body.category header.header #headerimage, body.search header.header #headerimage, body.archive header.header #headerimage  {
    background-position: left 55% center !important;
	background-image: url(/wp-content/uploads/2025/09/25-37493228126-InteriorHeader-P1-11.webp) !important;
}*/

body.single-post header.header #headerimage, body.archive.category header.header #headerimage, body.archive header.header #headerimage, body.search header.header #headerimage{
    background-position: center left 30% !important;
	background-image: url(/wp-content/uploads/2025/06/gift_cards_header.jpg) !important;
} 
body.single-post header.header #headerimage:after, body.archive header.header #headerimage:after, body.search header.header #headerimage:after, body.blog #headerimage:after{
content: '';
      width: 100%;
      height: 180px;
      position: absolute;
      top: 0;
      left: 0;
      background: linear-gradient(180deg, rgb(0 0 0 / 0.95), rgb(0 0 0 / 0));
      z-index: 5;
}

body.blog main#content #sidenav, body.single-post main#content #sidenav, body.archive main#content #sidenav, body.search main#content #sidenav{
	padding-left: 10%;
}

#sidenav .blog-sidebar-item ul li{list-style:none;}
@media (min-width: 64em){

	body.single main#content:not(.home) article.single-post, #blog-posts, body.search main#content:not(.home) article.single-post, body.archive main#content:not(.home) article.single-post, body.category main#content:not(.home) article.single-post{padding-left: 4rem !important;}
	
	#heroimage.swiper{padding-top: 40px !important;}
	body.archive main#content:not(.home) article, body.blog main#content:not(.home) article, body.single main#content:not(.home) article{ padding-left: 0 !important; }
}