body{ 
font-family: 'Assistant', sans-serif;background-color:#f6f6f6; margin:0; padding:0;line-height:26px; font-size:16px; color:#5c5c5c; -ms-word-wrap:break-word;  word-wrap:break-word; }
*{ margin:0; padding:0; outline:none; box-sizing:border-box; -moz-box-sizing:border-box; -webkit-box-sizing:border-box;}
img{ border:none; margin:0; padding:0; height:auto; max-width:100%;}
.wp-caption, .wp-caption-text, .sticky, .gallery-caption, .aligncenter{ margin:0; padding:0; max-width:100% !important;}
p{ margin:0; padding:0;}
a{ text-decoration:none; color:#efc62c;}
a:hover{ color:#111;}
.clear{ clear:both;}
.left{ float:left;}
.right{ float:right;}

h1,h2,h3,h4,h5,h6{ font-family: 'Assistant', sans-serif; color:#303030; margin:0 0 20px; padding:0; font-weight:600; line-height:1.1; }
h1.entry-title{ font-weight:bold; margin-bottom:35px; }
h1{ font-size:40px;}
h2{ font-size:34px;}
h3{ font-size:30px;}
h4{ font-size:22px;}
h5{ font-size:20px;}
h6{ font-size:16px;}


/*image align css*/
.alignnone{ width:100%;}
img.alignleft, .alignleft{ float:left; margin:0 15px 0 0; padding:5px; border:1px solid #cccccc;}
img.alignright, .alignright{ float:right; margin:0 0 0 15px; padding:5px; border:1px solid #cccccc;}
.aligncenter, img.aligncenter { clear: both; display: block; margin-left: auto; margin-right: auto; margin-top:0;  height:auto;}

/*
Lists style CSS
-------------------------------------------------------------*/
ol,ul{ margin:0; padding:0;}
ul li ul, ul li ul li ul, ol li ol, ol li ol li ol{ margin-left:10px;}
ul,ol { margin:0; padding: 0;}
ul {list-style: inside none disc;}
ol {list-style: decimal;}
ul li,ol li {margin-bottom: 0;	margin-left: 1.5em;}
dt {font-weight: 700;}
dd {margin: 0 1.5em 1.5em;}
audio:not([controls]) {	display: none;height: 0;}
img {border-style: none;}
svg:not(:root) {overflow: hidden;}
a {	background-color: transparent;	-webkit-text-decoration-skip: objects;}
a:active, a:hover {outline-width: 0;}
b, strong {	font-weight: bold;}
pre {background: #ddd;font-size: 14px;	font-size: 0.9375rem;line-height: 1.4;margin-bottom: 1.6em;	max-width: 100%;overflow: auto;	padding:20px;}
iframe{max-width:100%;}
.breadcrumbs{padding:10px 0; margin-bottom:0;}
nav.pagination{ clear:both;}
#comment-nav-above .nav-previous, #comment-nav-below .nav-previous{ float:none !important; margin:10px 0;}
nav.pagination .page-numbers{ background-color:#ccc; padding:10px 15px; font-size:15px; font-weight:600; color:#444;}
nav.pagination .page-numbers.current{background-color:#efc62c;}
ol.comment-list li{ list-style:none; margin-bottom:5px;}


figcaption,figure{	display: block;}
figure {margin: 1em 0;}
blockquote{ border-left:5px solid #e96300; padding:10px 10px 10px 30px; color:#666; font-size:15px; line-height:1.5; margin-bottom:30px; font-style:italic;}
blockquote p{ margin-bottom:0 !important;}
hr {-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;	height: 0;	overflow: visible;}
.textwidget select{ width:100%;}
.tagcloud a{ font-size:12px !important; color:#fff; border:1px solid #fff; padding:5px 12px; margin:0 5px 5px 0; display:inline-block;}
.tagcloud a:hover{ border:1px solid #fff;}
table{ width:100%}



/* = WooCommerce plugin css code
-------------------------------------------------------------- */
a.added_to_cart{background:#e1472f; padding:5px; display:inline-block; color:#fff; line-height:1;}
a.added_to_cart:hover{background:#000000;}
a.button.added:before{content:'' !important;}
#bbpress-forums ul li{padding:0;}
#subscription-toggle a.subscription-toggle{padding:5px 10px; display:inline-block; color:#e1472f; margin-top:4px;}
textarea.wp-editor-area{border:1px #ccc solid;}
.woocommerce input[type=text], .woocommerce textarea{border:1px #ccc solid; padding:4px;}
form.woocommerce-ordering select{ padding:5px; color:#777777;}
.woocommerce table.shop_table th, .woocommerce-page table.shop_table th{ color:#ff8a00;}
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price{ color:inherit !important;}
h1.product_title, p.price{ margin-bottom:10px;}

.woocommerce table.shop_table th, .woocommerce-page table.shop_table th{ color:#ff6d84;}
.woocommerce ul.products li, #payment ul.payment_methods li{ list-style:none !important;}
.woocommerce ul.products li.product .price, .woocommerce-page ul.products li.product .price{ color:inherit !important;}
.woocommerce table.shop_table th, .woocommerce table.shop_table td{ border-bottom:0px !important}

.woocommerce .quantity .qty{ padding:7px; border:1px solid #ccc;}
.woocommerce-Price-amount.amount{font-size:14px !important;}
.woocommerce div.product .product_title{ padding-bottom:20px !important;}
.woocommerce div.product form.cart{ margin-top:15px !important;}

/* = Comment Form css
-------------------------------------------------------------- */
h1.screen-reader-text{font-family: 'Assistant', sans-serif; font-size:22px;}
.site-nav-previous, .nav-previous{ float:left;}
.site-nav-next, .nav-next{ float:right;}
h3#reply-title{ font-size:20px;}
#comments{ margin:30px 0 0; padding:0;}
nav#nav-below{ margin-top:15px;}

ol.commentlist{list-style:none;}
#commentform p{margin:5px 0;}
#commentform label{display:block;}
#commentform input#email, #commentform input#url, #commentform input#author, #commentform textarea, #commentform input#eazycfc_captcha{max-width:96%; border:1px #ccc solid; padding:5px 2%;}
#commentform input#submit{ background-color:#32373a; border:none; padding:12px 25px; color:#fff; display:inline-block; cursor:pointer; border-radius:5px; text-transform:uppercase;}
#commentform input#submit:hover{background:#34c6f6; color:#fff;}
.form-allowed-tags{display:none;}
.entry-content table, .comment-body table{ border-collapse:collapse; margin:10px 0;}
.entry-content table td, .entry-content table th, .comment-body table td, .comment-body table th{padding:10px 5px; text-align:left;}
.entry-content table th, .comment-body table th{color:#676767; font:normal 18px Oswald; border-bottom:1px #888 solid;}
.entry-content table td, .comment-body table td{border-bottom:1px #ccc solid;}
.fvch-codeblock:hover .comment-form-url{display:block !important;}
.commentlist, ol.commentlist {list-style:none; box-shadow:0 0 5px #666; -moz-box-shadow:0 0 5px #666; -webkit-box-shadow:0 0 5px #666; -khtml-box-shadow:0 0 5px #666; margin:10px 0; background-color:#fff; padding:10px 0;}
.commentlist li, ol.commentlist li { list-style:none; background-image:none !important; padding:0px 15px;}
.commentlist li ol li.depth-2, .commentlist li ol li.depth-3, .commentlist li ol li.depth-4, ol.commentlist li ol li.depth-2, ol.commentlist li ol li.depth-3, ol.commentlist li ol li.depth-4 { border-bottom:none;}
.commentlist li.bypostauthor article, ol.commentlist li.bypostauthor article { background:#f9ffe1;}
.commentlist article, .commentlist li.bypostauthor li article, ol.commentlist li.bypostauthor li article { border:none !important; padding:10px; position:relative; background-color:#fff;}
.commentlist li .fn { font-weight:normal; font-size:15px; font-style:normal;}
.commentlist li.bypostauthor .fn, ol.commentlist li.bypostauthor .fn { color:#000;}
img.avatar { vertical-align:middle; position:static; display:inline-block;}
.commentlist article a time { display:block; clear:both; padding:5px 0 10px; font-size:11px; font-style:italic; }
.commentlist, ol.commentlist p { font-size:14px;}
.commentlist .reply span, ol.commentlist .reply span { display:none;}
.commentlist .reply a, ol.commentlist .reply a { display:block;	padding:10px; text-align:center; background:#f6f6f6; margin:5px 0; border:1px #ddd solid;}
.comment-author.vcard{display:inline-block; margin-right:15px;}
.comment-list ul.children li.comment{background-image:none; padding-left:5px;}


/* = Default Button CSS
--------------------------------------------- */
.button{  border:1px solid #404040; color:#404040; padding:10px 30px; display:inline-block; border-radius:25px; -moz-border-radius:25px; -webkit-border-radius:25px; -o-border-radius:25px; -ms-border-radius:25px; }
.button:hover{ border:1px solid #e96300; color:#e96300; }
a.blogreadmore{ background-color:#505050; color:#fff ; padding:5px 20px; display:inline-block; border-radius:3px;}
a.blogreadmore:hover{ background-color:#404040; color:#fff; }
.learnmore{ background-color:#e96300; color:#fff ; text-transform:uppercase; font-weight:600; border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px; -o-border-radius:5px; -ms-border-radius:5px; font-size:14px; display: inline-block; padding:10px 30px; }
.learnmore:hover{ background-color:#333;color:#fff ;}


/* = Site Header CSS
--------------------------------------------- */
.site-header.fixed{ position: fixed; top:0; z-index:99999999; width:100%; }
.cotact_info_area{ float:right; width:70%; color:#555; padding:16px 0; text-align:right; }

/* = Header top css
-------------------------------------------------------------- */
.header-top{ background-color:#c17600; color:#fff; width:75%; float:right; padding:0 0 0 350px; line-height:40px; position:relative; -webkit-transform: skew(35deg); -moz-transform: skew(35deg); -ms-transform: skew(35deg); -o-transform: skew(35deg);}
.header-top:after{background: #c17600; bottom: 0;content: "";position: absolute;right: -99988px; top: 0px; width: 99999px;}

.hdr_social a{ width:30px; height:38px; line-height:38px; text-align:center; display:inline-block; margin:0 3px 0 0; padding:0; transition:0.6s; -moz-transition:0.6s; -webkit-transition:0.6s; -o-transition:0.6s; font-size:16px; color:#fff; }
.hdr_social br{ display:none;}

.header-top i{ margin-right:5px;}
.header-top .right{ text-align:right; padding-top:0; padding-right:15px;}
.right span.phno{ padding-right:10px; margin-right:5px;}
.right span.phno{ padding-right:10px; margin-right:5px;}

.header-top .right, .header-top .left{-webkit-transform:skew(-35deg); -moz-transform:skew(-35deg);-ms-transform:skew(-35deg);-o-transform:skew(-35deg);}
.header-top .left{position:relative;}
.header-top .phno{ margin-right:15px;}

.infobox{ display:inline-block; margin:0 25px 0 0; text-align:left; color:#262626; font-size:16px; border-right:1px solid #ddd; padding-right:25px;}
.infobox span{ float:right;}
.infobox a{ color:#262626;}
.infobox span strong{ display:block; text-align:left; font-weight:600; color:#262626; }
.infobox i{ float:left; margin:9px 15px 0 0; line-height:28px; text-align:center; font-size:30px; color:#666;}
.infobox.last{ border:0; margin:0; padding:0; vertical-align:super; font-size:20px; font-weight:bold; line-height:2;}

.infobox a.get_an_enquiry{ background-color:#e96300;  padding:10px 30px; text-transform:uppercase; font-weight:600; border-radius:5px; color:#fff ;display: inline-block; -moz-border-radius:5px; -webkit-border-radius:5px; -o-border-radius:25px; -ms-border-radius:5px; font-size:14px; }
.infobox a.get_an_enquiry:hover{ background-color:#333;color:#fff ;}

/* = header search CSS
-------------------------------------------------------------*/
.sd-menu-search{float:right;margin-left:20px;max-width:250px;width:43px;height:43px;display:inline-block; z-index:9999999; position:relative;}
.sd-search{height:43px;position:relative}
.sd-search form{ margin:0; padding:0;}
.sd-search i{ margin:0 !important; font-size:14px; color:#fff !important;}
.sd-top-bar-nav .sd-search{height:43px}
.sd-search .sd-search-button,.sd-top-bar-nav .sd-search .sd-search-button{ background:url(../images/search-icon.png) no-repeat center center; border:none;border-radius:0;display:block;width:43px;height:43px;line-height:43px;outline:none;padding:0;position:absolute;right:0;top:0;text-align:center;z-index:2; color:#ffffff; cursor:pointer; font-size:0;}
.sidr-class-fa-search:before{content:"\f002"}
.sd-top-bar-nav .sd-search .sd-search-button{ cursor:pointer; background-color:#954810;color:#ffffff;height:43px;line-height:43px;width:43px}
.sd-search input,.sd-top-bar-nav .sd-search input{padding:10px 20px;height:43px;max-width:none!important;position:absolute;right:0;top:0;width:43px;z-index:1;-webkit-transition:all .3s ease-in-out;-moz-transition:all .3s ease-in-out;-ms-transition:all .3s ease-in-out;-o-transition:all .3s ease-in-out;transition:all .3s ease-in-out;border:none; color:#ffffff; box-sizing:border-box; background:#954810;}
.sd-top-bar-nav .sd-search input{background-color:#954810;border:none;color:#ffffff;height:43px;padding:0}
.sd-search input::-webkit-input-placeholder,.sd-top-bar-nav .sd-search input input::-webkit-input-placeholder{color:#ffffff}
.sd-menu-search:hover .sd-search-input{width:250px}

/*search form css*/
.searchbox{position:relative; min-width:35px; width:0%; height:40px; float:right; overflow:hidden;padding-left:20px; -webkit-transition: width 0.3s;    -moz-transition: width 0.3s; -ms-transition: width 0.3s; -o-transition: width 0.3s; transition: width 0.3s;}
.searchbox-input{top:0; right:0; border:0;outline:0;background:#ece8e8;width:100%;height:40px;margin:0;padding:0px 55px 0px 20px;font-size:13px;color:#7f7f7f;}
.searchbox-input::-webkit-input-placeholder{color:#7f7f7f;}
.searchbox-input:-moz-placeholder{color:#7f7f7f;}
.searchbox-input::-moz-placeholder{color:#7f7f7f;}
.searchbox-input:-ms-input-placeholder{color:#7f7f7f;}
.searchbox-icon, .searchbox-submit{width:35px;height:40px;display:block;position:absolute;top:0;font-size:22px;right:0;padding:0 !important;margin:0 !important;border:0 !important;outline:0;line-height:40px;text-align:center;cursor:pointer;color:#dcddd8;background:url(../images/search-icon.png) no-repeat center center #34c6f6;}
.searchbox-open{ width:40%;}

/* = Main site CSS
-------------------------------------------------------------*/
#sitelayout{ margin:0 auto; overflow-x:hidden;}
.container{ width:1170px; margin:0 auto; position:relative;}
.site-header{ width:100%; z-index:9999; box-sizing:border-box; background-color: #fff !important; }
.site-header.siteinner{ position:relative; }
.logo{ float:left;  text-align:center; width:auto; padding:22px 55px 10px; margin-bottom:-40px; background:#fff; position:relative; z-index:99999;}
.logo:after{ content:''; width:0;height:0; border-bottom:40px solid #100e0d; border-left:25px solid transparent; position:absolute; bottom:0; right:0; z-index:3;}

.logo a{ z-index:999; position:relative}
.logo h1 { font-weight:bold; margin:0; font-size:30px;  letter-spacing:.5px; white-space:nowrap;}
.logo a{color: #505050;}
.logo p{ color:#404040; display:block; letter-spacing:1px;}

/* Brand logo image (theme images/Logo/Logo.png or an admin custom logo).
   Sized to sit compactly inside the slanted white panel, matching the original
   theme's logo scale. The symmetric 38px panel padding vertically centres it. */
.logo .site-logo,
.logo .custom-logo-link{ display:inline-block; line-height:0; position:relative; z-index:999; }
.logo .site-logo img,
.logo img.custom-logo{ display:block; width:auto; height:auto; max-height:80px; max-width:100%; }



/* = Header Navigation CSS
-------------------------------------------------------------*/
.navigation_bar{ width:100%; background-color:#000000; position:relative; z-index:9999;}
.toggle{display: block;}
.toggle a{width:100%; color:#ffffff; background:url(../images/mobile-nav.png) no-repeat right center #3e3e3e; padding:8px 10px; margin-top:5px; font-size:16px; display:none; text-align:left;}
.toggle a:hover{color:#ffffff !important;}
.sitenav{padding:0 0 0 20px; z-index:9999; width:70%; float:right; text-align:left; display:inline-block;}
.sitenav ul {margin:0; padding:0; }
.sitenav ul li{display:inline-block; position:relative; margin:0; padding:0;}
.sitenav ul li a{ padding:15px 25px; display:block; text-align:center; border-bottom:solid 5px transparent; color:#fff;}
.sitenav ul li ul li{ display:block; position:relative; float:none; top:0; }
.sitenav ul li ul li a{ display:block; padding-top:7px; padding-bottom:7px; position:relative; top:1px; text-align:left; border-bottom:1px solid transparent; color:#fff;}
.sitenav ul li ul li a:hover,
.sitenav ul li ul li.current_page_item a,
.sitenav ul li.current-menu-parent a.parent,
.sitenav ul li.current-menu-item ul.sub-menu li a:hover{ border-bottom:1px solid transparent;}
.sitenav ul li ul{display:none; z-index:9999999; position:relative; background-color:#000;}
.sitenav ul li:hover > ul{display:block; width:240px; position:absolute; left:0; text-align:left; }
.sitenav ul li:hover ul li ul{display:none; position:relative;}
.sitenav ul li:hover ul li:hover > ul{display:block; position:absolute; left:240px; top:0;}
.sitenav ul li.current_page_item ul.sub-menu li a{ color:#fff;}

.sitenav ul li ul li a:hover, 
.sitenav ul li ul li a, 
.sitenav ul li.current_page_item ul.sub-menu li a:hover, 
.sitenav ul li.current-menu-parent ul.sub-menu li a:hover,
.sitenav ul li.current-menu-parent ul.sub-menu li.current_page_item a,
.sitenav ul li.current-menu-parent ul.sub-menu li a.parent.parent-2:hover,
.sitenav ul li.current-menu-parent ul.sub-menu li ul.sub-menu li a:hover{ border-bottom:1px solid #555 !important}

/* Modern dropdown submenu (Local Area etc.) */
.sitenav ul li.menu-item-has-children > a{ position:relative; }
.sitenav ul li.menu-item-has-children > a:after{ content:""; display:inline-block; margin-left:8px; vertical-align:middle; border-left:4px solid transparent; border-right:4px solid transparent; border-top:5px solid currentColor; opacity:.85; transition:transform .25s ease; }
.sitenav ul li.menu-item-has-children:hover > a:after{ transform:rotate(180deg); }

.sitenav ul li ul,
.sitenav ul li ul.sub-menu{ display:block; opacity:0; visibility:hidden; transform:translateY(14px); transition:opacity .25s ease, transform .25s ease, visibility .25s ease; width:300px; position:absolute; left:0; top:100%; margin:0; padding:10px 0; background-color:#ffffff; border-top:3px solid #e96300; border-radius:0 0 12px 12px; box-shadow:0 20px 45px rgba(0,0,0,.18); z-index:9999999; }
.sitenav ul li:hover > ul,
.sitenav ul li:hover > ul.sub-menu,
.sitenav ul li.menu-open > ul,
.sitenav ul li.menu-open > ul.sub-menu{ display:block; opacity:1; visibility:visible; transform:translateY(0); width:300px; }
.sitenav ul li.menu-item-has-children.menu-open > a:after{ transform:rotate(180deg); }
.sitenav ul li ul li{ display:block; width:100%; position:relative; float:none; top:0; }
.sitenav ul li ul li a{ display:block; padding:11px 24px; top:0; text-align:left; color:#2c2c2c; font-size:14px; line-height:1.45; white-space:normal; border-bottom:none; transition:background-color .2s ease, color .2s ease, padding-left .2s ease; }
.sitenav ul li ul li a:hover,
.sitenav ul li ul li.current_page_item a{ background-color:#faf2ea; color:#e96300; border-bottom:none !important; padding-left:30px; }
.sitenav ul li.current_page_item ul.sub-menu li a{ color:#2c2c2c; }


/* ===========================================================
   Modern header redesign (overrides the legacy rules above)
   - slim contact strip on top (icon + value, single line)
   - white menu bar carrying the logo, navigation and search
   =========================================================== */
.site-header{ background-color:#fff !important; box-shadow:0 6px 24px rgba(16,14,13,.07); }

/* ---- Slim top contact strip ------------------------------- */
.header_topbar{ background:#f6f4f2; border-bottom:1px solid #ececec; }
.header_topbar .container{ display:flex; align-items:center; justify-content:flex-end; }
.header_topbar .cotact_info_area{ float:none; width:auto; padding:0; display:flex; align-items:center; gap:26px; line-height:1; }
.header_topbar .infobox{ display:inline-flex; align-items:center; gap:8px; margin:0; padding:7px 0; border:0; font-size:13px; color:#555; }
.header_topbar .infobox i{ float:none; margin:0; width:auto; height:auto; line-height:1; font-size:14px; color:#e96300; background:none; border-radius:0; }
.header_topbar .infobox a{ color:#555; font-weight:500; }
.header_topbar .infobox a:hover{ color:#e96300; }

/* ---- White menu bar: logo + nav + search ------------------ */
.navigation_bar{ background:#ffffff; box-shadow:0 4px 18px rgba(16,14,13,.06); position:relative; z-index:9999; }
.navigation_bar > .container{ display:flex; align-items:center; gap:24px; }
.navigation_bar > .container > .clear{ display:none; }

/* Logo now lives in the menu bar, pinned left (pushes nav/search right) */
.navigation_bar .logo{ float:none; width:auto; margin:0 auto 0 0; padding:10px 0; background:transparent; }
.navigation_bar .logo:after{ display:none; }
.navigation_bar .logo .site-logo img,
.navigation_bar .logo img.custom-logo{ display:block; max-height:100px; width:auto; }

/* Hide the (empty) mobile menu toggle on desktop so the flex gap stays tight */
.navigation_bar .toggle{ display:none; }

/* Navigation links — dark text on white */
.sitenav{ float:none; width:auto; padding:0; }
.sitenav ul li a{ padding:17px 20px; font-size:15px; font-weight:500; letter-spacing:.2px; color:#1f1f1f; border-bottom:3px solid transparent; transition:color .22s ease, background-color .22s ease, border-color .22s ease; }
.sitenav ul li > a:hover{ color:#e96300; background:#faf3ec; border-bottom-color:rgba(233,99,0,.45); }
.sitenav ul li.current-menu-item > a,
.sitenav ul li.current_page_item > a,
.sitenav ul li.current-menu-ancestor > a,
.sitenav ul li.current-menu-parent > a{ color:#e96300; border-bottom-color:#e96300; }
.sitenav ul li.menu-item-has-children > a:after{ border-top-color:currentColor; }

/* Search affordance on the far right of the menu bar */
.sd-menu-search{ float:none; margin:0; flex:0 0 auto; }
.sd-search .sd-search-button,
.sd-top-bar-nav .sd-search .sd-search-button{ background-color:#e96300; border-radius:10px; transition:background-color .25s ease; }
.sd-menu-search:hover .sd-search-button{ background-color:#100e0d; }
.sd-search input,
.sd-top-bar-nav .sd-search input{ background:#e96300; border-radius:10px; }
.sd-search input::placeholder{ color:rgba(255,255,255,.85); }

/* ---- Contact details on the right of the menu bar --------- */
/* Email + phone moved out of the old top strip and into the white menu bar,
   sitting between the navigation and the search as a slim two-line block. */
.navigation_bar .header-contact{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:7px; line-height:1; padding-left:24px; border-left:1px solid #ececec; flex:0 0 auto; }
.navigation_bar .header-contact .infobox{ display:inline-flex; align-items:center; gap:9px; margin:0; padding:0; border:0; font-size:13.5px; color:#555; line-height:1; }
.navigation_bar .header-contact .infobox i{ float:none; width:auto; height:auto; margin:0; line-height:1; background:none; border-radius:0; font-size:15px; color:#e96300; }
.navigation_bar .header-contact .infobox a{ color:#404040; font-weight:600; letter-spacing:.2px; transition:color .22s ease; }
.navigation_bar .header-contact .infobox a:hover{ color:#e96300; }

/* ---- Responsive (matches the theme's 980px menu breakpoint) ---- */
@media (max-width:980px){
	/* Centre the contact details under the logo when the menu collapses. */
	.navigation_bar .header-contact{ flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px 22px; padding:8px 0 4px; border-left:0; }
	/* Stack logo above the slide-down menu, restore block flow for the toggle */
	.navigation_bar > .container{ display:block; text-align:center; }
	.navigation_bar .logo{ margin:0 auto; padding:10px; }
	.navigation_bar .toggle{ display:block; }
	.sitenav{ width:100%; }
}


/* = Page layout css
-------------------------------------------------------------- */
.default_content_alignbx{ background-color:#fff; float:left; width:68%; margin:0; padding:40px; box-shadow:0 0 5px #eee; }
.default_content_alignbx ul, .default_content_alignbx ol{ margin:0 0 20px 20px; }
.default_content_alignbx ul li, .default_content_alignbx ol li{ margin:0; }
.default_content_alignbx ul ul, .default_content_alignbx ol ol{ margin:0 0 0 30px; }

.fullwidth{ width:100% !important; float:none  !important;}
.fullwidth p{ margin-bottom:15px;}

.boxlayout{ width:1210px; margin:0 auto; background-color:#fff; position:relative; box-shadow:0 -8px 8px #111;}
.fulllayout{ width:100% !important;}
#content_holder{ padding:50px 0;}
#content_holder p{ margin-bottom:30px;}
.slider_wrapper{ position:relative;}
h2.sectiontitle{font-weight:600; font-size:40px; margin-bottom:50px; position:relative; text-align:center; padding-bottom:22px;}
h2.sectiontitle:after{ content:""; position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:60px; height:3px; background-color:#e96300;}
h2.sectiontitle .title_accent{ color:#e96300; }
.last_column{clear:right; margin-right:0 !important; }

/* = Services Four coloumn Sections
--------------------------------------------------- */
#threebox_sections{ padding:80px 0; position:relative; }
.three_column{ width:33.333%;  float:left; margin:0; padding:15px; position:relative; box-sizing:border-box; }
.three_column p{color:#fff; margin:0 0 35px 0; line-height:24px; }
.three_column h3{ font-size:18px; font-weight:700; margin:0 0 15px; text-transform:uppercase;}
.three_column .thumbbx{ background:#000000; margin:0;overflow:hidden; height:297px; width:100%; position:relative; }
.three_column .thumbbx img{min-height:297px; opacity:0.4; width:100%; max-height:inherit; min-width:inherit;}
.three_column .thumbbx .coming_soon{ height:297px; width:100%; background:linear-gradient(135deg,#1c1c1c 0%,#000000 100%); }
.three_column .pagecontent .coming_soon_label{ display:inline-block; color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:2px; padding:12px 32px; background-color:#e96300; border-radius:3px; cursor:default; }
.pagecontent{ width:100%; padding:30px 75px; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); -webkit-transform:translate(-50%,-50%); -moz-transform:translate(-50%,-50%); -ms-transform:translate(-50%,-50%); -o-transform:translate(-50%,-50%); }

/* = Welcome Section
------------------------------------------------------------------ */
#whychooseus_sections{ padding:80px 0; background-color:#ffffff}
.welwrapper{ position:relative;}
.welwrapper .welcome_imgbox{ width:42%; float:left; margin:0 5% 0 0; position:relative; padding-bottom:60px;}
.welwrapper .welcome_imgbox a{ display:block; line-height:0;}
.welwrapper .welcome_imgbox img{ display:block; width:100%;}
.welwrapper .welcome_imgbox .welcome_img_back{ width:80%; display:block;}
.welwrapper .welcome_imgbox .welcome_img_front{ position:absolute; right:0; bottom:0; width:72%; border:8px solid #fff; box-shadow:0 20px 45px rgba(0,0,0,.22); box-sizing:border-box;}
.welwrapper .welcome_contentbox{ width:53%; float:left; padding-top:10px;}
.welwrapper .welcome_contentbox p:last-child{ margin-bottom:0;}
.welwrapper h3{font-size:40px;font-weight:600; position:relative; padding:0 0 20px 0; margin:0 0 22px 0; display:inline-block; }
.welwrapper h3:after{border-bottom:2px solid #e96300; bottom:0; content:""; left:0; margin:0; position:absolute; width:60px;}
.welwrapper p{ margin-bottom:25px; line-height:28px; padding:0; }
.welcome_contentbox ul{ list-style:none; margin:0 0 30px; padding:0; overflow:hidden;}
.welcome_contentbox ul li{ float:left; width:50%; position:relative; padding:0 10px 12px 22px; box-sizing:border-box; line-height:24px;}
.welcome_contentbox ul li:before{ content:""; position:absolute; left:0; top:8px; width:8px; height:8px; background-color:#e96300;}
.welcome_morebtn{ display:inline-block; padding:12px 32px; background-color:#e96300; color:#fff; font-weight:600; text-transform:uppercase; letter-spacing:.5px; border-radius:3px;}
.welcome_morebtn:hover{ background-color:#111; color:#fff;}

/* = Facilities Section (modern overlay-card grid)
------------------------------------------------------------------ */
#servicecat_sections{ padding:80px 0; background-color:#0e0d0c; background-size:cover; background-position:center top; }
#servicecat_sections .sectiontitle{ color:#fff; }
.servicecat_wrapper{ margin:0 -12px; }
.servicecat_column{ width:33.333%; float:left; padding:0 12px; margin:0 0 24px; box-sizing:border-box; }
.servicecat_card{ position:relative; display:block; height:260px; border-radius:14px; overflow:hidden; box-shadow:0 12px 30px rgba(0,0,0,.4); }
.servicecat_card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.servicecat_card:hover img{ transform:scale(1.1); }
/* Gallery-style hover overlay + plus icon */
.servicecat_card:before{ content:""; position:absolute; top:0; left:0; right:0; bottom:0; background:linear-gradient(to top, rgba(0,0,0,.85) 0%, rgba(0,0,0,.3) 45%, rgba(0,0,0,0) 75%); transition:background .45s ease; z-index:1; }
.servicecat_card:hover:before{ background:linear-gradient(to top, rgba(233,99,0,.66), rgba(0,0,0,.18)); }
.servicecat_card:after{ content:"+"; position:absolute; z-index:2; top:50%; left:50%; width:54px; height:54px; line-height:48px; text-align:center; border:2px solid #fff; border-radius:50%; color:#fff; font-size:30px; font-weight:300; opacity:0; transform:translate(-50%,-50%) scale(.5); transition:opacity .4s ease, transform .4s ease; pointer-events:none; }
.servicecat_card:hover:after{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.servicecat_card .servicecat_meta{ position:absolute; left:0; right:0; bottom:0; z-index:3; padding:22px 24px; }
.servicecat_card .servicecat_meta h3{ font-size:20px; font-weight:600; margin:0; color:#fff; letter-spacing:.3px; text-shadow:0 1px 10px rgba(0,0,0,.55); }
.servicecat_card .servicecat_meta span{ display:block; width:34px; height:3px; margin-top:10px; border-radius:3px; background:#e96300; transition:width .4s ease, background .4s ease; }
.servicecat_card:hover .servicecat_meta span{ width:64px; background:#fff; }

/* = Welcome / About Section
------------------------------------------------------------------ */
#welcome_about_section{ padding:80px 0; background-color:#ffffff; }
.welcome_about_content{ width:48%; float:left; margin:0 4% 0 0; }
.welcome_about_content h2{ font-size:40px; font-weight:600; position:relative; padding:0 0 20px; margin:0 0 25px; display:inline-block; }
.welcome_about_content h2:after{ border-bottom:2px solid #e96300; bottom:0; content:""; left:0; position:absolute; width:60px; }
.welcome_about_content p{ line-height:28px; margin:0 0 25px; }
.welcome_about_content .btnstyle1{ display:inline-block; padding:12px 30px; color:#fff; background-color:#e96300; font-weight:600; border-radius:3px; }
.welcome_about_media{ width:48%; float:left; }
.welcome_video_cover{ position:relative; overflow:hidden; }
.welcome_video_cover img{ width:100%; display:block; }
.welcome_play{ position:absolute; top:46%; left:29%; transform:translate(-50%,-50%); width:70px; height:70px; display:flex; align-items:center; justify-content:center; border-radius:50%; background-color:#e96300; color:#fff; font-size:22px; padding-left:4px; box-sizing:border-box; }
.welcome_play:hover{ background-color:#111; color:#fff; }

/* = Team Members Section
------------------------------------------------------------------ */
#team_sections{ padding:80px 0; background-color:#e96300; background-size:cover; background-position:center top; }
#team_sections .sectiontitle{ color:#fff; }
#team_sections .sectiontitle:after{ background-color:#fff; }
.team_wrapper{ margin:0 -15px; }
.team_column{ width:25%; float:left; padding:0 15px; box-sizing:border-box; }
.team_column .team_thumb{ overflow:hidden; margin:0 0 18px; }
.team_column .team_thumb img{ width:100%; display:block; transition:transform .4s ease; }
.team_column:hover .team_thumb img{ transform:scale(1.08); }
.team_info{ text-align:center; }
.team_info h3{ font-size:20px; font-weight:600; margin:0 0 6px; color:#fff; }
.team_info .team_role{ display:block; font-size:14px; color:rgba(255,255,255,.85); text-transform:uppercase; letter-spacing:.5px; }
.team_social{ text-align:center; margin-top:12px; }
.team_social a{ display:inline-block; width:34px; height:34px; line-height:34px; margin:0 3px; border-radius:50%; background-color:rgba(255,255,255,.2); color:#fff; font-size:14px; transition:background-color .3s ease; }
.team_social a:hover{ background-color:#fff; color:#e96300; }

/* = Stats Counter Section
------------------------------------------------------------------ */
#counter_sections{ position:relative; background-color:#2b2b2b; background-image:url(../images/slides/slider-1.jpg); background-size:cover; background-position:center center; background-attachment:fixed; }
.counter_overlay{ background-color:rgba(10,10,10,.92); padding:90px 0; }
.counter_left{ width:46%; float:left; padding-right:4%; box-sizing:border-box; }
.counter_left h2{ font-size:38px; font-weight:700; color:#fff; position:relative; padding:0 0 18px; margin:0 0 22px; }
.counter_left h2:after{ content:""; position:absolute; left:0; bottom:0; width:60px; height:2px; background-color:#e96300; }
.counter_left p{ color:#cfcfcf; line-height:26px; margin:0 0 20px; }
.counter_left ul{ list-style:none; margin:0; padding:0; }
.counter_left ul li{ position:relative; padding:0 0 12px 22px; color:#fff; line-height:22px; }
.counter_left ul li:before{ content:""; position:absolute; left:0; top:7px; width:8px; height:8px; background-color:#fff; }
.counter_right{ width:54%; float:left; }
.counter_right_full{ width:100%; float:none; }
.counter_column{ width:50%; float:left; padding:0 12px 24px; box-sizing:border-box; }
.counter_box{ border:1px solid rgba(255,255,255,.5); padding:38px 15px; text-align:center; }
.counter_column .counter_number{ display:block; font-size:46px; font-weight:700; color:#fff; line-height:1.1; margin:0 0 10px; }
.counter_column .counter_label{ display:block; font-size:15px; color:#fff; text-transform:uppercase; letter-spacing:.5px; }

/* = Reviews Section (modern testimonial cards over a fixed background image)
------------------------------------------------------------------ */
#reviews_sections{ padding:80px 0; position:relative; background-color:#1a1a1a; background-image:linear-gradient(rgba(12,12,12,.5), rgba(12,12,12,.5)), url(../images/Reviews/Reviews-bg.webp); background-size:cover; background-position:center center; background-attachment:fixed; }
#reviews_sections .sectiontitle{ margin-bottom:14px; color:#ffffff; }
.reviews_intro{ text-align:center; max-width:640px; margin:0 auto 50px; color:#d6d6d6; line-height:26px; }
.reviews_grid{ display:flex; flex-wrap:wrap; margin:0 -15px; }
.review_card{ width:calc(33.333% - 30px); margin:0 15px 30px; background:#fff; border-radius:16px; padding:34px 30px 30px; box-shadow:0 12px 30px rgba(0,0,0,.07); position:relative; box-sizing:border-box; display:flex; flex-direction:column; transition:transform .35s ease, box-shadow .35s ease; }
.review_card:hover{ transform:translateY(-6px); box-shadow:0 20px 45px rgba(0,0,0,.13); }
.review_quote_icon{ position:absolute; top:14px; right:26px; font-family:Georgia, 'Times New Roman', serif; font-size:72px; line-height:1; color:#e96300; opacity:.16; pointer-events:none; }
.review_stars{ margin:0 0 16px; font-size:17px; letter-spacing:3px; }
.review_stars span.on{ color:#e96300; }
.review_stars span.off{ color:#dcdcdc; }
.review_text{ color:#555; line-height:26px; margin:0 0 24px; flex:1 0 auto; }
.review_text p{ margin:0 0 12px; }
.review_text p:last-child{ margin:0; }
.review_author{ display:flex; align-items:center; margin-top:auto; }
.review_avatar{ width:50px; height:50px; flex:0 0 50px; border-radius:50%; overflow:hidden; margin-right:14px; display:flex; align-items:center; justify-content:center; background:#e96300; }
.review_avatar img{ width:100%; height:100%; object-fit:cover; display:block; border-radius:50%; }
.review_avatar_initial{ color:#fff; font-size:20px; font-weight:700; }
.review_meta{ display:flex; flex-direction:column; }
.review_name{ color:#222; font-size:16px; font-weight:600; line-height:1.2; }
.review_role{ color:#999; font-size:13px; margin-top:3px; }

/* = Slider Callouts Section
------------------------------------------------------------------ */
#callout_sections{ padding:0; position:relative; z-index:5; margin-top:-60px; }
.callout_wrapper{ display:flex; flex-wrap:wrap; box-shadow:0 5px 25px rgba(0,0,0,.12); }
.callout_column{ width:33.333%; float:left; padding:35px 30px; box-sizing:border-box; background-color:#ffffff; }
.callout_column:nth-child(2){ background-color:#e96300; }
.callout_column:nth-child(2) h3, .callout_column:nth-child(2) p{ color:#fff; }
.callout_column h3{ font-size:20px; font-weight:600; margin:0 0 12px; color:#303030; }
.callout_column p{ line-height:24px; margin:0 0 18px; }
.callout_column .callout_btn{ display:inline-block; font-weight:600; color:#e96300; }
.callout_column:nth-child(2) .callout_btn{ color:#fff; }
.callout_column .callout_btn:hover{ color:#111; }

/* = Featured Projects Section
------------------------------------------------------------------ */
#projects_sections{ padding:80px 0 0; background-color:#f6f6f6; }
.projects_wrapper{ display:flex; flex-wrap:wrap; margin:0; }
.projects_column{ width:25%; box-sizing:border-box; }
.projects_column a{ display:block; }
.projects_thumb{ position:relative; overflow:hidden; height:300px; }
.projects_thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .4s ease; }
.projects_column:hover .projects_thumb img{ transform:scale(1.1); }
.projects_thumb i{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) scale(0); width:50px; height:50px; line-height:50px; text-align:center; border-radius:50%; background-color:#fff; color:#e96300; transition:transform .35s ease; }
.projects_column:hover .projects_thumb i{ transform:translate(-50%,-50%) scale(1); }
.projects_title{ padding:28px 30px; }
.projects_title .projects_cat{ display:block; color:rgba(255,255,255,.85); font-size:13px; letter-spacing:.5px; margin:0 0 6px; }
.projects_title .projects_name{ display:block; color:#fff; font-size:20px; font-weight:600; text-transform:uppercase; }
.projects_title .projects_desc{ color:rgba(255,255,255,.9); font-size:14px; line-height:22px; margin:12px 0 0; }
.projects_color1 .projects_title{ background-color:#1d6fb4; }
.projects_color2 .projects_title{ background-color:#84b41d; }
.projects_color3 .projects_title{ background-color:#b41d5d; }
.projects_color4 .projects_title{ background-color:#1db4a4; }

/* = Working Process Section
------------------------------------------------------------------ */
#process_sections{ padding:80px 0; background-color:#ffffff; --arrow-depth:58px; }
.process_wrapper{ display:flex; align-items:stretch; }
.process_column{ flex:1 1 0; min-width:0; padding:55px 75px 55px calc(var(--arrow-depth) + 48px); box-sizing:border-box; position:relative; color:#fff; min-height:310px; display:flex; align-items:center;
	clip-path:polygon(0 0, calc(100% - var(--arrow-depth)) 0, 100% 50%, calc(100% - var(--arrow-depth)) 100%, 0 100%, var(--arrow-depth) 50%); }
.process_column + .process_column{ margin-left:calc(var(--arrow-depth) * -1); }
.process_column:nth-child(3n+1){ background-color:#2b2b2b; z-index:3; }
.process_column:nth-child(3n+2){ background-color:#e96300; z-index:2; }
.process_column:nth-child(3n+3){ background-color:#ff8b35; z-index:1; }
.process_thumb{ margin:0 0 20px; }
.process_thumb img{ width:54px; height:auto; display:block; border-radius:0; background:none; }
.process_column h3{ font-size:22px; font-weight:600; margin:0 0 14px; color:#fff; }
.process_column p{ line-height:24px; margin:0; color:rgba(255,255,255,.92); font-size:14px; }

/* = Contact Info Box Section
------------------------------------------------------------------ */
#contactbox_sections{ padding:80px 0; background-color:#ffffff; }
.contactbox_wrapper{ margin:0 -10px; }
.contactbox_column{ width:25%; float:left; margin:0 10px 0 0; width:calc(25% - 10px); padding:30px 25px; box-sizing:border-box; color:#fff; position:relative; overflow:hidden; }
.contactbox_column:nth-child(4n+1){ background-color:#2b2b2b; }
.contactbox_column:nth-child(4n+2){ background-color:#e96300; }
.contactbox_column:nth-child(4n+3){ background-color:#ff8b35; }
.contactbox_column:nth-child(4n+4){ background-color:#1d6fb4; }
.contactbox_column i{ font-size:30px; color:#fff; margin:0 0 14px; display:inline-block; }
.contactbox_column h3{ font-size:18px; font-weight:600; color:#fff; margin:0 0 8px; }
.contactbox_column p{ line-height:24px; margin:0; color:rgba(255,255,255,.9); }
.contactbox_column p a{ color:#fff; }
.contactbox_column p a:hover{ color:#111; }

/* = Why Choose Section (reasons list + layered vertical images)
------------------------------------------------------------------ */
#features_sections{ padding:80px 0; background-color:#ffffff; }
#features_sections .sectiontitle{ text-align:left; }
#features_sections .sectiontitle:after{ left:0; transform:none; }
.features_wrapper{ margin:0; display:flex; align-items:center; flex-wrap:wrap; }

/* Left: reasons list */
.features_left{ width:55%; box-sizing:border-box; padding-right:50px; }
.features_column{ width:100%; padding:0 0 30px; box-sizing:border-box; display:flex; align-items:flex-start; }
.features_column:last-child{ padding-bottom:0; }
.features_column .features_icon{ flex:0 0 60px; margin-right:20px; }
.features_column .features_icon img{ width:54px; height:auto; display:block; transition:transform .35s ease; }
.features_column:hover .features_icon img{ transform:translateY(-4px) scale(1.06); }
.features_column .features_text h3{ font-size:20px; font-weight:600; color:#303030; margin:0 0 8px; }
.features_column .features_text p{ color:#888; line-height:24px; margin:0; font-size:14px; }

/* Right: two layered vertical images */
.features_right{ width:45%; box-sizing:border-box; }
.features_imgstack{ position:relative; width:100%; max-width:440px; min-height:540px; margin:0 0 0 auto; padding:24px 0; }
.features_img{ display:block; overflow:hidden; border-radius:12px; box-shadow:0 20px 45px rgba(0,0,0,.2); }
.features_img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.features_img:hover img{ transform:scale(1.06); }
.features_img_back{ position:absolute; top:0; right:0; width:60%; height:74%; z-index:1; }
.features_img_front{ position:absolute; left:0; bottom:0; width:62%; height:76%; border:8px solid #fff; box-sizing:border-box; z-index:2; }
.features_imgstack:before{ content:""; position:absolute; left:-18px; bottom:6px; width:46%; height:60%; border:3px solid #e96300; border-radius:12px; z-index:0; }

/* = Product Showcase Section
------------------------------------------------------------------ */
#showcase_sections{ padding:80px 0; background-color:#f6f6f6; }
.showcase_media{ width:48%; float:left; margin:0 4% 0 0; text-align:center; }
.showcase_media img{ max-width:100%; }
.showcase_content{ width:48%; float:left; }
.showcase_content .showcase_eyebrow{ font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:#e96300; margin:0 0 12px; }
.showcase_content h2{ font-size:38px; font-weight:600; position:relative; padding:0 0 20px; margin:0 0 22px; display:inline-block; }
.showcase_content h2:after{ border-bottom:2px solid #111; bottom:0; content:""; left:0; position:absolute; width:55px; }
.showcase_content p{ line-height:28px; margin:0 0 25px; }
.showcase_btn{ display:inline-block; padding:13px 34px; color:#fff; background-color:#e96300; font-weight:600; border-radius:3px; text-transform:uppercase; letter-spacing:.5px; }
.showcase_btn:hover{ background-color:#111; color:#fff; }

/* = WooCommerce Products Section
------------------------------------------------------------------ */
#wcproducts_sections{ padding:80px 0; background-color:#ffffff; }
#wcproducts_sections ul.products{ margin:0; padding:0; list-style:none; }

/* = Projects Gallery Section
------------------------------------------------------------------ */
#gallery_sections{ padding:0; }
.gallery_wrapper{ font-size:0; }
.gallery_column{ width:25%; float:left; position:relative; overflow:hidden; }
.gallery_column img{ width:100%; display:block; transition:transform .4s ease; }
.gallery_column:hover img{ transform:scale(1.08); }
.gallery_overlay{ position:absolute; left:0; right:0; bottom:0; top:0; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:20px; background-color:rgba(233,99,0,.85); opacity:0; transition:opacity .35s ease; }
.gallery_column:hover .gallery_overlay{ opacity:1; }
.gallery_overlay .gallery_label{ color:#fff; font-size:13px; text-transform:uppercase; letter-spacing:.5px; }
.gallery_overlay .gallery_name{ color:#fff; font-size:20px; font-weight:600; }

/* = Sidebar CSS
-------------------------------------------------------------- */
#sidebar{ float:right; width:28%;}
aside.widget{ background-color:#fff; margin-bottom:30px; padding:30px; box-shadow: 0 0 5px #eee;  }
h3.widget-title{padding:0 0 15px; margin:0 0 20px; color:#303030; font-size:24px; font-weight:600; position:relative; border-bottom:1px solid #ddd; }
/* Recent Posts widget title + links in red */
.widget_recent_entries h3.widget-title{ color:#ff0000; }
.widget_recent_entries ul li a{ color:#ff0000; }
aside.widget ul{ list-style:none; margin:0; padding:0; }
#sidebar ul li{ border-bottom:1px dashed #eee; margin:0 0 2px; padding:7px 10px 7px 0;}
#sidebar ul li::before{ content:"\f105";font-family:'Font Awesome 5 Solid'; margin-right:10px;}
#sidebar ul li a{ color:#3b3b3b; }
#sidebar ul li a:hover{ color:#34c6f6;}
#sidebar ul li:last-child{ border:none;}
aside .textwidget{ padding:20px; background-color:#f5f5f4;}


/*sidebar search form css*/
#sidebar .search-form{ margin-bottom:20px;}
#sidebar .search-form input.search-field{ background-color:#fff; width:80%; padding: 13px 15px 13px 15px; border:1px solid #ddd; }
#sidebar .search-form input.search-submit{ background:url(../images/search-icon.png) no-repeat center center #efc62c; padding: 12px 0 12px 0; font-size:0; width:20%; height:43px; float:right; border:0;}


/* = Blog post styles
-------------------------------------------------------------- */
.recentpost_mystyle{ margin:0 0 50px 0; padding:0; }
.recentpost_mystyle .blogthumbimg{ margin:0 0 20px 0; position:relative;}
.recentpost_mystyle .blogthumbimg img{ height:auto;}
.recentpost_mystyle h3, h3.single-title{ margin-bottom:15px; font-size:24px; font-weight:600;}
.recentpost_mystyle h3 a{ color:#484f5e;}
.recentpost_mystyle h3 a:hover{ color:#efc62c;}
.recentpost_mystyle p{ margin-bottom:20px;}
.blog-meta{ font-style:italic; margin-bottom:8px;}
.post-date, 
.post-comment, 
.post-categories, 
.edit-link{ display:inline; color:#333; font-weight:600; text-transform:uppercase; margin:0 10px 0 0;} 
.single_title{ margin-bottom:5px;}
body.single-post .recentpost_mystyle { width:100%; float:none; margin:0; }

.blog_postmeta{ margin-bottom:20px; color:#888; }
.blog_postmeta a{ color:#999;}
.blog_postmeta a:hover{ color:#e96300;}
.blogpostmorebtn{ background-color:#505050; color:#fff; padding:10px 20px; font-weight:600; border-radius:3px; display:inline-block; }
.blogpostmorebtn:hover{ background-color:#303030; color:#fff;}

/* = Footer css
-------------------------------------------- */
.site-footer{ background-color:#1d1d1d; padding:0; margin-top:100px; position:relative; color:#fff; }
.site-footer:before{ content:""; position:absolute; inset:0; background:url(../images/ProjectGallery/ProjectGallery-bg.webp) center/cover no-repeat; opacity:.07; pointer-events:none; }
.site-footer .container{ position:relative; z-index:1; }
.copyright-txt span{ color:#fff; }

/* Footer contact bar (chevrons) */
.footer-contactbar{ --fcb-depth:46px; position:relative; top:-64px; z-index:3; display:flex; max-width:1170px; margin:0 auto -64px; padding:0 15px; box-sizing:border-box; }
.footer-contactbar .fcb_item{ flex:1 1 0; min-width:0; display:flex; align-items:center; padding:30px 30px 30px 40px; color:#fff; box-sizing:border-box; min-height:128px; }
.footer-contactbar .fcb_item i{ font-size:34px; line-height:1; margin-right:20px; flex:0 0 auto; }
.footer-contactbar .fcb_text{ min-width:0; }
/* Logo in the first (dark) contact-bar section, in place of the address. */
.footer-contactbar .fcb_item--logo{ justify-content:center; }
.footer-contactbar .fcb_item--logo .fcb_logo{ display:inline-block; line-height:0; }
.footer-contactbar .fcb_item--logo .fcb_logo img{ max-height:78px; max-width:100%; width:auto; height:auto; display:block; }
.footer-contactbar .fcb_text strong{ display:block; font-size:21px; font-weight:600; line-height:1.3; overflow-wrap:break-word; word-break:break-word; }
.footer-contactbar .fcb_text strong a{ color:#fff; }
.footer-contactbar .fcb_text span{ display:block; font-size:15px; color:rgba(255,255,255,.85); margin-top:4px; }
/* Email is a long unbroken string — keep it on a single line inside its segment. */
.footer-contactbar .fcb_item--3 .fcb_text strong{ font-size:15px; white-space:nowrap; overflow-wrap:normal; word-break:normal; letter-spacing:-.2px; }
.footer-contactbar .fcb_item--1{ background-color:#2b2b2b; z-index:3; padding-left:50px; padding-right:calc(var(--fcb-depth) + 16px);
	clip-path:polygon(0 0, calc(100% - var(--fcb-depth)) 0, 100% 50%, calc(100% - var(--fcb-depth)) 100%, 0 100%); }
.footer-contactbar .fcb_item--2{ background-color:#e96300; z-index:2; margin-left:calc(var(--fcb-depth) * -1); padding-left:calc(var(--fcb-depth) + 30px);
	clip-path:polygon(0 0, calc(100% - var(--fcb-depth)) 0, 100% 50%, calc(100% - var(--fcb-depth)) 100%, 0 100%, var(--fcb-depth) 50%); }
.footer-contactbar .fcb_item--3{ background-color:#ff8b35; z-index:1; margin-left:calc(var(--fcb-depth) * -1); padding-left:calc(var(--fcb-depth) + 30px);
	clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, var(--fcb-depth) 50%); }

/* Footer columns */
.fixfooter{ display:flex; flex-wrap:wrap; padding-top:60px; padding-bottom:60px; }
.footer-col{ box-sizing:border-box; padding-right:30px; }
.footer-col--about{ width:30%; }
.footer-col--recent{ width:26%; }
.footer-col--links{ width:14%; }
.footer-col--gallery{ width:30%; padding-right:0; }
.site-footer h5{ margin:0 0 28px; font-size:24px; font-weight:600; color:#fff; }

/* Company details / logo */
.footer-company{ margin:0 0 26px; }
.footer-company-name{ display:block; color:#fff; font-size:18px; font-weight:700; line-height:1.35; margin:0 0 8px; }
.footer-company-addr{ display:block; color:rgba(255,255,255,.75); font-size:15px; line-height:26px; }
.footer-logo{ margin:0; }
/* Logo sits directly on the dark footer — the teal/orange artwork is legible on dark.
   Matches the header logo size (max-height:80px). */
.footer-logo .footer-brand{ display:inline-block; line-height:0; }
.footer-logo img{ max-height:100px; max-width:100%; width:auto; height:auto; display:block; }
.footer-brand-mark{ display:inline-flex; margin-right:12px; }
.footer-brand-name{ font-size:34px; font-weight:700; color:#fff; line-height:1; }
.footer-about-text{ line-height:26px; margin:0; color:rgba(255,255,255,.75); font-size:15px; }

/* Recent posts */
.footer-recent{ margin:0; padding:0; list-style:none; }
.footer-recent li{ display:flex; align-items:flex-start; margin:0 0 28px; }
.footer-recent li:last-child{ margin-bottom:0; }
.footer-recent-thumb{ flex:0 0 75px; margin-right:18px; display:block; }
.footer-recent-thumb img{ width:75px; height:75px; object-fit:cover; display:block; }
.footer-recent-title{ color:rgba(255,255,255,.85); font-size:15px; line-height:23px; display:block; }
a.footer-recent-title:hover{ color:#e96300; }

/* Usefull links */
.footer-links{ margin:0; padding:0; list-style:none; }
.footer-links li{ list-style:none; padding:0 0 16px; margin:0; }
.footer-links li a{ color:rgba(255,255,255,.85); font-size:15px; }
.footer-links li:before{ content:"\f105"; font-family:'Font Awesome 5 Solid'; color:#e96300; margin-right:12px; }
.footer-links li a:hover, .footer-links li.current_page_item a, .footer-links li.current-menu-item a{ color:#e96300; }

/* Project gallery */
.footer-gallery{ margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.footer-gallery li{ margin:0; padding:0; list-style:none; overflow:hidden; border-radius:6px; }
.footer-gallery li:before{ display:none; }
.footer-gallery img{ width:100%; height:96px; object-fit:cover; display:block; }

/* Footer "Properties" showcase — two exteriors stacked, gallery-style thumbs. */
.footer-gallery--properties{ grid-template-columns:1fr; gap:14px; }
.footer-gallery--properties li{ position:relative; }
.footer-gallery--properties a{ display:block; }
.footer-gallery--properties img{ height:124px; transition:transform .55s ease; }
.footer-gallery--properties a:hover img{ transform:scale(1.06); }
.footer-property-name{ position:absolute; left:0; right:0; bottom:0; padding:18px 14px 9px; font-size:14px; font-weight:600; letter-spacing:.2px; color:#fff; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.72)); }

/* = Footer Copyrigh wrapper css
-------------------------------------------- */
.copyrigh-wrapper {
	background-color: #121212;
	color: rgba(255, 255, 255, 0.8);
	position: relative;
	z-index: 1;
	padding: 24px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.footer-bottom-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}
.powerby {
	color: rgba(255, 255, 255, 0.6);
	font-size: 13.5px;
	line-height: 1.6;
}
.footer-copyright {
	margin: 0;
}
.footer-credits {
	margin: 4px 0 0;
	color: rgba(255, 255, 255, 0.45);
	font-size: 13px;
}
.footer-credits .credit-link {
	color: #FF5A5A;
	font-weight: 600;
	text-decoration: none;
	transition: color 0.25s ease, text-decoration 0.25s ease;
}
.footer-credits .credit-link:hover {
	color: #FF7B7B;
	text-decoration: underline;
}

/* North Digital logo credit */
.footer-credits--logo {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin: 4px 0 0;
}
.credit-link--logo {
	display: inline-flex;
	align-items: center;
	opacity: 0.8;
	transition: opacity 0.25s ease, transform 0.25s ease;
	text-decoration: none !important;
	line-height: 0;
}
.credit-link--logo:hover {
	opacity: 1;
	transform: translateY(-1px);
}
.north-logo {
	display: block;
	height: 26px;
	width: auto;
	max-width: 120px;
	object-fit: contain;
	transition: filter 0.25s ease;
}
.credit-link--logo:hover .north-logo {
	filter: drop-shadow(0 2px 6px rgba(233, 99, 0, 0.35));
}
.design-by {
	margin: 0;
}
.copyrigh-wrapper .hdr_social {
	display: flex;
	gap: 10px;
}
.copyrigh-wrapper .hdr_social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.05);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.7);
	font-size: 15px;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	text-decoration: none;
}
.copyrigh-wrapper .hdr_social a:hover {
	background: #e96300;
	border-color: #e96300;
	color: #ffffff;
	transform: translateY(-3px);
	box-shadow: 0 4px 12px rgba(233, 99, 0, 0.3);
}

@media (max-width: 768px) {
	.footer-bottom-flex {
		flex-direction: column;
		text-align: center;
		justify-content: center;
		gap: 20px;
	}
	.copyrigh-wrapper .hdr_social {
		justify-content: center;
	}
}

/* = Contact Form 7 css
-------------------------------------------------------------- */
.wpcf7{ margin:30px 0 0; padding:0;}
.wpcf7 input[type="text"], .wpcf7 input[type="tel"], .wpcf7 input[type="email"]{ width:40%; border:1px solid #cccccc; box-shadow:inset 1px 1px 2px #ccc; height:35px; padding:0 15px; color:#797979; margin-bottom:0;}
.wpcf7 textarea{width:60%; border:1px solid #cccccc; box-shadow:inset 1px 1px 2px #ccc; height:150px; color:#797979; margin-bottom:25px; font:12px arial; padding:10px; padding-right:0;}
.wpcf7 input[type="submit"]{background-color:#efc62c; width:auto; border:none; cursor:pointer; color:#ffffff; padding:10px 40px; border-radius:3px;}

/* Accessibility */
/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; 
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content_holder[tabindex="-1"]:focus {
  outline: 0;
}


/* = Navigation Focus CSS
-------------------------------------------- */

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
a:focus {
	outline: thin dotted #e96300;
}

.default_content_alignbx a{
font-weight:bold;
text-decoration:underline;
}

/*-------------------------------------------------------------
   Photo Gallery template (template-photo-gallery.php)
-------------------------------------------------------------*/
.inner_banner{ width:100%; height:430px; background-position:center center; background-size:cover; background-repeat:no-repeat; position:relative; }
.inner_banner:before{ content:""; position:absolute; top:0; left:0; right:0; bottom:0; background:transparent; }

.photo_gallery_section{ background-color:#f1f1f1; padding:60px 0; }
.photo_gallery_box{ background-color:#fff; padding:50px; box-shadow:0 0 5px #e2e2e2; }

.photo_gallery_title{ font-size:26px; font-weight:bold; text-transform:uppercase; color:#222; letter-spacing:1px; margin:0 0 25px; }
.photo_gallery_intro{ margin-bottom:35px; }
.photo_gallery_intro p{ color:#777; line-height:1.8; margin-bottom:15px; }

.photo_gallery_grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.photo_gallery_item{ overflow:hidden; border-radius:12px; }
.photo_gallery_item a{ display:block; overflow:hidden; position:relative; border-radius:12px; box-shadow:0 6px 18px rgba(0,0,0,.08); cursor:pointer; }
.photo_gallery_item img{ width:100%; height:240px; object-fit:cover; display:block; transition:transform .6s cubic-bezier(.2,.8,.2,1); }
.photo_gallery_item a:hover img{ transform:scale(1.1); }

/* Modern hover: orange gradient veil + a scaling "view" circle */
.photo_gallery_item a::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(to top, rgba(233,99,0,.62), rgba(0,0,0,.12)); opacity:0; transition:opacity .4s ease; }
.photo_gallery_item a::after{ content:"+"; position:absolute; z-index:2; top:50%; left:50%; width:54px; height:54px; line-height:48px; text-align:center; border:2px solid #fff; border-radius:50%; color:#fff; font-size:30px; font-weight:300; opacity:0; transform:translate(-50%,-50%) scale(.5); transition:opacity .4s ease, transform .4s ease; }
.photo_gallery_item a:hover::before{ opacity:1; }
.photo_gallery_item a:hover::after{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.photo_gallery_item a:focus-visible{ outline:3px solid #e96300; outline-offset:3px; }

/* Scroll reveal — only active once JS adds .pg-reveal-ready (graceful no-JS) */
.pg-reveal-ready .photo_gallery_item{ opacity:0; transform:translateY(30px); transition:opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1); }
.pg-reveal-ready .photo_gallery_item.is-visible{ opacity:1; transform:none; }

/* Lightbox — dimmed page stays visible behind */
.fl-lightbox{ position:fixed; inset:0; z-index:100000; display:flex; align-items:center; justify-content:center; padding:48px; box-sizing:border-box; background:rgba(0,0,0,.72); opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; }
.fl-lightbox.is-open{ opacity:1; visibility:visible; }
.fl-lightbox__figure{ margin:0; max-width:90vw; max-height:86vh; display:flex; flex-direction:column; align-items:center; transform:scale(.94); transition:transform .3s ease; }
.fl-lightbox.is-open .fl-lightbox__figure{ transform:scale(1); }
.fl-lightbox__img{ max-width:90vw; max-height:80vh; width:auto; height:auto; display:block; border-radius:8px; box-shadow:0 24px 70px rgba(0,0,0,.55); background:#fff; }
.fl-lightbox__cap{ margin-top:14px; color:#fff; font-size:14px; letter-spacing:.3px; opacity:.9; text-align:center; }
.fl-lightbox__close,
.fl-lightbox__nav{ position:absolute; border:0; background:rgba(255,255,255,.14); color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:background .2s ease, transform .25s ease; }
.fl-lightbox__close{ top:20px; right:24px; width:46px; height:46px; border-radius:50%; font-size:30px; line-height:1; }
.fl-lightbox__close:hover{ background:#e96300; transform:rotate(90deg); }
.fl-lightbox__nav{ top:50%; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; font-size:22px; }
.fl-lightbox__nav:hover{ background:#e96300; }
.fl-lightbox__prev{ left:24px; }
.fl-lightbox__next{ right:24px; }
body.fl-lightbox-open{ overflow:hidden; }

@media (max-width:768px){
	.inner_banner{ height:260px; }
	.photo_gallery_section{ padding:30px 0; }
	.photo_gallery_box{ padding:25px; }
	.photo_gallery_grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
	.photo_gallery_item img{ height:180px; }
	.fl-lightbox{ padding:16px; }
	.fl-lightbox__close{ top:12px; right:12px; width:40px; height:40px; font-size:26px; }
	.fl-lightbox__nav{ width:40px; height:40px; font-size:18px; }
	.fl-lightbox__prev{ left:8px; }
	.fl-lightbox__next{ right:8px; }
}
@media (max-width:480px){
	.photo_gallery_grid{ grid-template-columns:1fr; }
	.photo_gallery_title{ font-size:22px; }
}

/* About Us team row (template-about-us.php) */
.about_team_grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.about_team_item{ overflow:hidden; }
.about_team_item a{ display:block; overflow:hidden; position:relative; border-bottom:8px solid #1a1a1a; }
.about_team_item img{ width:100%; height:280px; object-fit:cover; display:block; transition:transform .45s ease, opacity .35s ease; }
.about_team_item a:hover img{ transform:scale(1.08); opacity:.85; }

@media (max-width:768px){
	.about_team_grid{ grid-template-columns:repeat(2,1fr); }
	.about_team_item img{ height:240px; }
}
@media (max-width:480px){
	.about_team_grid{ grid-template-columns:1fr; }
}

/* About Us — content blocks, properties, approach & FAQs (template-about-us.php) */
.about_intro p{ font-size:16px; }
.about_block{ margin-top:50px; }
.about_block_title{ position:relative; font-size:22px; font-weight:bold; text-transform:uppercase; letter-spacing:.5px; color:#222; margin:0 0 28px; padding-bottom:14px; }
.about_block_title:after{ content:""; position:absolute; left:0; bottom:0; width:54px; height:3px; background:#e96300; }

/* Property cards — modern, image-led */
.property_grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:30px; }
.property_card{ display:flex; flex-direction:column; background:#fff; border:1px solid #eee; border-radius:16px; overflow:hidden; box-shadow:0 6px 18px rgba(0,0,0,.04); transition:transform .35s ease, box-shadow .35s ease; }
.property_card:hover{ transform:translateY(-8px); box-shadow:0 24px 44px rgba(0,0,0,.12); }

.property_card_media{ position:relative; display:block; overflow:hidden; aspect-ratio:16/10; }
.property_card_media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.property_card:hover .property_card_media img{ transform:scale(1.07); }
.property_card_media:after{ content:""; position:absolute; left:0; right:0; bottom:0; height:55%; background:linear-gradient(to top, rgba(0,0,0,.42), rgba(0,0,0,0)); pointer-events:none; }
.property_card_loc{ position:absolute; left:16px; bottom:16px; z-index:1; display:inline-flex; align-items:center; gap:7px; background:rgba(255,255,255,.92); backdrop-filter:blur(2px); color:#e96300; font-size:13px; font-weight:700; letter-spacing:.3px; padding:7px 14px; border-radius:50px; box-shadow:0 4px 12px rgba(0,0,0,.12); }

.property_card_body{ display:flex; flex-direction:column; flex:1 1 auto; padding:26px 28px 30px; }
.property_card_name{ font-size:22px; font-weight:bold; line-height:1.25; margin:0 0 16px; }
.property_card_name a{ color:#222; text-decoration:none; transition:color .25s ease; }
.property_card_name a:hover{ color:#e96300; }
.property_specs{ list-style:none; margin:0 0 18px; padding:0 0 20px; border-bottom:1px solid #f0f0f0; display:flex; flex-wrap:wrap; gap:8px; }
.property_specs li{ display:inline-flex; align-items:center; color:#555; font-size:13px; font-weight:600; background:#f7f7f7; padding:7px 13px; border-radius:50px; transition:background .25s ease, color .25s ease; }
.property_specs li i{ color:#e96300; margin-right:7px; font-size:12px; transition:color .25s ease; }
.property_card:hover .property_specs li{ background:#fff4ec; }
.property_card_desc{ color:#777; font-size:14.5px; line-height:1.75; margin:0 0 24px; }
.property_card_link{ margin-top:auto; align-self:flex-start; display:inline-flex; align-items:center; gap:9px; background:#e96300; color:#fff; font-size:14px; font-weight:bold; text-transform:uppercase; letter-spacing:.5px; text-decoration:none; padding:13px 28px; border-radius:50px; box-shadow:0 8px 18px rgba(233,99,0,.22); transition:background .25s ease, gap .25s ease, box-shadow .25s ease; }
.property_card_link:hover{ background:#222; color:#fff; gap:14px; box-shadow:0 10px 22px rgba(0,0,0,.18); }

/* Approach cards — modern, with watermark number & gradient icon */
.approach_grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.approach_card{ position:relative; overflow:hidden; background:#fff; border:1px solid #eee; border-radius:16px; padding:32px 30px; box-shadow:0 6px 18px rgba(0,0,0,.04); transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.approach_card:hover{ transform:translateY(-8px); box-shadow:0 24px 44px rgba(0,0,0,.10); border-color:transparent; }
/* Accent bar that wipes across the top on hover */
.approach_card:before{ content:""; position:absolute; top:0; left:0; right:0; height:4px; background:linear-gradient(90deg,#f7a14e,#e96300); transform:scaleX(0); transform-origin:left; transition:transform .4s ease; }
.approach_card:hover:before{ transform:scaleX(1); }
/* Oversized watermark number in the corner */
.approach_card_num{ position:absolute; top:14px; right:22px; font-size:64px; font-weight:800; line-height:1; color:#f4f4f4; letter-spacing:-2px; z-index:0; transition:color .35s ease; pointer-events:none; }
.approach_card:hover .approach_card_num{ color:#fdeede; }
.approach_card_icon{ position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; margin-bottom:20px; border-radius:18px; background:linear-gradient(135deg,#ffb36b,#e96300); color:#fff; font-size:26px; box-shadow:0 10px 22px rgba(233,99,0,.28); transition:transform .35s ease; }
.approach_card:hover .approach_card_icon{ transform:scale(1.06) rotate(-4deg); }
.approach_card_body{ position:relative; z-index:1; }
.approach_card_title{ font-size:19px; font-weight:bold; color:#222; margin:0 0 10px; }
.approach_card_desc{ color:#777; font-size:14.5px; line-height:1.75; margin:0; }

/* FAQ accordion — modern card style */
.faq_list{ display:flex; flex-direction:column; gap:14px; }
.faq_item{ position:relative; background:#fff; border:1px solid #ededed; border-radius:12px; overflow:hidden; transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.faq_item:hover{ border-color:#f3c9a8; box-shadow:0 8px 22px rgba(0,0,0,.05); }
.faq_item[open]{ border-color:transparent; box-shadow:0 16px 34px rgba(233,99,0,.12); }
.faq_item:before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:#e96300; transform:scaleY(0); transform-origin:top; transition:transform .3s ease; }
.faq_item[open]:before{ transform:scaleY(1); }

.faq_q{ display:flex; align-items:center; justify-content:space-between; gap:18px; padding:22px 26px; cursor:pointer; list-style:none; font-size:16px; font-weight:600; line-height:1.5; color:#222; transition:color .25s ease; }
.faq_q::-webkit-details-marker{ display:none; }
.faq_q:hover{ color:#e96300; }
.faq_item[open] .faq_q{ color:#e96300; padding-bottom:12px; }
.faq_q_text{ flex:1 1 auto; }

.faq_q_toggle{ flex:0 0 auto; display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:#fff4ec; color:#e96300; font-size:13px; transition:background .3s ease, color .3s ease, transform .35s ease; }
.faq_q_toggle i{ transition:transform .35s ease; }
.faq_q:hover .faq_q_toggle{ background:#e96300; color:#fff; }
.faq_item[open] .faq_q_toggle{ background:#e96300; color:#fff; transform:rotate(135deg); }

.faq_a{ padding:0 26px 24px; }
.faq_a p{ color:#777; font-size:14.5px; line-height:1.85; margin:0; max-width:760px; }

/* Smooth reveal of the answer when supported (no-JS friendly) */
@supports (interpolate-size: allow-keywords){
	.faq_item::details-content{ height:0; overflow:hidden; opacity:0; transition:height .35s ease, opacity .35s ease, content-visibility .35s allow-discrete; }
	.faq_item[open]::details-content{ height:auto; opacity:1; }
}

@media (max-width:768px){
	.property_grid{ grid-template-columns:1fr; }
	.approach_grid{ grid-template-columns:1fr; }
	.about_block{ margin-top:38px; }
	.about_block_title{ font-size:20px; }
}

/* Contact Us (template-contact-us.php) — modern components on the theme palette.
   Accent stays the theme orange #e96300 (hover #222); neutrals reuse the
   theme greys. Scoped with .contact_box so other .photo_gallery_box pages
   keep their default styling. */
.contact_wrapper{ display:flex; flex-wrap:wrap; gap:60px; align-items:flex-start; }
.contact_form_col{ flex:1 1 0; min-width:280px; }
.contact_info_col{ flex:0 0 320px; max-width:320px; }

/* Section heading + intro — theme colours with a tidy accent underline */
.contact_box .photo_gallery_title{ font-size:30px; color:#303030; padding-bottom:18px; margin-bottom:22px; border-bottom:2px solid #e96300; }
.contact_box .photo_gallery_intro p{ color:#777; }
.contact_box .photo_gallery_intro a{ color:#e96300; text-decoration:none; }
.contact_box .photo_gallery_intro a:hover{ color:#222; text-decoration:underline; }

.contact_notice{ padding:14px 18px; margin:0 0 22px; border-radius:10px; font-size:14px; }
.contact_notice--success{ background:#eafaf0; border:1px solid #b6e6c8; color:#1d7a44; }
.contact_notice--error{ background:#fdecea; border:1px solid #f5c2bb; color:#b8362b; }
.contact_notice--error p{ margin:0 0 5px; }
.contact_notice--error p:last-child{ margin:0; }

.contact_form .contact_field{ margin:0 0 24px; }
.contact_form label{ display:block; color:#444; font-size:15px; font-weight:600; margin-bottom:9px; letter-spacing:.2px; }
.contact_form .contact_req{ color:#e96300; font-weight:700; }

.contact_field_row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

.contact_form input[type="text"],
.contact_form input[type="tel"],
.contact_form input[type="email"],
.contact_form textarea{ width:100%; padding:14px 16px; border:1px solid #ddd; border-radius:12px; background:#fcfcfc; color:#333; font-size:15px; line-height:1.5; box-sizing:border-box; transition:border-color .2s ease, box-shadow .2s ease, background .2s ease; -webkit-appearance:none; appearance:none; }
.contact_form input::placeholder,
.contact_form textarea::placeholder{ color:#999; }
.contact_form input[type="text"]:hover,
.contact_form input[type="tel"]:hover,
.contact_form input[type="email"]:hover,
.contact_form textarea:hover{ border-color:#c9c9c9; }
.contact_form input[type="text"]:focus,
.contact_form input[type="tel"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus{ border-color:#e96300; background:#fff; outline:none; box-shadow:0 0 0 4px rgba(233,99,0,.14); }
.contact_form textarea{ resize:vertical; min-height:150px; }

.contact_submit{ margin:6px 0 0; }
.contact_form .contact_submit button{ display:inline-flex; align-items:center; justify-content:center; background:#e96300; color:#fff; border:0; padding:15px 44px; border-radius:999px; font-size:15px; font-weight:700; letter-spacing:.4px; text-transform:uppercase; cursor:pointer; box-shadow:0 8px 20px rgba(233,99,0,.26); transition:background .2s ease, transform .15s ease, box-shadow .2s ease; }
.contact_form .contact_submit button:hover{ background:#222; transform:translateY(-2px); box-shadow:0 12px 26px rgba(0,0,0,.2); }
.contact_form .contact_submit button:active{ transform:translateY(0); box-shadow:0 6px 14px rgba(0,0,0,.18); }
.contact_form .contact_submit button.is-loading{ opacity:.7; cursor:wait; pointer-events:none; }

/* Consent checkbox */
.contact_consent label{ display:flex; align-items:flex-start; gap:10px; font-weight:400; color:#555; font-size:14px; line-height:1.5; cursor:pointer; }
.contact_consent input{ flex:0 0 auto; width:18px; height:18px; margin-top:2px; accent-color:#e96300; }

/* Inline validation feedback */
.contact_form .field_error{ display:block; margin-top:7px; color:#c0392b; font-size:13px; font-weight:600; }
.contact_form .contact_field.has_error input,
.contact_form .contact_field.has_error textarea{ border-color:#e0524a; box-shadow:0 0 0 4px rgba(224,82,74,.12); }

/* AJAX status notice (reuses .contact_notice colours) */
.contact_form_status{ display:none; }

/* Honeypot — visually removed, kept in the DOM for bots */
.contact_hp{ position:absolute !important; left:-9999px !important; top:auto; width:1px; height:1px; overflow:hidden; }

/* "Get in Touch" info column */
.get_in_touch{ background:#f7f7f7; border:1px solid #e6e6e6; border-radius:16px; padding:34px 32px; }
.git_block{ margin:0 0 26px; }
.git_block:last-child{ margin-bottom:0; }
.git_heading{ font-size:20px; font-weight:600; color:#303030; margin:0 0 8px; }
.git_text{ color:#777; font-size:15px; line-height:1.7; margin:0; }
.git_phone{ display:inline-block; font-size:28px; font-weight:700; color:#e96300; text-decoration:none; line-height:1.2; }
.git_phone:hover{ color:#222; }
.git_email{ display:inline-block; color:#e96300; font-size:15px; font-weight:600; text-decoration:underline; text-underline-offset:3px; cursor:pointer; transition:color .2s ease; }
.git_email:hover{ color:#222; }

.git_social{ display:flex; gap:10px; margin-top:4px; }
.git_social a{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:10px; background:#e96300; color:#fff; font-size:16px; text-decoration:none; transition:background .2s ease, transform .15s ease; }
.git_social a:hover{ background:#222; transform:translateY(-2px); }

@media (max-width:768px){
	.contact_wrapper{ gap:34px; }
	.contact_info_col{ flex:1 1 100%; max-width:100%; }
	.photo_gallery_box .photo_gallery_title{ font-size:28px; }
}

@media (max-width:480px){
	.contact_field_row{ grid-template-columns:1fr; }
}

/* Services — modern icon-card grid (template-services.php) */
.service_grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; }
.service_card{ background:#fff; border:1px solid #ededed; border-radius:8px; padding:38px 28px; text-align:center; transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.service_card:hover{ transform:translateY(-6px); box-shadow:0 16px 30px rgba(0,0,0,.08); border-color:transparent; }
.service_card_icon{ display:inline-flex; align-items:center; justify-content:center; width:78px; height:78px; margin-bottom:22px; border-radius:50%; background:#fff4ec; color:#e96300; font-size:30px; transition:background .3s ease, color .3s ease; }
.service_card:hover .service_card_icon{ background:#e96300; color:#fff; }
.service_card_title{ font-size:19px; font-weight:bold; color:#222; margin:0 0 12px; }
.service_card_desc{ color:#777; font-size:14.5px; line-height:1.7; margin:0; }

@media (max-width:900px){ .service_grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .service_grid{ grid-template-columns:1fr; } }

/* Development — modern numbered timeline (template-development.php) */
.dev_timeline{ list-style:none; margin:0; padding:0; position:relative; counter-reset:none; }
.dev_timeline:before{ content:""; position:absolute; left:27px; top:8px; bottom:8px; width:2px; background:linear-gradient(#f3c39e,#e96300); }
.dev_step{ position:relative; margin:0 0 34px; padding:0 0 0 80px; min-height:56px; }
.dev_step:last-child{ margin-bottom:0; }
.dev_step:before{ display:none; }
.dev_step_no{ position:absolute; left:0; top:0; width:56px; height:56px; border-radius:50%; background:#e96300; color:#fff; font-size:18px; font-weight:bold; display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 6px #fff, 0 0 0 8px #fbe2d0; z-index:1; }
.dev_step_body{ background:#fafafa; border:1px solid #eee; border-left:3px solid #e96300; border-radius:6px; padding:20px 24px; transition:box-shadow .3s ease, transform .3s ease; }
.dev_step:hover .dev_step_body{ transform:translateX(4px); box-shadow:0 10px 22px rgba(0,0,0,.06); }
.dev_step_title{ font-size:18px; font-weight:bold; color:#222; margin:0 0 8px; }
.dev_step_title i{ color:#e96300; margin-right:8px; }
.dev_step_desc{ color:#777; font-size:14.5px; line-height:1.7; margin:0; }

@media (max-width:560px){
	.dev_timeline:before{ left:21px; }
	.dev_step{ padding-left:62px; }
	.dev_step_no{ width:44px; height:44px; font-size:15px; box-shadow:0 0 0 5px #fff, 0 0 0 7px #fbe2d0; }
}
/* =========================================================================
 * Legal pages — Cookie Policy, Privacy Policy, Terms of Use
 * Shared, readable long-form layout built on the inner-page shell
 * (.inner_banner + .photo_gallery_box). One stylesheet block powers all three.
 * ========================================================================= */
.legal_box{ max-width:920px; margin:0 auto; }

/* Header: title + "last updated" badge */
.legal_header{ border-bottom:2px solid #e96300; padding-bottom:20px; margin-bottom:26px; }
.legal_box .photo_gallery_title{ margin:0 0 14px; }
.legal_meta{ display:inline-flex; align-items:center; gap:8px; font-size:13px; color:#8a8a8a; background:#faf3ee; border:1px solid #f3ddcb; padding:7px 14px; border-radius:30px; }
.legal_meta i{ color:#e96300; }
.legal_intro{ margin-bottom:8px; }
.legal_intro p{ color:#555; line-height:1.85; margin:0 0 14px; font-size:15.5px; }

/* Table of contents */
.legal_toc{ background:#fafafa; border:1px solid #eee; border-left:3px solid #e96300; border-radius:6px; padding:24px 28px; margin:0 0 40px; }
.legal_toc h2{ font-size:14px; text-transform:uppercase; letter-spacing:.6px; color:#222; margin:0 0 16px; }
.legal_toc ol{ margin:0; padding:0; list-style:none; counter-reset:toc; columns:2; column-gap:36px; }
.legal_toc li{ counter-increment:toc; margin:0 0 10px; break-inside:avoid; }
.legal_toc a{ color:#555; text-decoration:none; font-size:14.5px; display:inline-flex; align-items:baseline; gap:9px; line-height:1.5; transition:color .2s ease; }
.legal_toc a:before{ content:counter(toc,decimal-leading-zero); color:#e96300; font-weight:bold; font-size:12.5px; }
.legal_toc a:hover{ color:#e96300; }

/* Sections */
.legal_section{ margin:0 0 36px; scroll-margin-top:90px; }
.legal_section:last-child{ margin-bottom:0; }
.legal_section > h2{ position:relative; font-size:20px; font-weight:bold; color:#222; margin:0 0 18px; padding-bottom:12px; letter-spacing:.2px; }
.legal_section > h2:after{ content:""; position:absolute; left:0; bottom:0; width:46px; height:3px; background:#e96300; }
.legal_section h3{ font-size:16px; color:#333; margin:24px 0 10px; }
.legal_section p{ color:#666; line-height:1.85; margin:0 0 14px; font-size:15px; }
.legal_section p:last-child{ margin-bottom:0; }
.legal_section a{ color:#e96300; text-decoration:none; word-break:break-word; }
.legal_section a:hover{ color:#222; text-decoration:underline; }

/* Bulleted lists — tick by default, cross for the "what we don't do" lists */
.legal_list{ list-style:none; margin:4px 0 18px; padding:0; }
.legal_list li{ position:relative; padding:0 0 0 28px; margin:0 0 12px; color:#666; line-height:1.7; font-size:15px; }
.legal_list li:last-child{ margin-bottom:0; }
.legal_list li:before{ content:"\f00c"; font-family:"Font Awesome 5 Free"; font-weight:900; position:absolute; left:0; top:2px; color:#e96300; font-size:12px; }
.legal_list li strong{ color:#333; }
.legal_list--cross li:before{ content:"\f00d"; color:#c0392b; }

/* Cookie category cards */
.legal_cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:8px 0 20px; }
.legal_card{ background:#fafafa; border:1px solid #eee; border-top:3px solid #e96300; border-radius:6px; padding:22px; }
.legal_card_icon{ width:44px; height:44px; border-radius:50%; background:#fbe2d0; color:#e96300; display:flex; align-items:center; justify-content:center; font-size:16px; margin-bottom:14px; }
.legal_card h3{ margin:0 0 9px; font-size:15px; color:#222; }
.legal_card p{ font-size:13.5px; margin:0; line-height:1.65; color:#666; }
.legal_card_state{ display:inline-block; margin-top:12px; font-size:11px; text-transform:uppercase; letter-spacing:.4px; font-weight:bold; padding:3px 11px; border-radius:20px; }
.legal_card_state--on{ background:#e7f5e9; color:#2e7d32; }
.legal_card_state--opt{ background:#fff4e5; color:#b26a00; }
.legal_card_state--off{ background:#f0f0f0; color:#777; }

/* Address / contact callout */
.legal_callout{ background:#faf3ee; border:1px solid #f3ddcb; border-radius:8px; padding:22px 26px; margin:6px 0 18px; }
.legal_callout p{ margin:0 0 8px; color:#555; }
.legal_callout p:last-child{ margin-bottom:0; }
.legal_callout strong{ color:#222; }

/* Browser quick-links (manage cookies) */
.legal_browsers{ display:flex; flex-wrap:wrap; gap:12px; margin:8px 0 18px; padding:0; list-style:none; }
.legal_browsers a{ display:inline-flex; align-items:center; gap:9px; background:#fafafa; border:1px solid #eee; border-radius:6px; padding:11px 17px; color:#444; font-size:14px; text-decoration:none; transition:border-color .25s ease, color .25s ease; }
.legal_browsers a:hover{ border-color:#e96300; color:#e96300; text-decoration:none; }
.legal_browsers i{ font-size:17px; color:#e96300; }

@media (max-width:768px){
	.legal_cards{ grid-template-columns:1fr; }
	.legal_toc ol{ columns:1; }
	.legal_section > h2{ font-size:18px; }
}

/* Footer legal links row */
/* Centred horizontally across the whole footer row (independent of the
   copyright block on the left and social icons on the right), and bottom-aligned
   so it sits on the same line as "Build By North Digital". */
.footer-legal{ position:absolute; left:50%; bottom:0; transform:translateX(-50%); display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px 18px; margin:0; }
.footer-legal a{ color:#bdbdbd; font-size:13px; text-decoration:none; transition:color .2s ease; }
.footer-legal a:hover{ color:#e96300; }
.footer-legal .sep{ color:#555; }

@media (max-width:768px){
	/* Stack in normal flow on small screens instead of overlaying the row. */
	.footer-legal{ position:static; transform:none; }
}
