/*
Theme Name: Landmark Hire V1.0
Author URI: http://www.brightcherry.co.uk/
Description: Landmark Hire Custom Theme
Version: 1.1
*/

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}

body, html{height:100%}

:focus {/* remember to define focus styles! */
	outline: 0;
}

ol, ul {
	list-style: none;
}

a{
	color: #000;
}

a img {
	border: 0;
}

* {
	box-sizing: border-box;
}

strong{
	font-weight:700;
}

em{
	font-style:italic;
}

.clear{
	width:100%;
	clear:both;
	height:0;
}

.clear.break20{
	height:20px;
}

p{
	padding:0 0 20px 0;
	font-size:17px;
	line-height:1.6em;
}

small{
	font-size:14px;
}

.post-content ul,
.post-content ol{
	line-height:1.6em;
	font-size:17px;	
}

p.medium{
	font-size:px;
	padding-bottom:30px;
}

p.large{
	font-size:21px;
	padding-bottom:30px;
}


body,
.strapline h5,
.panel.tickboxes h5,
#banner .banner-text h3{
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: normal;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}

h1,h2,h3,h4,h5,h6{
	font-family: "Roboto Condensed", sans-serif;
  font-weight: 600;
  font-style: normal;
	line-height: 1.2em;
}

h1{
	font-size:46px;
}

h2{
	font-size:38px;
}

h3{
	font-size:30px;
}

h4{
	font-size:26px;
}

h5{
	font-size:21px;
}

h6{
	font-size:19px;
}


.btn{
	border-radius: .25rem;
  backface-visibility: hidden;
  border-style: solid;
  border-width: 3px;
  background-color:#b39d6e;
  border-color:#b39d6e;
  color:#fff;
  cursor: pointer;
  display: inline-block;
  font-size: 18px;
  font-weight: 600;
  padding: 10px 25px 10px 25px;
  position: relative;
  text-align: left;
  text-decoration: none !important;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  transition: all 0.3s ease-out;
}

btn::after {
  content: "";
  background: #ecf0f1;
  position: absolute;
  z-index: -1;
  padding: 0.85em 0.75em;
  display: block;
}

.btn:hover{
	background-color:#fff;
}

.btn.btn-trans:hover{
	color:#fff;
}

.btn.btn-arrow{
  padding: 8px 40px 10px 20px;
}

.btn.btn-arrow:after {
	position: absolute;
	display: block;
	color:#fff;
	right: 10px;
	top:50%;
	transform: translate(-50%, -50%);
	font-size: 13px;
	content: '\f054';
	font-weight: 200;
	font-family: 'Font Awesome 7 Free';
	text-align: center;
	padding:0;
}


.btn.btn-trans,
.btn.btn-trans.btn-hover-disable:hover{
	background-color:#fff;
	color:#b39d6e;
}

.btn.btn-trans:after,
.btn.btn-trans.btn-hover-disable:hover:after{
	color:#b39d6e;
}

.btn.btn-trans:hover:after{
	color:#fff;
}

.btn.btn-hover-black:hover,
.popular-services .content .grid.cols .item:hover .btn{
	border-color:#000;
}

.submit.full-width .btn{
	width:100%;
}

.btn.small{
	font-size:14px;
  padding: 8px 20px;
  border-width: 1px;
}

.btn.medium{
	font-size:16px;
  padding: 8px 20px;
  border-width: 2px;
}

.btn.medium.btn-arrow{
	padding-right:35px;
}

.btn.medium.btn-arrow:after {
	transform: translate(-54%, -54%);	
	top:54%
}

.btn-large{
	font-size:19px;
  padding: 8px 60px 10px 30px;
}

.btn-large:after {
	font-size: 16px;	
}

.btn .icon{
	margin-right:8px;
}

.btn:focus {
  outline: 0 solid transparent;
}

.btn:focus:before {
  content: "";
  left: calc(-1*.375rem);
  pointer-events: none;
  position: absolute;
  top: calc(-1*.375rem);
  transition: border-radius;
  user-select: none;
}

.btn:focus:not(:focus-visible) {
  outline: 0 solid transparent;
}

.btn:focus:not(:focus-visible):before {
  border-width: 0;
}

.btn:not(:disabled):active {
  transform: translateY(.125rem);
}

.btn.tel:hover{
	background-color:#fff !important;
	color:#b39d6e !important;
}

.disable-hover{
	cursor:auto !important;
}

.box-shadow,
.navigation ul#nav li .sub-menu{
	-webkit-box-shadow: 0 7px 20px -3px rgb(0 0 0 / 15%);
	box-shadow: 0 7px 20px -3px rgb(0 0 0 / 15%);
}


.underline {
  position: relative;
  font-weight:700;
}

.underline:after {
	content: '';
	position: absolute;
	width: 100%;
	border-top: solid 4px red;
	left: 0;
	bottom: -16px;
	border-radius: 50%;
	height: 8px;
}


/* =Colours
----------------------------------------------- */

.black{
	color:#000;
}

.gold,
#nav .menu-item-has-children:hover > a,
.btn:hover,
.btn:hover::after,
.post-content a.btn:hover,
.copyright a:hover,
.navigation a:hover,
#footer ul.links a:hover,
#footer ul.contact li a,
.post-content a,
.panel.tickboxes .item:before,
.logo-wrapper .strapline h5,
.navigation ul > li.current-menu-item > a,
.navigation ul#nav li .sub-menu li a:hover,
.accordion h3.trigger.active{
	color:#b39d6e;
}

.gold-bg,
.posts .cards a.item:hover,
.btn.btn-trans:hover,
.social a:hover{
	background-color:#b39d6e;	
}


.grey{
	color:#666;
}

.white,
.posts .cards a.item:hover *,
.posts .cards a.item:hover span.date,
.post-content a.btn,
.popular-services .content .grid.cols .item:hover .btn,
.popular-services .content .grid.cols .item:hover .btn:after{
	color:#fff;
}

.black-bg,
.btn.btn-hover-black:hover,
.popular-services .content .grid.cols .item:hover .btn{
	background-color:#000;
}


/* =Structure
----------------------------------------------- */

body {
	text-align:center;
	color: #000;
	text-align:center;
}

#wrapper{
	position:relative;
	width:100%;
	max-width:2000px;
	min-width:410px;
}

#main-content{
	width:100%;
	margin:0 auto;
	padding:40px 0;
	text-align:left;	
}

.setwidth{
	position:relative;	
	max-width:1450px;
	min-width:360px;	
	margin: 0 auto;
	padding:0 20px;
}

.setwidth.small_width{
		max-width:1000px;
}

.setwidth.large{
	max-width:1650px;
}

.table{
	display:table;
	width:100%;
	border-collapse: collapse;
	table-layout: fixed;	
}

.table-row{
	display:table-row;
	width:100%;
}

.table-cell{
	display:table-cell;
	vertical-align:top;
}

.grid{
	display:grid;
	width:100%;
	text-align:left;
}

.grid.col-3{
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 40px;
}

.grid.col-2{
	grid-template-columns: repeat(2, 1fr);
	grid-gap: 60px;
}

.grid.col-4{
	grid-template-columns: repeat(4, 1fr);
	grid-gap: 30px;
}

.grid.col-5{
	grid-template-columns: repeat(5, 1fr);
	grid-gap: 50px;
}

.grid.col-6{
	grid-template-columns: repeat(6, 1fr);
	grid-gap: 30px;
}


.no-top-padding{
	padding-top:0 !important;
}

.no-bottom-padding{
	padding-bottom:0 !important;
}

.no-left-padding,
.panel.form-panel .content ul{
	padding-left:20px !important;
}

/* =Card Styles
----------------------------------------------- */

.cards.style-1{
	margin:0;
	padding:0;
	list-style-type:none;
	display:grid;
	width:100%;
	text-align:left;
	grid-template-columns: repeat(3, 1fr);
	grid-gap: 15px;
}

.post-content ul.cards.style-1 li{
	padding-bottom:0;
}

.cards.style-1 a.card {	
	position:relative;
	display:block;
	text-decoration:none;
	width:100%;
	border-radius:8px;
}

.cards.style-1 a.card img{
	display:block !important;
	width:100%;
	height: 150px;     /* set your desired height */
	object-fit: cover; /* crop edges but keep proportions */
	border-bottom-left-radius: 8px;
	border-bottom-right-radius: 8px;
}

.cards.style-1 a.card span.label{
	position:relative;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
	display:block;
	font-size:15px;
	font-weight:600;
	color:#fff;
	padding:7px 14px;
	background-color:#000;
	transition: all 0.2s ease-out;	
	line-height:1.2em;
	min-height: 60px; /* adjust to your preferred height */
	display: flex;
	align-items: center;   /* vertically center text */	
}

.cards.style-1 a.card:hover span.label{
	background-color:#b39d6e	
}

.cards.style-1 a.card:hover span.label:after {
	position: absolute;
	display: block;
	color:#fff;
	right: 12px;
	top:24px;
	font-size: 13px;
	content: '\f054';
	font-weight: 200;
	font-family: 'Font Awesome 7 Free';
	text-align: center;
	padding:0;
}


/* =Header
----------------------------------------------- */


#header {
	position: relative;
}

#header-top{
	padding:0;	
}

#header .setwidth{
	padding-right:30px;
	padding-left:30px;
	max-width:2000px;
}

#header-top .grid .item{
  display: flex;
  flex-direction: column; /* optional: stack children vertically */
  justify-content: center; /* vertical alignment */
  height: 100%; /* make sure the item has height */
}


.logo-wrapper{
	width:370px;
	text-align:left;
	float:left;
	margin:34px 0 30px 0;
}

.logo-wrapper a.logo{
	display:inline-block;
	text-align:left;
	text-decoration:none;
}

.logo-wrapper a.logo img{
	height:40px;
	width:auto;
}

.logo-wrapper .strapline{
	padding:5px 0 0 0;
	text-align:left;	
}

.logo-wrapper .strapline h5{
	font-size: 18px;
	font-weight:500;
}

.topbar-nav{
	position:relative;
}

.topbar-nav ul.actions {
	float:right;
	display: flex;
	align-items: center;    /* center them horizontally */
	gap: 0.5rem;            /* optional spacing between items */
	margin: 0;
	padding: 0;
	list-style: none;
	margin-bottom:5px;
}

.topbar-nav ul.actions li{
	display:inline-block;
	margin-left:0;
}

.topbar-nav ul.actions li .tel{
	border:0;	
	padding-left:0;
}

.topbar-nav ul.actions li a.no-top-radius{
  border-top-left-radius: 0;
  border-top-right-radius: 0;	
}

.navigation{
	position: relative;
	float:right;
}

.navigation ul{
	text-align:left;
}

.navigation ul li{	
	display:inline-block;
	position:relative;
	margin-left:15px;
}

.navigation ul li:last-of-type{	
	border:0;
}

.navigation ul li a{
	text-decoration:none;
	color:#000;
	display:block;
	font-weight:600;
	font-size:16px;
	padding:20px 0 20px 0;
}


.navigation ul li.menu-item-has-children a{
	padding-right:15px;
}

.navigation ul li a:hover,
.navigation ul li.menu-item-has-children:hover > a,
.navigation ul li.menu-item-has-children:active > a{
	-webkit-transition: background-color 300ms linear;
	-ms-transition: background-color 300ms linear;
	transition: background-color 300ms linear;	
}

.navigation ul li.menu-item-has-children > a:after {
	content: "\2b";
	font-size:10px;
	font-family: 'Font Awesome 7 Free';
	right:2px;
	font-style:normal;
	position:absolute;
	top: 50%; /* Position the top edge at the middle of the container */
	transform: translateY(-50%); /* Move the element up by 50% of its height */
	font-weight: 700; 
}


.navigation ul#nav li .sub-menu{
	z-index:9;
	display:none;
	position:absolute;
	left:-20px;
	top:100%;
	width:300px;	
	line-height:1.1em;
	text-align:left;
	background: #fff;
	padding:20px;
  border-bottom-right-radius: 14px;
  border-bottom-left-radius: 14px;	
}

/* last 3 dropdowns to align to the right */
.navigation ul#nav li:nth-last-child(-n+3) .sub-menu {
	left: auto;
	right: -20px;
}


.navigation ul#nav li .sub-menu li{
	float:none;
	display:block;
	width:100%;
	margin:0;
	padding:0;
}

.navigation ul#nav li .sub-menu li a{ 
	position:relative;
	color:#000;
	display:block;
	width:100%;
	font-size:16px;	
	padding:10px 8px;
	line-height:1.4em;
}

.navigation ul#nav li .sub-menu li a:before {
	content: "\f105";
	font-family: 'Font Awesome 7 Free';
	right:12px;
	font-style:normal;
	position:absolute;
	top: 50%; /* Position the top edge at the middle of the container */
	transform: translateY(-50%); /* Move the element up by 50% of its height */
	font-weight: 700; 
}

.mobile-menu{
	display:none;
	position:absolute;
	right:0;
	top:65px;
}	

.hamburger{
	padding-top:0;
	padding-bottom:0;
}
	
.hamburger-inner, 
.hamburger-inner::before, 
.hamburger-inner::after {
	border-radius: 0 !important;
	height: 5px;
	width: 40px;
}



.social a{
	display:block;
	height:48px;
	width:48px;
	font-size:21px;
	border-radius:50%;
	text-align:center;
	line-height:44px;
  transition: transform 0.3s, background-color 0.3s;
  color:#b39d6e;
  border:2px solid #b39d6e;
}

.social.small a{
	height:42px;
	width:42px;
	line-height:38px;	
	font-size:16px;
}

.social.medium a{
	height:42px;
	width:42px;
	line-height:38px;	
	font-size:19px;
}

.social a:hover{
	color:#fff;
}


/* =Homepage
----------------------------------------------- */

#banner-wrapper{
	margin:0 30px 60px 30px;
}

/* If .popular-services comes *right after* #banner-wrapper */
#banner-wrapper + .popular-services {
	margin-top: 0;
}

#banner-wrapper + .popular-services,
#banner-wrapper + .popular-services + .popular-services,
#banner-wrapper + .popular-services + .popular-services + .popular-services{
	/* remove margin-bottom from the element before it */
	margin-top: -84px; /* or whatever the banner-wrapper margin-bottom is */
}

#banner{
	position:relative;
	z-index:1;
	min-height:700px;	
	background-color:#1f1f1f;
	width:100%;	
	border-radius:30px;
	overflow:hidden;
	padding-right:40px;
	padding-left:40px;
	max-width:2000px;	
}

#banner img.banner-mobile-image{
	display:none;
}

#banner .banner-image{
	position:absolute;
	top:0;
	right:0;
	height:100%;
	width:55%;
	background-position:right center;
	background-size:cover;
	background-repeat:no-repeat;
	border-bottom-left-radius: 25rem;
}


#banner .banner-text {
	position: absolute;
	left: 40px;
  top: 50%;
  transform: translateY(calc(-50% - 50px));
	text-align: left;
	padding: 40px;
	width: 38%;
}

#banner .banner-text h1{
	color:#fff;
	font-size:48px;
	line-height:1.2em;
	padding-bottom:30px;
}

#banner .banner-text h1 span{
	font-size:16px;
}

#banner .banner-text h3{
	color:#fff;
	font-size:22px;
	font-weight:500;
	padding-bottom:20px;
	line-height:1.6em;
}

#banner .banner-text .btn{
	margin-top:30px;
}




.popular-services{
	z-index:2;
	position:relative;
	bottom:94px;
}

.panel + .popular-services,
.popular-services + .popular-services{
	bottom:auto;
}

.popular-services .post-content{
	padding-bottom:20px;
}

.popular-services .title{	
	background:#b39d6e;
	border-right:1px solid #000;
	z-index:3;
	position:relative;
	overflow:hidden;
}

.popular-services .item:last-of-type .title{
	border:0;
}

.popular-services .title h4{
	color:#fff;
	padding:30px 30px;
	font-size:30px;
}

.popular-services .content{
	padding:0 0 40px 0;
}

.popular-services .content .grid.cols{
	position:relative;
	grid-gap: 0;
	border-bottom-left-radius: 12px;
	border-bottom-right-radius: 12px;	
}

.popular-services .content .grid.cols .item{
	text-decoration:none;
  display: flex;
  flex-direction: column;
  height: 100%; /* Important if you want it to stretch fully */
  background-color:#fff;
  overflow:hidden;
}

.popular-services .content .grid.cols .item:first-of-type{
	border-top-left-radius: 12px;
	border-bottom-left-radius: 12px;	
}

.popular-services .content .grid.cols .item:last-of-type{
	border-top-right-radius: 12px;
	border-bottom-right-radius: 12px;	
}


.popular-services .content .grid.cols .item .padding{
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	padding: 30px;
}


.popular-services .content .grid.cols a.item:hover{
	background:#d5c5a4;
}

.popular-services .content .grid.cols a.item:hover .title{
	background-color:#000;
}

.popular-services .content .grid.cols .item img{
	display:block;
	width:100%;
	height:auto;
	margin-bottom:25px;
	border-radius:14px;
  height: 320px;          /* choose your max/fixed height */
  object-fit: cover;
}

.popular-services .content .grid.cols .item p{
	padding-bottom:20px;
}

.popular-services .content .grid.cols .item .btn {
  margin-top: auto;
}


/* Popular service blocks > Style: Seperate
------------------------------------------------------------------*/

.popular-services.separate-blocks .grid.col-3{
	grid-gap: 40px;
}

.popular-services .item .title{
	border:0;
}


/* Panel
------------------------------------------------------------------*/

.panel{
	position: relative;
	padding:60px 0;
}


.overlay{
	background:url("images/country.jpg") #000;
	background-size:cover;
	background-position:center;
}

.overlay::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background-color: rgba(0, 0, 0, 0.8); /* adjust opacity here */
  z-index: 1;
}

.overlay > * {
  position: relative;
  z-index: 2; /* keep content above overlay */
}


/* Panel > Gutenburg
--------------------*/

.panel.gutenburg{
	padding-top:20px;
}

.panel.gutenburg h1.page-title{
	padding:0 0 20px 0;
	text-align:left;
}


/* Panel > Text / Image
--------------------*/

.panel.image-text .item.text,
.panel.text-image .item.text,
.panel.image-text-cards .item.text{
	padding:70px 20px;
}

.panel.text-image .item.text{
	padding-left:20px;
}

.panel.image-text .item.text .btn,
.panel.text-image .item.text .btn,
.panel.image-text-cards .item.text .btn{
	margin-top:20px;
}

.panel.image-text .item.image,
.panel.text-image .item.image,
.panel.image-text-cards .item.image{
	background-repeat:no-repeat;
	background-size:cover;
	min-height:550px;
	background-position:center;
}

.panel.image-text .item.image img,
.panel.text-image .item.image img,
.panel.image-text-cards .item.image img{
	display:none;
	width:100%;
	height:auto;
}

.border-radius-left{
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;	
}

.border-radius-right{
  border-top-right-radius: 20px;
  border-bottom-right-radius: 20px;	
}





.panel.tickboxes{
	padding:50px 0;
	background-color:#000;
	margin-top:50px;
}

.panel.tickboxes .title-col{
	width:280px;
	float:left;
	text-align:left;
	padding-right:40px;
}

.panel.tickboxes .title-col h4{
	color:#fff;
	line-height:1.4em;
}

.panel.tickboxes .title-col h4 span{
	display:block;
}

.panel.tickboxes .grid-col{
	overflow: hidden; /* or use flex/grid for more control */	
}

.panel.tickboxes .grid-col .grid{
	grid-gap: 0;
}

.panel.tickboxes h5{
	font-weight:700;
	position:relative;
	line-height:1.4em;
	padding-bottom:8px;
	color:#fff;
}

.panel.tickboxes p{
	color:#fff;
	font-size:14px;
}

.panel.tickboxes .item {
	position: relative;
	padding:30px 25px 0 65px;	
	-webkit-box-shadow: 0 7px 20px -3px rgb(175 175 175 / 15%);
	box-shadow: 0 7px 20px -3px rgb(175 175 175 / 15%);
}

.panel.tickboxes .item:before{
	position:absolute;
	left:28px;
	top:31px;
	content: "\f058";
	font-family: 'Font Awesome 7 Free';
	font-size: 22px;
	font-weight: 700;
	display:block;
}


/* Panel > Form
--------------------*/


.panel.form-panel{
	margin-top:40px;
	background-color:#eee;
	padding:100px 0;
}

.page-id-43 .panel.form-panel{
	padding:0;
	background:#fff;
}


.panel.form-panel .setwidth{
	border-radius:25px;
	background-color:#000;
	border:10px solid #b19d6b;
	padding:0;
	overflow:hidden;
}

.panel.form-panel .titles{
	margin:8px;	
	padding:20px 20px;
	text-align:center;
	background:#b19d6b;
	border-top-left-radius: 25px;	
	border-bottom-right-radius: 25rem;	
}

.panel.form-panel .titles h2{
	padding-bottom:10px;
	color:#fff;
}

.panel.form-panel .titles h3 {
	color: #fff;
	font-size: 24px;
}

.panel.form-panel .content{
	padding:80px;
}

.panel.form-panel .post-content .titles h3{
	color:#fff;
}

.panel.form-panel .post-content p,
.panel.form-panel .post-content ul{
	color:#fff;
}

.panel.form-panel .post-content ul{
	padding-top:20px;
}

/* Panel > Form
--------------------*/

.panel.form-panel .form-wrapper{
	margin:50px;
}

.form-wrapper {
	padding: 35px;
	border: 3px solid #b39d6e;
	border-radius: 12px;
	margin:20px 0;
}


ul.accreditations{
	text-align:center;
	padding:0 0 0 0;
}

ul.accreditations li{
	display:inline-block;
	padding:0 60px;
	vertical-align:top;
}

ul.accreditations li:first-of-type {
	padding-left:0;
}

ul.accreditations li:last-of-type {
	padding-right:0;
}

form{
	position:relative;
}

form fieldset{
	border:2px solid #333;
	padding:12px 20px;
	margin-bottom:15px;
}

form fieldset legend{
	color:#000;
	font-weight:600;
	padding:10px;
	margin-left:15px;
}

.post-content form fieldset legend {
	font-size: 19px;
}

form .field {
	position: relative;
	text-align: left;
	margin-bottom:20px;
}


form .fields .field{
	width:49%;
	float:left;
}

form fieldset .fields:last-of-type .field{
	margin-bottom:10px;
}

form .fields .field:nth-of-type(even){
	float:right;
}


form .field label{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	font-size: 14px;
	text-align: left;
	padding: 6px 10px 0 10px;
	display: block;
	color: #666;
}

form .field label .red{
	padding-left:3px;
	display:inline-block;
}

form .wpcf7-form-control-wrap {
	position: relative;
}

form .wpcf7-text,
form select,
form textarea{
	width: 100%;
	padding: 28px 10px 5px 10px;
	border: 0;
	font-size: 16px;
	border: 0;
	position: relative;
	border: 1px solid hsla(0,0%,7%,.8);
	border-radius: 4px;
	box-sizing: border-box;
}

span.wpcf7-list-item {
	display: inline-block;
	margin: 0;
}
.wpcf7 .wpcf7-list-item {
	display: block;
	margin-bottom: 10px;
}
.wpcf7-checkbox label {
	position: relative;
	cursor: pointer;
}

.wpcf7-list-item-label {
	padding-left: 40px;
	display: block;
}

form .small-text .wpcf7-list-item-label,
form .disclaimer p{
	font-size:13px;
}

.wpcf7-checkbox input[type=checkbox] {
	/*position: relative;*/
	position: absolute;
	width: 25px;
	height: 25px;
	top: 0;
	left: 0;
	margin:0;
}

form textarea{
	height:200px;
}

.form-wrapper .btn{
	text-align:center;
  padding: 8px 30px 10px 30px;
}

.form-wrapper .disclaimer p{
	color:#000;
	font-size:14px;
	padding:10px 0 30px 0;
}

.wpcf7-not-valid-tip {
	padding:5px 0 0 0;
}


.form-wrapper .wpcf7 form .wpcf7-response-output {
	margin: 30px 0 0 0;
	padding: 20px;
	border: 2px solid #00a0d2;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #ffb900;
	color:#000;
}

.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  background-color: #dc3232;
  color:#fff;
}

.wpcf7 form.sent .wpcf7-response-output {
	background-color: #46b450; /* Green */
	color:#fff;
}


/* Panel > Form > Dark Mode
--------------------*/

.form-wrapper.dark-mode {
	background: #000;
}

.form-wrapper.dark-mode form .wpcf7-list-item-label,
.form-wrapper.dark-mode form .disclaimer p,
.form-wrapper.dark-mode form fieldset legend {
	color: #fff;
}



/* Post content
------------------------------------------------------------------*/

.post-content{
	text-align:left;
}

.post-content:after{
  content: "";
  display: table;
  clear: both;
  height:0;
}

.post-content a:hover{
	text-decoration:none;
}

.post-content ol,
.post-content ul{
	padding:10px 40px 20px 40px;
	list-style-type:circle;
}

.post-content ul.no-left-padding{
	padding-left:0;
}

.post-content p + ol,
.post-content p + ul{
	padding-top:0;
}

.post-content ol{
	list-style-type:decimal;
}

.post-content ol li,
.post-content ul li{
	padding-bottom:14px;
}

.post-content ol li:last-of-type,
.post-content ul li:last-of-type{
	padding-bottom:0;
}

.post-content table td ul,
.post-content table td ol{
	padding-left:20px;
}


.post-content ol li > h1:first-of-type,
.post-content ol li > h2:first-of-type,
.post-content ol li > h3:first-of-type,
.post-content ol li > h4:first-of-type,
.post-content ol li > h5:first-of-type,
.post-content ol li > h6:first-of-type,
.post-content ul li > h1:first-of-type,
.post-content ul li > h2:first-of-type,
.post-content ul li > h3:first-of-type,
.post-content ul li > h4:first-of-type,
.post-content ul li > h5:first-of-type,
.post-content ul li > h6:first-of-type{
	padding-top:0;
}

.post-content h1{
	padding:20px 0 20px 0;
}

.post-content .page-title h1{
	padding-top:0;
}

.post-content h2{
	padding:30px 0 20px 0;
}

.post-content h3{
	position:relative;
	padding:30px 0 15px 0;	
}

.post-content h4{
	padding:25px 0 15px 0;	
}

.post-content h5{
	padding:20px 0 10px 0;		
}

.post-content h6{
	padding:20px 0;	
}

.wp-block-separator{
	margin:40px 0;
}

.post-content blockquote{
	position:relative;
	padding:30px;
	font-style:italic;
	quotes: "\201C""\201D""\2018""\2019";
}

blockquote{
	position:relative;
}

blockquote p {
  display: inline;
}

.post-content blockquote cite{
	font-weight:600;
	display:block;
	padding-top:15px;
}


/* WP Image alignment
------------------------------------------------------------------*/

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin: 0 25px 25px 0;
}
.alignright {
	display: inline;
	float: right;
	margin: 0 0 25px 25px;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

p img,
.wp-caption {
	margin-top: 0.4em;
}

.post-content .wp-block-image figure{
	margin-bottom:4%;
}

.post-content .wp-block-image figure.alignright{
	margin:0px 0px 4% 4%;
}

.post-content .wp-block-image figure.alignleft{
	margin:0 4% 4% 0;
}


.post-content .wp-caption,
.post-content .wp-block-image figcaption{	
	margin-bottom: 1.625em;
	max-width: 100%;
	padding: 14px 9px 9px 9px;
}

.wp-block-image figcaption{
	line-height:1.4em;
	font-style:italic;
	color:#666;
}

.wp-caption img {
	display: block;
	margin: 0 auto;
	max-width: 98%;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	color: #666;
	font-family: Georgia, serif;
	font-size: 14px;
}
.wp-caption .wp-caption-text {
	margin-bottom: 0.6em;
	padding: 10px 0 5px 4px;
	position: relative;
}

img.size-full{
	height:auto !important;
	width:auto !important;
}


#footer{
	text-align:left;
	padding:80px 0 50px 0;
}

#footer a.logo{
	display:inline-block;
	margin-bottom:50px;
}

#footer ul.contact li{
	font-size:19px;
	font-weight:600;
	padding-bottom:10px;
	color:#b39d6e
}

#footer ul.contact li i{
	margin-right:8px;
}

#footer ul.contact li a{
	text-decoration:none;
}

#footer ul.contact li a:hover{
	text-decoration:underline;
}

#footer ul.address{
	padding:20px 0 40px 0;
}

#footer ul.address li{
	font-size:16px;
	font-weight:600;
	padding-bottom:5px;
	color:#b39d6e
}

#footer ul.address li i{
	margin-right:8px;
	font-size:19px;
	font-weight:600;
}

#footer ul.address li.no-icon i {
	visibility: hidden; /* keeps space but hides icon */
}


#footer .social{
	margin-top:30px;
	padding:15px 0;
}

#footer .social li{
	display:inline-block;
	padding-right:10px;
}

#footer .footer-cols{

}

#footer .footer-cols .footer-cols-left{
	float:left;
	width:300px;
}

#footer .footer-cols .footer-cols-right{
	float:right;
	width:68%;	
}

#footer .footer-cols .footer-cols-right .grid.col-3 {
	grid-gap: 20px;
}

#footer .col h5{
	padding-bottom:20px;
}

#footer ul li{
	padding-bottom:3px;
}

#footer ul.links {
	margin-left:20px;
}

#footer ul.links li{
	padding-bottom:10px;
	list-style-type:square;
}

#footer .copyright{
	border-top:1px solid #eee;
	border-bottom:1px solid #eee;
	margin-top:30px;
}

#footer .copyright h6,
#footer .copyright a{
	font-size:15px;
	text-decoration:none;
	padding:5px 0;	
}

#footer .copyright a{
	font-weight:600;
	display:block;
}

#footer .copyright .table-cell{
	padding:15px 0;
}

#footer .copyright .first{
	width:200px;
}

#footer .copyright .links{
	text-align:right;
}

#footer .copyright .links ul li{
	display:inline-block;
	text-align:right;
	padding-left:14px;
	margin-right:14px;
	border-left:1px solid #eee;
}

#footer .copyright .links ul li:first-of-type{
	border:0;
}


/* =Contact page
----------------------------------------------- */

.contact-left{
	float:left;
	text-align:left;
	width:56%;
}

.contact-right{
	float:right;
	text-align:left;
	width:35%;
}

.contact-right .row{
	padding:25px 15px;
}

.contact-right .row:first-of-type{
	padding-top:0;
}

.contact-right .row h4{
	font-size:21px;
	padding-bottom:10px;
	margin: 0 0 10px 0;
	border-bottom:2px solid #b39d6e;
}

.contact-right .row h4 .icon{
	padding-right:5px;
}


.contact-right .row .table-row{

}

.contact-right .row .table-cell{
	padding:10px 0;
	width:50%;
	border-bottom:1px solid #eee;
}

.contact-right .row .table-cell.label{

}

.contact-right .row .table-cell.label label{
	padding: 5px 0;
	display:block;
}

.contact-right .row .table-cell.value{
	text-align:right;
}

.contact-right .row .table-cell.value h6{
	padding: 5px 0;
}


/* =Reviews > TrustPilot
------------------------ */

#reviews-slider{
	margin:0 auto;
	padding:60px 0 0 0;
}

#reviews-slider .trustpilot-logo img{
	height:80px;
	width:auto;
}

#reviews-slider .setwidth{
	max-width:1600px;
}

#reviews-slider .intro {
	padding:20px 25px 40px 25px;
}


#reviews-slider .intro p {
	font-size:24px;
}

#reviews-slider ul.reviews {	
  display: flex;
  align-items: stretch; /* make all child slides equal height */
  visibility:hidden

}

#reviews-slider ul.reviews li {
  display: flex;
  flex-direction: column; /* stack name + text vertically */
}

#reviews-slider ul.reviews li .txt {
  flex: 1; /* stretch to fill the available height */
}

#reviews-slider .stars{
	color:#ffa802;	
}

#reviews-slider ul.reviews li h5{
	font-weight:bold;
	padding:15px 10px 0 10px;
	display:block;
	width:100%;
}

#reviews-slider ul.reviews li h6{
	font-weight:500;
}

#reviews-slider ul.reviews li span.txt{
	display:block;
	padding:15px 0;
}

#reviews-slider ul.reviews li a.readmore{
	display:block;
	position:relative;
	pointer-events: auto !important;
	z-index: 2;
	margin:10px 0;
	color:#666;
	font-size:14px;
}


/* Ensure parent slider wrapper is positioned so arrows can be placed absolutely */
#reviews-slider  .bx-wrapper {
  position: relative;
  max-width: 100% !important; 
}


#reviews-slider  .bx-wrapper .bx-viewport{
	width: 80% !important;
	margin: 0 auto !important;
}


/* Direction controls container */
#reviews-slider .bx-controls-direction {
  position: absolute;
  top: 100px;
  left: 0;
  right: 0;
  pointer-events: none; /* allows clicks to pass through except on the buttons */
}

/* Shared styles for both arrows */
#reviews-slider .bx-controls-direction a {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  line-height: 40px;
  border-radius: 50%;
  background: #000;
  color: #fff;
  text-align: center;
  font-size: 14px;
  transition: all 0.3s ease;
  pointer-events: auto;
  text-indent: -9999px; /* hide "Prev"/"Next" text */
  overflow: hidden;
}

/* Left (Prev) */
#reviews-slider .bx-controls-direction .bx-prev {
  left: 15px;
}

/* Right (Next) */
#reviews-slider .bx-controls-direction .bx-next {
  right: 15px;
}


/* Add Font Awesome icons */
#reviews-slider .bx-prev::before {
  content: "\f053"; /* fa-chevron-left */
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  text-indent: 0;
  position: absolute;
  left: 0;
  right: 0;
}
#reviews-slider .bx-next::before {
  content: "\f054"; /* fa-chevron-right */
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  text-indent: 0;
  position: absolute;
  left: 0;
  right: 0;
}

/* Hover effect */
#reviews-slider .bx-controls-direction a:hover {
  background: #ce9b02;
  color: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}

/* Optional: subtle scaling on hover */
#reviews-slider .bx-controls-direction a:hover i {
  transform: scale(1.1);
}

/* =Dropdown Template
----------------------------------------------- */

.accordion .post-content{
	max-width:850px;
}

.accordion .row {
	position: relative;
	border-bottom: 2px solid #000;
	text-align:left;
}

.accordion .answer{
	position:relative;
	display:none;
	padding:0 40px 30px 40px;
}

.accordion h3.trigger{
	position:relative;
	padding: 25px 20px 25px 40px;
	display: block;	
	text-decoration: none;
	line-height: 1.4em;
}

.accordion h3.trigger:hover{
	cursor:pointer
}

.accordion h3.trigger span.icon{
	position: absolute;
	left: 0;
	top: 25px;
	font-size:21px;
}


.carousel {
	padding:60px 0;
	overflow:hidden
}

.carousel .ticker-wrapper {
	overflow: hidden;
	width: 100%;
}

.carousel .ticker {
	display: flex;
	padding: 0;
	margin: 0;
	list-style: none;
}

.carousel .ticker li {
	display: inline-block;
   margin: 0 50px;
}

.carousel .ticker li .slide-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 120px;
}

.carousel .ticker li img {
	height: 75px;
	width: auto;
	display: block;
}

.tablepress tr th{
	padding:15px 15px;	
}

.tablepress tr td {
	padding: 12px 15px;
	border: 1px solid #f1f1f1;
	color:#000;
}

.tablepress thead tr th{
	background-color: #b39d6e;
	color: #fff
}

/* Facebook
--------------------*/

.panel.facebook{

}

.panel.facebook .table{
	border-collapse: separate;
	border-spacing: 0;	
	border:5px solid #3b5997;
	border-radius:14px;	
	table-layout: auto; /* default, but important */
}	

.panel.facebook .logo{
	width:350px;
}


.panel.facebook .logo{
	background-position:center;
	background-size:contain;
	background-repeat:no-repeat;
	background-color:#3b5997;
}

.panel.facebook .text{
	padding:30px 40px;
}

.panel.facebook .text-wrapper{
	overflow:auto;
}

.panel.facebook .text h2{
	padding:0 0 10px 0;
}

.panel.facebook .text .btn{
	margin-top:20px;
}



/* =Blog posts
----------------------------------------------- */

.posts{
	padding:50px 0 0 0;
}

.posts .cards{
	grid-gap: 50px;
}

.posts .cards a.item{
	text-decoration:none;
	border-radius:12px;
	overflow:hidden;
	position:relative;
}

.posts .cards a.item img{
	width:100%;
	height: 250px;
	object-fit: cover;
	object-position: center;	
}

.posts .cards a.item span.text{
	position:relative;
	display:block;
	padding:20px;
}

.posts .cards a.item span.post-title{
	display:block;
	font-weight:700;
	font-size:22px;
	line-height:1.2em;
	margin:0 0 60px 0;
}

.posts .cards a.item span.date{
	display:block;
	font-size:12px;
	text-transform:uppercase;
	color:#999;
	position:absolute;
	right:20px;
	bottom:20px;
}


/* =Paging
----------------------------------------------- */


.wp-pagenavi {
	clear: both;
	padding:80px 0 50px 0;
	text-align:right;
}

.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	border: 1px solid #000;
	padding: 10px 15px;
	margin: 2px 4px;
	border-radius:8px;
}

.wp-pagenavi a:last-of-type{
	margin-right:0;
}

.wp-pagenavi a:hover{
	border-color: #000 !important;
	background:#000;
	color:#fff;
}

.wp-pagenavi span.current {
	border-color: #b39d6e !important;
	background:#b39d6e;
	color:#fff;
}

/* =Single Post
----------------------------------------------- */

.single span.date{
	position:relative;
	bottom:10px;
	display:block;
	font-size:12px;
	text-transform:uppercase;
	color:#999;
	text-align:left;
	margin:0 0 20px 0;
}

.recent-posts .cards.grid.col-3{
	grid-gap: 30px;
}

.recent-posts span.date{
	margin:0;
}

.recent-posts .post-title{
	text-align:left;
	padding:20px 0 30px 0;
}

.post-content ol,
.post-content ul{
	padding:10px 40px 20px 40px;
	list-style-type:circle;
}

.post-content p + ol,
.post-content p + ul{
	padding-top:0;
}

.post-content ol{
	list-style-type:decimal;
}

.post-content ol li,
.post-content ul li{
	padding-bottom:14px;
}

.post-content ol li:last-of-type,
.post-content ul li:last-of-type{
	padding-bottom:0;
}

.post-content table td ul,
.post-content table td ol{
	padding-left:20px;
}


.post-content ol li > h1:first-of-type,
.post-content ol li > h2:first-of-type,
.post-content ol li > h3:first-of-type,
.post-content ol li > h4:first-of-type,
.post-content ol li > h5:first-of-type,
.post-content ol li > h6:first-of-type,
.post-content ul li > h1:first-of-type,
.post-content ul li > h2:first-of-type,
.post-content ul li > h3:first-of-type,
.post-content ul li > h4:first-of-type,
.post-content ul li > h5:first-of-type,
.post-content ul li > h6:first-of-type{
	padding-top:0;
}

.post-content h1{
	padding:20px 0 20px 0;
}

.post-content h2{
	padding:20px 0 20px 0;
}

.post-content h3{
	position:relative;
	padding:20px 0 15px 0;	
}

.post-content h4{
	padding:20px 0 15px 0;	
}

.post-content h5{
	padding:10px 0;		
}

.post-content h6{
	padding:10px 0;	
}


.wp-block-separator{
	margin:40px 0;
}

.post-content blockquote{
	padding:30px;
	font-style:italic;
	quotes: "\201C""\201D""\2018""\2019";
}

blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}


blockquote p {
  display: inline;
}

.post-content blockquote cite{
	font-weight:600;
	display:block;
	padding-top:15px;
}


/* WP Image alignment
------------------------------------------------------------------*/

/* Alignment */
.alignleft {
	display: inline;
	float: left;
	margin: 0 25px 25px 0;
}
.alignright {
	display: inline;
	float: right;
	margin: 0 0 25px 25px;
}
.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

p img,
.wp-caption {
	margin-top: 0.4em;
}
.wp-caption,
.wp-block-image figcaption{	
	margin-bottom: 1.625em;
	max-width: 100%;
	padding: 14px 9px 9px 9px;
}

.wp-block-image figcaption{
	line-height:1.4em;
	padding:10px !important;
}

.wp-caption img {
	display: block;
	margin: 0 auto;
	max-width: 98%;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	color: #666;
	font-family: Georgia, serif;
	font-size: 14px;
}
.wp-caption .wp-caption-text {
	margin-bottom: 0.6em;
	padding: 10px 0 5px 4px;
	position: relative;
}

img.size-full{
	height:auto !important;
	width:auto !important;
}