/*
Theme Name: Prismstonemasonry Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** ADD CUSTOM CSS HERE.   ***************/

.contact-details{
  background:#fdfbf8;
  border:1px solid var(--line);
  border-top:4px solid var(--blue);
  padding:36px 32px;
  height:100%;
}
.contact-details .item{
  display:flex;
  align-items:flex-start;
  gap:14px;
  padding:16px 0;
  border-top:1px solid rgba(20,24,28,0.09);
}
.contact-details .item:first-child{ border-top:none; padding-top:0; }
.contact-details .item svg{
  width:20px; height:20px;
  color:var(--blue);
  flex:0 0 auto;
  margin-top:2px;
}
.contact-details .item strong{
  display:block;
  color:var(--ink);
  font-weight:600;
  margin-bottom:3px;
  font-size:0.95rem;
}
.contact-details .item a,
.contact-details .item span{
  color:var(--slate);
  font-size:0.95rem;
  line-height:1.5;
}
.contact-details .item a{ transition:color 0.2s ease; }
.contact-details .item a:hover{ color:var(--blue); }
.contact-map{
  border:1px solid var(--line);
  line-height:0;
}
.contact-map iframe{ display:block; }


@media only screen and (max-width: 48em) {
/*************** ADD MOBILE ONLY CSS HERE  ***************/


}


:root{
    --ink:#14181c;
    --ink-soft:#272d33;
    --paper:#fcfaf7;
    --paper-dim:#f5f1e9;
    --blue:#06517f;
    --blue-deep:#0a3752;
    --blue-bright:#1478b8;
    --sandstone:#b99569;
    --sandstone-light:#d9c4a0;
    --slate:#4a545d;
    --hero-dark:#221c16;
    --line: rgba(20,24,28,0.14);
    --line-on-dark: rgba(241,236,224,0.18);
    --max: 1180px;
  }

  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}

  h1,h2,h3{
    font-family:'Zilla Slab', serif;
    font-weight:600;
    margin:0;
    letter-spacing:-0.01em;
  }

  .eyebrow{
    font-family:'Space Mono', monospace;
    font-size:0.72rem;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:var(--sandstone);
  }

  .hero h1{
    font-size:clamp(2.5rem, 5.4vw, 4.4rem);
    line-height:1.04;
    color:var(--paper);
  }
  .hero h1 em{
    font-style:italic;
    color:var(--sandstone-light);
    font-weight:500;
  }
  .hero .lede{
    font-size:1.14rem;
    color:rgba(241,236,224,0.78);
    max-width:34ch;
    margin-top:26px;
  }
  .hero-actions{
    display:flex;
    align-items:center;
    gap:26px;
    margin-top:38px;
    flex-wrap:wrap;
  }
  .hero-actions .phone-text{
    font-family:'Space Mono', monospace;
    font-size:0.95rem;
    color:var(--sandstone-light);
  }

  /* Faceted photo frame — real project photography, cut to the prism motif */
  .hero-visual{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-self:center;
    width:100%;
  }
  .hero-visual .facet-ghost{
    position:absolute;
    top:-14px; left:14px;
    width:100%;
    aspect-ratio:1000/1075;
    border:1px solid rgba(217,196,160,0.3);
    clip-path:polygon(52px 0, 100% 0, 100% 100%, 0 100%, 0 52px);
    pointer-events:none;
  }
  .photo-frame{
    position:relative;
    width:100%;
    max-width:940px;
    aspect-ratio:1000/1075;
    filter:drop-shadow(0 34px 46px rgba(0,0,0,0.5));
  }
  .photo-frame .frame-edge{
    position:absolute; inset:0;
    background:linear-gradient(148deg, var(--sandstone-light), var(--blue) 65%);
    clip-path:polygon(52px 0, 100% 0, 100% 100%, 0 100%, 0 52px);
  }
  .photo-frame .frame-photo{
    position:absolute; inset:4px;
    clip-path:polygon(50px 0, 100% 0, 100% 100%, 0 100%, 0 50px);
    overflow:hidden;
    background:var(--hero-dark);
  }
  .photo-frame .frame-photo img{
    width:100%; height:100%;
    object-fit:cover;
    object-position:50% 50%;
    display:block;
  }
  .photo-frame .frame-photo::after{
    content:"";
    position:absolute; inset:0;
    background:linear-gradient(200deg, rgba(6,81,127,0.1), rgba(34,28,22,0) 45%);
  }
  @media(max-width:900px){
    .photo-frame{max-width:420px;}
    .facet-ghost{display:none;}
  }

      .ghost-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 22px;
    border:1px solid rgba(241,236,224,0.45) !important;
    color:var(--paper);
    font-size:0.96rem;
    font-weight:600;
    letter-spacing:0.01em;
    white-space:nowrap;
    transition:border-color 0.2s ease, background 0.2s ease;
  }
  .ghost-btn:hover{
    border-color:var(--paper);
    background:rgba(241,236,224,0.06);
  }
  .outline-btn{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 30px;
    border:1px solid var(--ink) !important;
    color:var(--ink);
    font-size:0.9rem !important;
    font-weight:600;
    letter-spacing:0.03em;
    text-transform:uppercase;
    transition:background 0.2s ease, color 0.2s ease;
  }
  .outline-btn:hover{background:var(--ink); color:var(--paper);}
  .call-btn {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    background: var(--blue);
    color: var(--paper);
    padding: 14px 22px;
    border-radius: 2px;
    font-size: 0.96rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    white-space: nowrap;
    transition: background 0.2s ease;
}
  .call-btn:hover{background:var(--blue-deep);}
  .call-btn svg{width:16px;height:16px;flex-shrink:0;}
  
.email-btn {
    display: inline-flex;
    align-items: center;
    padding: 14px 20px;
    border: 1px solid rgba(241, 236, 224, 0.5) !important;
    font-size: 0.88rem;
    font-weight: 600;
}
.email-btn:hover{border-color:var(--paper);}

 .intro-visual{
    display:flex;
    gap:20px;
  }
  .intro-visual .rule{
    flex:0 0 auto;
    width:3px;
    background:var(--sandstone);
  }
  .intro-visual .photo{
    position:relative;
    flex:1;
    aspect-ratio:4/5;
    overflow:hidden;
    border:1px solid var(--line);
  }
  .intro-visual .photo img{
    width:100%; height:100%;
    object-fit:cover;
    object-position:50% 30%;
    display:block;
  }
  @media(max-width:820px){
    .intro-visual{gap:14px;}
  }

  .service-group{
    position:relative;
    display:flex;
    flex-direction:column;
    background:#fdfbf8;
    border:1px solid var(--line);
    border-top:4px solid var(--blue);
    padding:38px 32px 30px;
    overflow:hidden;
    box-shadow:0 18px 34px -28px rgba(20,24,28,0.45);
  }
  .service-group.cat-preserve{border-top-color:var(--sandstone);}
  .service-group.cat-finish{border-top-color:var(--ink);}

  .service-group .ghost-num{
    position:absolute;
    top:-0.28em; right:-0.05em;
    font-family:'Fraunces', serif;
    font-weight:600;
    font-size:6.4rem;
    line-height:1;
    color:rgba(20,24,28,0.05);
    pointer-events:none;
    user-select:none;
  }

  .service-group .cat-head{
    position:relative;
    z-index:1;
    padding-bottom:22px;
    margin-bottom:22px;
    border-bottom:1px solid rgba(20,24,28,0.12);
  }
  .service-group .cat-label{
    font-family:'Space Mono', monospace;
    font-size:0.7rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--blue);
    display:inline-flex;
    align-items:center;
    gap:8px;
    margin-bottom:12px;
  }
  .service-group.cat-preserve .cat-label{color:#8c6a3c;}
  .service-group.cat-finish .cat-label{color:var(--slate);}
  .service-group .cat-label::before{
    content:"";
    width:7px; height:7px;
    background:currentColor;
    clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
    display:inline-block;
  }
  .service-group h3{
    font-size:1.32rem;
    line-height:1.2;
  }

  .service-group ul{
    position:relative;
    z-index:1;
    list-style:none;
    margin:0; padding:0;
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .service-group li{
    display:flex;
    gap:12px;
    padding:15px 0;
    border-top:1px solid rgba(20,24,28,0.09);
    font-size:0.96rem;
    color:var(--ink-soft);
  }
  .service-group li:first-of-type{border-top:none; padding-top:2px;}
  .service-group li::before{
    content:"";
    flex:0 0 auto;
    width:6px; height:6px;
    margin-top:7px;
    background:var(--sandstone);
    clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  }
  .service-group li > div strong{
    display:block;
    color:var(--ink);
    font-weight:600;
    margin-bottom:3px;
  }
  .service-group li > div span{
    color:var(--slate);
    font-size:0.89rem;
    line-height:1.45;
  }

  .suburb-chips{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
  }
  .suburb-chips span{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-family:'Space Mono', monospace;
    font-size:0.82rem;
    letter-spacing:0.02em;
    padding:9px 16px;
    border-radius:20px;
    border:1px solid var(--line);
    color:var(--ink-soft);
    background:var(--paper);
    transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    cursor:default;
  }
  .suburb-chips span svg{
    width:13px; height:13px !important;
    flex:0 0 auto;
    opacity:0.6;
    transition:opacity 0.2s ease;
  }
  .suburb-chips span:hover{
    background:var(--blue);
    border-color:var(--blue);
    color:var(--paper);
  }
  .suburb-chips span:hover svg{opacity:1;}


 .trust-lines{
    margin-top:34px;
    padding-top:28px;
    border-top:1px solid var(--line-on-dark);
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    gap:28px;
    overflow-x:auto;
  }
  .trust-lines .line{
    display:flex;
    align-items:center;
    gap:9px;
    font-family:'Zilla Slab', serif;
    font-weight:500;
    font-style:italic;
    font-size:clamp(0.92rem,1.3vw,1.15rem);
    line-height:1.3;
    color:var(--sandstone-light);
    white-space:nowrap;
    text-shadow:0 2px 14px rgba(0,0,0,0.6);
    margin:0;
  }
  .trust-lines .line svg{
    flex:0 0 auto;
    width:19px; height:19px;
    stroke:var(--sandstone-light);
    filter:drop-shadow(0 2px 6px rgba(0,0,0,0.5));
  }
  @media(max-width:640px){
    .trust-lines{gap:20px;}
    .trust-lines .line{font-size:0.88rem;}
  }
  .trust-lines .line span{color:var(--paper); font-style:normal; font-weight:600;}


.ghost-num {
    position: absolute;
    top: -0.28em;
    right: -0.05em;
    font-family: 'Fraunces', serif;
    font-weight: 600;
    font-size: 6.4rem;
    line-height: 1;
    color: rgba(20, 24, 28, 0.05);
    pointer-events: none;
    user-select: none;
}
.cat-head {
    position: relative;
    z-index: 1;
    padding-bottom: 22px;
    margin-bottom: 22px;
    border-bottom: 1px solid rgba(20, 24, 28, 0.12);
}
.cat-head h3 {
    font-size: 1.5rem;
    line-height: 1.2;
}
.cat-label {
    font-family: 'Space Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}
.cat-label02 {
  font-family: 'Space Mono', monospace;
    color: #8c6a3c;
    font-size: 0.7rem;
      letter-spacing: 0.14em;
    text-transform: uppercase;
}
.cat-label03 {
  font-family: 'Space Mono', monospace;
   color: var(--slate);
   font-size: 0.7rem;
     letter-spacing: 0.14em;
    text-transform: uppercase;
}

  .service-col ul{
    position:relative;
    z-index:1;
    list-style:none;
    margin:0; padding:0;
    flex:1;
    display:flex;
    flex-direction:column;
  }
  .service-col li{
    display:flex;
    gap:12px;
    padding:15px 0;
    border-top:1px solid rgba(20,24,28,0.09);
    font-size:0.96rem;
    color:var(--ink-soft);
  }
  .service-col li:first-of-type{border-top:none; padding-top:2px;}
  .service-col li::before{
    content:"";
    flex:0 0 auto;
    width:6px; height:6px;
    margin-top:7px;
    background:var(--sandstone);
    clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
  }
  .service-col li > div strong{
    display:block;
    color:var(--ink);
    font-weight:600;
    margin-bottom:3px;
  }
  .service-col li > div span{
    color:var(--slate);
    font-size:0.89rem;
    line-height:1.45;
  }


  /*************** FOOTER CSS HERE  ***************/
.opening-hours span {
    width: auto;
    margin-right: 20px;
}
.footer-2 ul.menu>li:before, .widget>ul>li:before  {
	
	content: "" !important;
}
/* #menu-our-services .widget>ul>li, ul.menu>li {
    display: inline-block;
    width: 48%;
    border-top:none !important;
   
} */


/* icon */
.footer-widgets .textwidget i{margin-right: 5px; font-size: 20px; }
ul.menu>li:before, .widget>ul>li:before {
    font-family: "fl-icons";
    display: inline-block;
    opacity: .6;
    margin-right: 6px;
}

/* icon */
.footer-widgets .textwidget i{width:30px !important; font-size: 20px;  color: #00A8E6;}

.icon-map-pin-fil:before {
    content: "\e009";
}

.icon-phone:before {
    content: "\e600";
}
.icon-envelop:before {
    content: "\e003";
}



#footer .widget-title {
    font-family: 'Space Mono', monospace;
    font-size: 0.7rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--sandstone);
    margin: 0 0 14px;
}
/* .footer-2 h3:after {
    content: "";
    display: block;
    width: 38px;
    height: 3px;
    background: #fff;
    left: 0;
    position: absolute;
} */

/* .footer-2 .widget-title:after {
    content: url(images/hb-line1.png);
    background-color: #111 !important;
    height: 2px;
    left: 0;
    bottom: 10px;
    position: absolute;
} */
#footer ul li a {
   color: rgba(241, 236, 224, 0.6);
    font-size: 0.9rem;;
}
.footer-2 .widget {
    margin-bottom: 1em;
}

.footer-2 .dark .is-divider {
    content: url(images/hb-line1.png);
    background-color: #111 !important;
    height: 3px;
    left: 0;
    bottom: 10px;
    
} 
#footer p{
color: rgba(241, 236, 224, 0.6);
    font-size: 0.9rem;
    display: flex;
}

.footer-2 .col{
    padding: 0 15px 0px;
}
.absolute-footer {
       
    font-size: 0.78rem;
    color: rgba(241, 236, 224, 0.45);
    font-family: 'Space Mono', monospace;
	padding:10px 0 10px 0;
}
.absolute-footer.dark{
 border-top: 1px solid var(--line-on-dark);

}

.footer-secondary {
    padding: 0;
}
#footer .back-to-top i{
    color: #fff !important;
}
#footer .button.is-outline  {
    background: #221C16 !important;
    border: 1px solid #fff !important;
}

/*============== Uni Form ================ */
.uwf-field {
    margin-bottom: -11px !important;
} 
.uwf-field label{
    display: none;
}
.uwf-step-nav .button {
    padding: 5px 20px;
    cursor: pointer;
    border-radius: 4px;
    font-size: 15px;
}
input[type=email], input[type=number], input[type=search], input[type=tel], input[type=text], input[type=url], textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 0;
}

.get_a_quote input[type=email], .get_a_quote input[type=number], .get_a_quote input[type=search], .get_a_quote input[type=tel], .get_a_quote input[type=text], .get_a_quote input[type=date], .get_a_quote input[type=url], .get_a_quote textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin-bottom: 0;
    background: transparent;
    color: #fff;
}

/*============== Gallery Videos ================ */
.video-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.video-item video {
    width: 100%;
    height: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    border-radius: 4px;
    background: #000;
}
@media (max-width: 850px) {
    .video-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 480px) {
    .video-grid {
        grid-template-columns: 1fr;
    }
}
