/*
Theme Name: Barbeques Galore Rockhampton
Theme URL: https://www.bbqrockhampton.com.au
Author: Adz Power Agencies
Author URI: http://www.adzpower.com.au
 
/*****  Wordpress Generic  *****/

ol, ul{list-style:none;}

.clear{clear: both;}

*{margin:0;padding:0;}

img{border:none;padding:0;}

img a{border:none;}

img.left{float:left;border:none;padding:6px 0 0 0;}

img.right{float:right;border:none;padding:0 0 0 6px;}

img.centered{display:block;margin-left:auto;margin-right:auto;}

img.alignright{padding:4px;margin:0 0 2px 7px;display:inline;}

img.alignleft{padding:4px;margin:0 7px 2px 0;display:inline;}

main img{max-width:100%;height:auto;}

.alignright{float:right;}

.alignleft{float:left}

.aligncenter{display:block;margin-left:auto;margin-right:auto;}

a{text-decoration:none;}

.grecaptcha-badge{visibility: collapse !important;}
blockquote{
  font-size: 1.4em;
  width:60%;
  margin:50px auto;
  font-family:"Archivo", sans-serif;
  font-style:italic;
  color: #555555;
  padding:1.2em 30px 1.2em 75px;
  border-left:8px solid #fff;
  line-height:1.6;
  position: relative;
  background:#EDEDED;
}

blockquote::before{
  font-family:Arial;
  content: "\201C";
  color:#fff;
  font-size:4em;
  position: absolute;
  left: 10px;
  top:-10px;
}

blockquote::after{
  font-family:Arial;
  content: "\201D";
  color:#fff;
  font-size:4em;
  position: absolute;
  right: 10px;
  top:50%;
}


@media all and (max-width: 700px){.entry p, ul.nav li {-webkit-text-size-adjust: 100%;}}

/*****  General  *****/	

body{font-family: "Archivo", sans-serif;overflow-x:hidden;font-weight:400; background-color: #fff; height: 100%; margin:0; padding:0; }

.legends {background-color: #000; background-image: url("images/legends-bar-rockhampton.jpg")!important; background-size: cover; background-attachment: fixed; background-position:center 30%;}

h1 {color:#000;font-size:32px;font-weight:400;padding-bottom:25px; margin-top:30px; font-family:"Anton", sans-serif; letter-spacing: 0.75px; line-height: 105%; }

h2{color:#000;font-size:25px;font-weight:400;padding-bottom:20px; margin-top:30px;line-height:115%; font-family:"Anton", sans-serif; letter-spacing: 0.75px; }

h3{color:#000;font-size:22px;font-weight:400;margin-top:5px; margin-left: auto!important; margin-bottom: 25px; margin-right: auto!important;padding:20px 0;line-height:145%;width:100%;box-sizing:border-box;}

h3 strong{ color:rgba(173,173,173,1.00);}

h4{color:#000;font-size:20px;font-weight:600;padding-bottom:20px;position:relative;line-height:145%;}

p {font-family:"Hanken Grotesk", sans-serif; color:#000;}

.max-width1400 {margin-left:auto; margin-right:auto; max-width:1400px;}

@media all and (max-width: 900px){	

h1 {padding-bottom:20px;margin-bottom:20px;}
	
h2{font-size:34px;}
	
	p {line-height: 150%; padding-bottom: 15px;}
	
}

/*****  Header  *****/

.header-wrap {
	padding-bottom: 30px; height:100%; position: relative;
}

.header-wrap2 {
	padding-bottom: 30px; height:160px; position: relative;
}
header{width:100%;padding:0 ;box-sizing:border-box;z-index:100;}

.header-inner {background-color:#d60000; width:100%; max-height: 170px; box-sizing:border-box; padding:15px 2%;justify-content:space-between;margin:0 auto;position:relative;}
.header-inner-menu {background-color:#24222a; width:100%; max-height: 55px; box-sizing:border-box; padding:15px 2%;justify-content:space-between;margin:0 auto;position:relative;}

.desktop-head{width:100%; max-height: 120px; box-sizing:border-box; padding:0px 2% 15px 2%;justify-content:space-between;margin:0 auto;position:relative;}

.header-logo1{ padding:0;display:none; overflow: visible;}

.desktop-head {display:flex;min-height: 155px;}
.header-logo{flex:1;display:inline; overflow: visible; min-height: 155px;}
.header-logo img{width:100%;max-width:230px;height:auto;border-bottom:none; overflow: visible; padding-bottom: 10px;}
.book-online {position:relative;}
.book-online a {color:#fff; font-size: 20px; line-height: 120%; font-weight: 600; padding-left:30px;}
.book-online img {position:absolute; top:5px;}

.rocky {flex:1; color:#fff;  padding-top:45px; font-size:25px;}

@media all and (max-width: 1200px){	
	
header{min-height: 131px;background-color:#d60000;}
	
.header-inner{align-items:center;background-color:#d60000; padding-bottom:7px;}
	
.header-logo{display:inline;padding:0;}
	
.desktop-head .header-logo{display:none;}
	.header-logo1{display:block; padding-bottom:10px; float: right;}	
}

@media all and (max-width: 900px){	
	.header-inner{background-color:#d60000; padding-bottom:7px;}
@media all and (max-width: 800px){	
	
}
.header-logo1{ display:block; padding-bottom:10px;}
	.header-logo1 img {max-width:100%; height: auto;}
	
}

/*****  Navigation  *****/

ul.header-contact{display:flex;align-items:center;position:relative;z-index:100;}

ul.header-contact li{padding:0 15px; text-align: right;}

ul.header-contact li:first-child{padding-left:0;}

ul.header-contact li:last-child{padding-right:0;}

ul.header-contact li img{width:25px;height:auto;transition:.2s;filter: invert(1) brightness(2);}

ul.header-contact li img:hover{opacity:0.7;}


@media all and (min-width: 1200px){
	
nav > ul{display:flex;height:100%; justify-content: center; text-align: center;}

nav ul li{font-size:20px;font-weight:400;display:flex;margin:0;}

nav ul li:first-child{margin-left:0;}	
	
nav ul li:last-child{margin-right:0;}
	
nav ul li:hover > a{color:rgba(189,189,189,1.00);}

nav ul li a{color:#fff;transition:.2s;position:relative;z-index:100;font-size:15px;box-sizing:border-box;padding:3px 17px;display:flex;align-items:center;grid-gap:7px; font-weight: 300; text-transform: uppercase; letter-spacing: 1px;}
	
nav ul li.page_item_has_children > a:after{font-family: "FontAwesome";content: "\f107";font-size:13px;padding-bottom:2px;}	
	
/**nav ul li.current_page_item a{background:white;color:#191919;border-bottom:3px solid #191919;padding-bottom:0;}	**/

.menu-burger, .nav-overlay, .close-btn{display:none;}	
	
nav ul li:hover > ul{visibility:visible;opacity:1;}

nav ul li:hover > ul li{height:60px;}	
	
nav ul li ul{position:absolute;top:100%;left:0;margin:0;padding:20px 0;display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:20px;padding-right:0;opacity:0;visibility:hidden;transition:.2s;z-index:150;width:100%;}

nav ul li ul:after{content:"";position:absolute;background:#000;left:-1500px;right:-1500px;height:100%;top:0;}	
	
nav ul li ul li{transition:.2s;position:relative;z-index:15;width:100%;height:100%;background:#D60000;height:0;overflow:hidden;transition:.4s;}

nav ul li ul li a{color:#fff;padding:0;width:100%;height:100%;display:block;padding:0 20px;display:flex;align-items:center;transition:.4s;font-size:16px;font-weight:700;}	

nav ul li ul li a:hover{padding-left:25px;background:#fff;color:#000;}	
	
}
@media all and (min-width: 1200px){
.desktop-menu-under {display: block;}
.desktop-menu-side {display: none;}
}
@media all and (max-width: 1200px){
	.desktop-menu-under {display: none;}
	.desktop-menu-side {display: block;}
}

@media all and (max-width: 1200px){	

.menu-burger{width:30px;height:21px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;position:relative;z-index:100;}
	
.menu-burger:hover{cursor:pointer;}

.menu-burger span{width:100%;height:2px;background:#fff;transition:.3s;}
	
.menu-burger:hover span.first{width:66%;}
	
.desktop-head{display:flex;flex-direction:column;position:fixed;background:#fff;width:300px;height:100%; min-height: 100%; right:-300px;top:0;z-index:100;transition:.5s;overflow-y:scroll; overflow: visible;justify-content:flex-start;scrollbar-width:none;padding:0 20px;box-sizing:border-box;}

.desktop-head:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:#fff;}
	
.desktop-head::-webkit-scrollbar{width:0;height:0;}
	
.book-online a {color:#fff;}
	.header-contact li a {color:#000;}	

.desktop-head.opened{right:0;z-index:999;}	
	
.nav-overlay{position:fixed;left:0;right:0;top:0;height:100%;background:rgba(45,49,66,0.5);opacity:0;display:none;transition:.5s;z-index:-100;}
	
.desktop-head.opened .nav-overlay{opacity:1;display:inline;}
	
.close-btn{position:absolute;top:20px;right:20px;line-height:100%;border-radius:50%;color:#000;font-weight:500;font-size:20px;display:flex;justify-content:center;align-items:center;text-decoration:none;transition:.3s;z-index:200;}

.close-btn:hover{color:#191919;cursor:pointer;}
	
nav ul{display:flex;flex-direction:column;flex:1;padding-top:55px;position:relative;z-index:100;}

nav ul li{list-style:none;position:relative;width:100%;display:block;padding:5px 0;box-sizing:border-box;font-size:17px;font-weight:700;text-transform:uppercase;}

nav ul li a{text-decoration:none;transition:.2s;box-sizing:border-box;width:100%;display:block;padding:7px 15px;color:#000;}
	
nav ul li.current_page_item a{border-left:3px solid #191919;color:#191919;padding-left:12px;}	

nav ul li a:hover{color:#191919;} 
	
nav ul li ul{padding-top:0;}	
	
nav ul li.opened{margin-bottom:0;}	
	
nav ul li.opened ul li{max-height:50px;}		

nav ul li ul{background:rgba(255,255,255,0.1);}	
	
nav ul li ul li{max-height:0;transition:.3s;overflow:hidden;font-size:14px;padding:0 25px;}

nav ul li ul li a{padding:0;margin:10px 0;}
	
nav ul li.current_page_item ul li a{background:none;color:white;}	
	
nav ul li ul li:hover a, header ul li ul li.current_page_item a, header ul li.current_page_item:hover ul li a{ color:rgba(173,173,173,1.00);}
	
nav ul li ul li:first-child a{margin-top:20px;}
	
nav ul li ul li:last-child a{padding-bottom:10px;}
	
nav ul li.current_page_item .expand:before, header ul li:hover .expand:before{ color:rgba(173,173,173,1.00);}
	
.expand{width:50px;height:36px;text-align:right;position:absolute;z-index:500;top:6px;right:0;}
	
.expand:hover{cursor:pointer;}
	
.expand:before, .opened li .expand:before{content:"+";font-size:20px;font-weight:700;color:#000;line-height:36px;}
	
.expand:hover:before, .opened li .expand:hover:before{ color:rgba(173,173,173,1.00);}
	
.opened .expand:before, .opened li.opened .expand:before{content:"-";display:block;margin-top:-2px;}

ul.header-contact{padding:25px 15px 15px 15px;box-sizing:border-box;flex-wrap:wrap;}

ul.header-contact li{padding:0 15px;}

ul.header-contact li:last-child{padding:5px 0 0 0;flex:0 0 100%;margin-left:-7px;}

ul.header-contact li img{width:25px;height:auto;}

ul.header-contact li.book-online a{padding:15px 30px;display:inline-block;}
	
}

/*****  Content  *****/
/* --- EXISTING BASE BACKGROUND CODE --- */
.feature-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: var(--bg-image); 
    background-size: cover;
    background-position: center;
    z-index: -1; 
    transition: opacity 1000ms ease-in-out; 
    will-change: opacity;
    opacity: 1;
}

.feature-image.fade-out::before {
    opacity: 0;
}

.feature-image {
    width: 100%;
    /* FIXED HEIGHT FIX: Locks the section to 900px tall so it never resizes based on text length */
    height: 900px; 
    display: flex; 
    padding: 20px 0 100px 0;
    position: relative;
    background-color: #000000; 
    overflow: hidden;
    z-index: 1;
    box-sizing: border-box;
}

/* --- STRUCTURAL CODE --- */

/* Left side acts as an empty spacer */
.feature-left {
    width: 50%; 
    height: auto; 
    flex: 1;
    position: relative;
    z-index: 2;
}

/* Right side holds content and vertically centers everything inside the 600px box */
.feature-right {
    width: 50%; 
    flex: 1; 
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center; /* Vertically centers the text + logo stack */
}

/* --- LOGO AND CONTENT WRAPPER --- */

/* Stacks your heading and new logo logo elements vertically */
.feature-content-wrapper {
    display: flex;
    flex-direction: column;
    gap: 30px; 
    width: 80%;
    transition: opacity 1000ms ease-in-out;
    opacity: 1;
}

/* Targets the new logo ID and applies your existing MoveUpDown floating animation */
#slide-logo-image {
    animation: MoveUpDown 3s alternate infinite;
    max-width: 250px; 
    width: 100%;
    height: auto;
    display: block;
    transition: opacity 1000ms ease-in-out;
}

/* Make sure the text behaves correctly inside the new wrapper */
.feature-content-wrapper .feature-text {
    width: 100%; 
    margin: 0;   
}

/* Triggers everything inside the right column to fade smoothly during slide swaps */
.feature-image.fade-out .feature-content-wrapper {
    opacity: 0;
}

/* --- OLD/UNUSED GENERIC ELEMENTS (Preserved safely for other pages) --- */
#slide-fg-image {
    animation: MoveUpDown 3s alternate infinite;
    position: absolute;
    right: 0;
    top: 100px;
    max-width: 50%;
    width: auto;
    height: auto;
    transition: opacity 1000ms ease-in-out; 
    opacity: 1;
}

.feature-text {
    width: 50%; 
    text-align: left; 
    margin: 10% 0 20% 0; 
    transition: opacity 1000ms ease-in-out; 
    opacity: 1;
}

.feature-image.fade-out .feature-text,
.feature-image.fade-out #slide-fg-image {
    opacity: 0;
}

@keyframes MoveUpDown {
  from { transform: translateY(0); }
  to { transform: translateY(15px); }
}

/* --- TYPOGRAPHY & BUTTONS (Preserved safely for other pages) --- */
.feature-text h1{ text-align: left; color: #fff; font-size:3.5em; text-transform: uppercase;}
.feature-text p{ text-align: left; color: #fff; padding-bottom: 20px; line-height: 150%; font-size:1.5em;}
.outline { min-width: 150px; width:auto; max-height: 38px;border:2px solid #fff; padding: 20px 20px;color:#fff; width:90px; text-align: center; font-weight: bold; display: inline-block; margin-right:5px; margin-bottom:8px;}
.outline-yellow {min-width: 150px; width:auto; max-height: 38px; border:2px solid #fff; padding: 20px 20px;color:#fff; width:90px; text-align: center; font-weight: bold; display: inline-block; margin-right:5px; margin-bottom:8px;}
.outline:hover, .outline-yellow:hover {background-color:rgba(0,0,0,0.70) ; transition: 0.5s;opacity: 0.8;}
.feature-text a {color:#fff;}

/* --- NAVIGATION DOTS LAYOUT --- */
.slideshow-nav {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 3; 
}

.nav-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    border: 2px solid #ffffff;
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background-color 0.3s ease, transform 0.3s ease;
}

.nav-dot.active {
    background-color: #ffffff;
    transform: scale(1.2);
}
/* 1. Aligns the wrapper container and its contents to the right side of the column */
.feature-right .feature-content-wrapper {
    align-items: flex-end; /* Pushes the logo image to the right edge */
    margin-left: auto;     /* Ensures the container pushes over cleanly */
    margin-right: 0;
    padding-right: 5%;
    box-sizing: border-box; /* Ensures the padding is calculated inside the width */
}

/* 2. Forces the H1 heading text to align text lines to the right edge */
#slide-title {
    text-align: right;
}
#slide-logo-image {
    max-width: 250px; /* Crucial: Locks the absolute maximum width layout threshold */
    width: auto;      /* FIX: Prevents image stretching; it will now only shrink if needed */
    height: auto;     /* Preserves the original image proportions perfectly */
}

/* Cleans up link styles and ensures it spans the right panel layout */
.feature-content-link {
    text-decoration: none; 
    display: block;
    width: 100%;
}

/* Optional: Slight hover effect to show users they can click the slide */
.feature-content-link:hover .feature-content-wrapper {
    opacity: 0.9;
    transform: translateY(-2px);
    transition: transform 0.3s ease, opacity 0.3s ease;
}

/* If a slide has no link, JavaScript will strip the pointer cursor */
.feature-content-link.no-link {
    cursor: default;
    pointer-events: none; /* Disables clicking entirely for blank slides */
}

-- */
@media all and (max-width: 1150px){	
	.feature-text {width:90%;}
}

@media all and (max-width: 800px){
}

.banner{width:100%;max-width:825px;padding:60px 20px;margin:0 auto;display:block;box-sizing:border-box;}

main{width:100%;padding:20px 20px 80px 20px;margin:60px auto 0 auto;box-sizing:border-box; background-color:rgba(255,255,255,1.00);}

.homepage { display:flex; padding-top:100px; justify-content: space-between;}

.homepage div {width:40%; flex: 1; margin:100px 10px 10px 10px ; clear: both;}

.home-pic { padding:10px 5px 20px 25px;}

.home-pic p {padding-left:53px;}

.home-pic ul {padding-left:53px;}

.home-pic h4 {padding-left:53px;}

.our-mission {padding-left:40px; background: url("images/our-mission.jpg") top left no-repeat; margin: 10px;}

.our-values {padding-left:40px; background: url("images/our-values.jpg") top left no-repeat; margin: 10px;}
 
.main-inner{width:100%;overflow:hidden;}
 
.main-inner2 {width:100%;overflow:hidden;width:100%;max-width:1400px;padding:80px 20px 80px 20px;margin: 0 auto ;box-sizing:border-box; }

.main-inner2 p, .main-inner2 ul,.main-inner2 h1,.main-inner2 h2,.main-inner2 h3,.main-inner2 h4 {max-width:1400px;margin-top:0; margin-right: 2%!important; margin-bottom: 15px; margin-left: 2%!important; line-height: 145%; box-sizing: border-box;}

.main-inner2 p, .main-inner2 li, main p, main li{font-size:18px;line-height:175%; color:#000;padding-bottom:18px;}

.main-inner2 a, main a { color:rgba(173,173,173,1.00);}
.main-inner2 .wp-block-button__link, .main-inner2 .wp-block-button__link a {color:#fff; margin-bottom:20px;}
.home-pic a.wp-block-button__link:hover {color:#fff!important; opacity: 0.5;}

.wp-block-image, .wp-block-buttons {width:100%;max-width:1400px;margin: 0 auto;box-sizing:border-box;}

.main-inner2 p:last-child, main p:last-child{padding-bottom:0;}

.main-inner2 p strong, main p strong{font-weight:600;}

main .main-left p:last-of-type{padding-bottom:0;}

.main-inner2 p, main p a{transition:.2s;}

.main-inner2 p a, main p a:hover{color:rgba(173,173,173,1.00);}

.main-inner2 ul, main ul{list-style-type:disc;padding-left:20px;padding-bottom:25px;}

.main-inner2 li, main li{padding:3px 0; list-style-image: url("images/bullet.png");font-family:"Hanken Grotesk", sans-serif;}

.main-inner2 img.alignright, .main-inner2 img.alignleft, main img.alignright, main img.alignleft {margin-bottom:20px;}

a.button{color:white;padding:5px 20px;font-size:16px;font-weight:700;background:#000;transition:.3s;text-transform:uppercase;box-sizing:border-box;text-align:center;margin-bottom:15px;display:inline-block;}

a.button:hover{background:#252525;color:white;}

.video-cont{position:relative;overflow:hidden;width:100%;max-width:720px;margin:0 auto;}

.video-cont:after{content:"";width:100%;padding-top:56.2%;display:block;}

.main-contact{background:rgba(0,0,0,0.45);flex:1;margin-bottom:40px;padding:25px;width:100%;box-sizing:border-box;text-align:center;}

main .main-contact p{padding-bottom:5px;font-size:14px;}

main .main-contact p strong{font-size:15px;padding-top:10px;display:block;}

main .main-contact p:first-of-type strong{padding-top:0;}

main .main-contact p a{font-weight:400;}

.main-contact ul{display:flex;justify-content:center;list-style-type:none;padding:15px 0 0 0;}
	
.main-contact ul li{padding:0 12px;}
	
.main-contact ul li img{width:27px;height:auto;}

.secondary-content {clear:both; width:100%; min-height: 150px; background-image: url("images/bg.jpg"); background-size: cover; font-weight:bold; color:#fff; padding:50px 5%; box-sizing: border-box;}

.secondary-content .main-inner{font-weight:bold; color:#fff; font-size:40px; margin:0 auto; width:auto; line-height: 160%; text-align: center;}

.brand-logos {margin:0 auto; display: flex;flex-wrap: wrap; text-align: center; align-content: center; width:100%; max-width: 1600px; padding-top:50px; padding-bottom:130px;}
.brand-logos h2 {width:100%; text-align: center;}
.brand-logos a {width:12%; justify-content: space-between; text-align: center; flex: 1; min-height: 90px;}
.brand-logos img {width:100%; max-width:186px; min-width: 100px; height: auto;}

.page-banner {
    width: 100%;
    height: 700px; /* Adjust banner height */
    background-size: cover;
    background-position: center;
}

@media all and (max-width: 1200px){
	main {margin-top:10px;}
	.header-wrap2 {height:130px; padding-bottom:0;}
	.page-banner {height: 450px;} /* Adjust banner height */
}
@media all and (max-width: 800px){	
	
main{padding:30px 15px 10px 15px;}
 
main p, main li{font-size:17px;line-height:175%;padding-bottom:15px;}

main ul{padding-bottom:20px;}
	
main img.alignright, main img.alignleft {width:100%; height: auto; clear:both; float:none;}

.main-contact{margin-bottom:20px;padding:15px;}
	
.fb_iframe_widget{display:flex!important;justify-content:center;}
	
	.homepage {flex-wrap:wrap;}
.homepage div {width:100%!important; flex: 1; margin:40px 0px 0px -20px; padding-bottom:0;}
	
}

@media all and (max-width: 500px){
}


/*****  Link Boxes *****/
/* Container with 5px padding on top/bottom, and 0 on left/right edges */
.link-boxes-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 20px;
  min-height: 500px;
  padding: 5px 0 20px 0; 
	border-bottom:1px solid #D3D3D3;
  box-sizing: border-box;
}

.link-boxes {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

/* Left and Right columns split evenly into 2 rows */
.left-column .box,
.right-column .box {
  flex: 1;
}

/* Middle column takes full height */
.middle-column {
  height: 100%;
}

.middle-column .box {
  height: 100%;
}

/* Base box styling for all clickable links */
.box {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding: 20px; 
  border: 1px solid #ccc;
  text-decoration: none;
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  
  /* Shared background properties */
  background-size: cover;
  background-position: center;
}

/* Individual Background Images - Swap out these placeholder URLs with your actual image paths */
.img-left-top { background-image: url("images/link-heating.jpg"); }
.img-left-bottom { background-image: url("images/link-smokers.jpg"); }
.img-middle { background-image: url("images/link-bbqs.jpg"); }
.img-right-top { background-image: url("images/link-outdoor-living.jpg"); }
.img-right-bottom { background-image: url("images/link-firepits.jpg"); }

/* Dark overlay that handles the hover transition */
.box::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.2); /* Light initial dimming for text contrast */
  transition: background-color 0.3s ease;
  z-index: 1;
}

/* Darkens the background overlay on hover */
.box:hover::before {
  background-color: rgba(0, 0, 0, 0.6); /* Deeper dark effect on hover */
}

/* Heading styles: white, uppercase, bottom right */
.box h2 {
  color: #ffffff;
  text-transform: uppercase;
  margin: 0;
  font-family: sans-serif;
  font-size: 1.5rem;
  text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); 
  position: relative;
  z-index: 2; /* Sits on top of the dark overlay */
}

/* Responsive: stack to 1 column on small screens */
@media (max-width: 768px) {
  .link-boxes-wrapper {
    display: flex;
    flex-direction: column;
    height: auto;
    padding: 5px 0; 
  }
  
  /* Middle column maintains its height on small screens */
  .middle-column .box {
    height: 400px; 
  }
  .left-column .box,
  .right-column .box {
    min-height: 250px; /* Adjust this value up or down to get the size you want */
  }
}


/********* Local images ***/

/* Centered layout wrapper with specific constraints */
.local-wrapper {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 equal columns on desktop */
  gap: 20px;
  max-width: 1600px;
  margin: 0 auto; /* Centers the wrapper on the screen */
  padding: 40px 0 50px 0; /* 30px top, 60px bottom, 0 sides */
  box-sizing: border-box;
}

/* Base column settings */
.local-column {
  display: flex;
  flex-direction: column;
}

/* Box container holding the images */
.local-box {
  padding: 15px;
  display: flex;
  flex-direction: column;
}

/* Ensures layout fluidly scales images to full width without cropping */
.local-box img {
  width: 100%;
  max-width:319px;
  height: auto;
  display: block;
  object-fit: contain; /* Prevents cropping, fits entire image inside width */
}

/* Tablet: Resizes to a 2x2 grid (2 columns, 2 rows) */
@media (max-width: 1200px) {
  .local-wrapper {
    grid-template-columns: repeat(2, 1fr);
    padding: 30px 20px 60px 20px; /* Adds side safety padding on smaller viewports */
  }
}

/* Mobile: Resizes to a 1x4 grid (1 column, 4 rows) */
@media (max-width: 576px) {
  .local-wrapper {
    grid-template-columns: 1fr;
  }
}


/*****  Form  *****/

form{display:flex;flex-direction:column;width:100%;align-items:flex-end;position:relative;overflow:hidden;margin-top:40px;margin-bottom:40px; background-color: #fff; padding:30px 0;max-width:1400px;margin:0 auto 15px auto;}

form p {width:95%; margin: 0 auto;}

form label{color:#fff;font-size:15px;font-weight:400;width:100%;padding:10px 0;}

form input, form textarea{border:none;padding:10px;box-sizing:border-box;width:100%;margin-top:10px;font-family: 'Archivo', sans-serif;font-size:14px;color:rgba(17,39,59,1.00);transition:.2s;background:white;-webkit-appearance:none;border-radius:0;}

form select {border:none;padding:10px;box-sizing:border-box;width:100%;margin-top:10px;font-family: 'Archivo', sans-serif;font-size:14px;color:rgba(17,39,59,1.00);transition:.2s;background:white;-webkit-appearance:none;border-radius:0;}

form select:focus {border:none; border-radius:0;}

form textarea{height:200px;resize:none;}

form input:focus, form textarea:focus{outline:none;border-left:10px solid #fff;}

input[type=submit]{width:150px;padding:15px;box-sizing:border-box;background:#fff; color:#000; font-weight:500;font-size:16px;transition:.2s;}

input[type=submit]:hover{color:#000;background:#fff;cursor:pointer;}

input[type=submit]:focus{border:none;}

input.wpcf7-not-valid{border-right:10px solid red;}

main div.wpcf7 .ajax-loader{position:absolute;width:100%;height:100%;background-repeat:no-repeat;background-position:center center;background-color:rgba(255,255,255,0.4);top:0;left:0;margin:0;}

main div.wpcf7-response-output{margin:10px 0;padding:15px;box-sizing:border-box;width:100%;text-align:center;font-size:15px;color:white;}

@media all and (max-width: 900px){

form{align-items:center;}	
	
}

/*****  Gallery  *****/

.gallery{
	display:flex;
	flex-wrap:wrap;
	width:calc(100% + 20px);
	margin-left:-10px;
	justify-content: center;
}

.gallery-item{
	padding:10px;
	position:relative;
	text-align:center;
	width:25%; /* Width will define items per row */
	box-sizing:border-box;
	justify-content: center;
}

.gallery-item img{
	transition:.5s;
	width:100%;
	height:auto;
	max-width:100%;
}

.gallery-item:hover img{
	opacity:0.8;
}

.gallery br{
	display:none;
}

@media all and (max-width: 850px){.gallery-item{width:33.33%;}}

@media all and (max-width: 650px){.gallery{width:calc(100% + 10px);	margin-left:-5px;}.gallery-item{width:50%;padding:5px;}}


/* * * 7.0 Footer * * */

footer{width:100%;padding:70px 20px 15px 20px;box-sizing:border-box; background-color:#000; line-height: 175%;}
footer p {text-align:center;color:#fff; margin-top: 40px;font-family: 'Archivo', sans-serif;}
footer p a {color:#fff;}

.footer-inner{width:90%;margin:0 auto; padding-bottom: 20px; padding-right:10px; display:flex;flex-wrap:wrap; justify-content:space-around; text-transform: uppercase;}

.footer-col{flex:1;margin:0 15px;max-width:350px;}

.footer-inner .footer-col:first-child{margin-left:0;}

.footer-inner .footer-col:first-child p {margin-top:15px;}

.footer-inner .footer-col:last-child{margin-right:0;}

.footer-logo img{width:100%;height:auto;box-sizing:border-box;max-width:200px;}

.footer-col h4{font-size:22px;line-height:115%;font-weight:700;padding-bottom:15px;color:#d91a1a;}

.footer-col p{font-family: 'Archivo', sans-serif;font-size:15px;line-height:150%;color:#fff;padding-bottom:13px; text-align: left; margin-top:0;}

.footer-col p strong{color:#fff;}

.footer-col li {font-family: 'Archivo', sans-serif;color:#fff;}

.footer-col p a, .footer-col li a{font-family: 'Archivo', sans-serif;color:#fff;transition:.2s;}

.footer-col p a:hover{color:#fff;}

.footer-col iframe{width:100%;height:250px;padding-top:10px;}


ul.footer-contact{display:flex;align-items:center;position:relative;z-index:100;padding:5px 0 13px 0;}

ul.footer-contact li{padding:0 10px;color:#fff;}

ul.footer-contact li:first-child{padding-left:0;}

ul.footer-contact li:last-child{padding-right:0;}

ul.footer-contact li img{width:25px;height:auto;transition:.2s;}

ul.footer-contact li img:hover{opacity:0.7;}

.backtotop{width:50px;height:50px;background:#fff;position:fixed;bottom:10px;right:35px;opacity:0;transition:.4s;display:flex;align-items:center;justify-content:center;z-index:500;}

.backtotop:hover{background:white;}

.backtotop img{width:30px;height:auto;}

.backtotop.opened{opacity:1;bottom:35px;}

.copyright {width:100%; max-width:1600px; margin:0 auto; border-top:1px solid rgba(29,29,29,1.00); padding-top:20px; font-size:14px;}

@media all and (max-width: 1000px) {

footer{padding:40px 15px;}
	
.footer-inner .footer-col:first-child{flex:0 0 100%;text-align:center;max-width:none;padding-bottom:40px;margin:0;}
	
.footer-logo img{max-width:125px;}


	
}

@media all and (max-width: 750px) {

footer{padding:10px 15px;}
	
.footer-col{padding:10px 0;flex:0 0 100%;max-width:none;margin:0; text-align: center;}
	.footer-col p { text-align: center;}
	
.footer-inner .footer-col:first-child{padding-bottom:10px; text-align: center;}

	.footer-contact {display:flex; justify-content:center; }
	.footer-contact li {text-align:center;}
	
.footer-logo img{max-width:100px;}

.backtotop{bottom:0;right:15px;}
	
.backtotop.opened{opacity:1;bottom:15px;}
	
}

/**Styling scrollable elements*/

.js-scroll {
  opacity: 0;
  transition: opacity 500ms;
}

.js-scroll.scrolled {
  opacity: 1;
}

.scrolled.fade-in {
  animation: fade-in 1s ease-in-out both;
}

.scrolled.fade-in-bottom {
  animation: fade-in-bottom 1s ease-in-out both;
}

.scrolled.slide-left {
  animation: slide-in-left 1s ease-in-out both;
}

.scrolled.slide-right {
  animation: slide-in-right 1s ease-in-out both;
}

@keyframes slide-in-left {
  0% {
    -webkit-transform: translateX(-100px);
    transform: translateX(-100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slide-in-right {
  0% {
    -webkit-transform: translateX(100px);
    transform: translateX(100px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes fade-in-bottom {
  0% {
    -webkit-transform: translateY(50px);
    transform: translateY(50px);
    opacity: 0;
  }
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.map {filter: grayscale(100%) invert(100%) hue-rotate(180deg); }

/*****WOOCOMMERCE UPDATES*****/

.single-product p {text-align:left!important;}
.single-product h2 {text-align:center!important; padding-top: 40px!important; padding-bottom: 90px!important; font-size: 45px;}
.single-product .entry-content h2 {text-align:left!important;}

.single-product .entry-content {max-width:1600px; margin-left:auto!important; margin-right:auto!important;}
.single-product .product-type-simple {text-align: center;}
.single-product .entry-summary .cart, .single-product .entry-summary .posted_in, .single-product .entry-summary .tagged_as{display:none;}
.single-product .entry-summary .price {color:#000!important; font-weight: bold;}
.single-product .woocommerce-product-details__short-description {max-width: 700px;}

.single-product .wc-tabs {display:none;}

.single-product .woocommerce-product-gallery__image a {}
.single-product .woocommerce-product-gallery__image img {max-height: 600px; width:auto!important; margin-left:auto!important; margin-right:auto!important;border: 1px solid #E9E9E9;}

.related {clear:both!important;}

.products .price {display:none!important;}
.add_to_cart_button {display:none!important;}

.woocommerce-ordering {display:none!important;}
.woocommerce-result-count {display:none!important;}