/*
Theme Name: JOB Mediations
Theme URI: https://negliadesign.com
Author: Neglia Design [ Graeme Demarsh ]
Author URI: https://negliadesign.com
Description: Custom theme by Neglia Design
Version: 1.3.2
*/

/*--------------------------------------------------------------
Elements
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-tap-highlight-color: rgba(69, 94, 104, 0.5);
	height:100%;
}

*,
*:before,
*:after {
	box-sizing: inherit;
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
}

body {
	margin:0;
	height:100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

img {
	vertical-align: middle;
	height: auto;
	max-width: 100%;
}

svg {
	width: 100%;
	max-width:100%;
	height: auto;
	vertical-align:middle;
}

embed,
iframe,
object {
	max-width: 100%;
}

figure {
	display:block;
	margin: 0 auto 1em;
}

table {
	max-width:100%;
	border-collapse:collapse;
	border-spacing:0;
}



/*--------------------------------------------------------------
Header structure
--------------------------------------------------------------*/
html body {
    padding-top:90px;
}


@media (min-width: 992px) {
	html body {
		padding-top:110px;
	}
}


@media (min-width: 1290px) {
	html body {
		padding-top:140px;
	}
}


html body.home {
    padding-top:0px;
}


body.admin-bar .site-header {
  top: 32px;
}


.site-header {
    position:fixed;
    top:0;
    right:0;
    left:0;
	z-index:99;
	background-color: #F4F6F3;
}

.site-header .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
    flex-wrap: wrap;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

.site-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto;
	text-decoration: none;
}

.site-logo:hover {
	text-decoration: none;
}

.site-logo svg{
  display:block;
  height: clamp(48px, 6vw, 68px);  /* ↑ larger than before */
  width:auto;
}



/* ==============================================================
   GENERAL MENU STYLES (BASE)
   ============================================================== */

.site-nav {
	position: relative;
	display: flex;
	margin: 0 0 0 auto;
	text-align: right;
	text-transform: uppercase;
}

.site-nav ul {
	list-style: none;
	font-size: inherit;
	margin: 0 auto;
	padding: 0;
}

.site-nav li {
	padding: 0;
	margin: 0;
	display: inline-block;
	align-items: center;
}

/* top-level list items spacing (desktop base) */
.site-nav > ul > li {
	margin: 0 .7em;
}

/* anchor defaults */
.site-nav a {
	display: block;
	position: relative;
	text-align: center;
	text-decoration: none;
	font-weight: 500;
	color: var(--wp--preset--color--black);
	letter-spacing: 0.12em;
}

/* top-level anchor padding */
.site-nav > ul > li > a {
	padding: .5rem 1rem;
}

/* hover baseline */
.site-nav a:hover {
	text-decoration: none;
}

/* dropdown caret on items with children */
.site-nav ul.menu > li.menu-item-has-children > a::after {
	content: ' ';
	position: absolute;
	top: .7rem;
	right: 0;
	display: block;
	width: .8em;
	height: .8em;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg width='1792' height='1792' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1683 808l-742 741q-19 19-45 19t-45-19l-742-741q-19-19-19-45.5t19-45.5l166-165q19-19 45-19t45 19l531 531 531-531q19-19 45-19t45 19l166 165q19 19 19 45.5t-19 45.5z' fill='%23E55A43'/%3E%3C/svg%3E%0A");
	background-size: contain;
	pointer-events: none;
	transition-duration: .3s;
	transition-property: all;
}

/* caret hover scale */
.site-nav ul.menu > li.menu-item-has-children > a:hover::after {
	transform: scale(1.5);
}

/* active/current states */
.site-nav ul.menu > li.current-menu-item > a,
.site-nav ul.menu > li.current-menu-parent > a,
.site-nav ul.menu > li.current-page-ancestor > a {
	font-weight: bold;
}

/* hover/focus/active color for top-level links */
.site-nav ul.menu > li:hover > a,
.site-nav ul.menu > li > a:hover,
.site-nav ul.menu > li > a:focus,
.site-nav ul.menu > li > a:active {
	text-decoration: underline;
}


/* ==============================================================
   DESKTOP DROPDOWNS (≥ 992px): POSITIONING & CONTAINER
   ============================================================== */

@media (min-width: 992px) {

	/* remove right margin on last item */
	.site-nav > ul > li:last-child {
		margin-right: 0;
	}

	/* base dropdown container (hidden off-canvas until hover/open) */
	.site-nav ul ul {
		float: left;
		position: absolute;
		overflow: hidden;
		top: 90%;
		left: -999em;
		z-index: 99999;
		width: 100%;
		background-color: var(--wp--preset--color--grey);
		padding: 1rem;
		box-shadow: 0 10px 3px -3px rgba(0, 0, 0, 0.3);
	}

	/* reveal dropdown on hover/open */
	.site-nav ul > li:hover > ul,
	.site-nav ul > li.open > ul {
		left: 0px;
	}
}


/* ==============================================================
   DROPDOWN CONTENT (ALL SIZES)
   ============================================================== */

.site-nav ul ul li {
	display: block;
}

.site-nav ul ul a {
	text-align: left;
	padding: 12px 17px;
	color: inherit;
	border-bottom: 1px solid #5E5E5E;
}

/* remove border on last dropdown item */
.site-nav ul ul li:last-child a {
	border-bottom: none;
	padding-bottom: 14px;
}


/* ==============================================================
   DROPDOWN CONTENT ENHANCEMENTS (≥ 992px)
   ============================================================== */

@media (min-width: 992px) {

	/* larger padding & font inside dropdowns on desktop */
	.site-nav ul ul a {
		position: relative;
		padding: 1rem 2rem;
		font-size: 1.5rem;
	}

	/* arrow indicator inside dropdown links (desktop) */
	.site-nav ul ul a::after {
		position: absolute;
		bottom: 1rem;
		right: 1rem;
		content: "";
		display: inline-block;
		vertical-align: middle;
		width: 43px;
		height: 43px;
		margin: 0 0 0 .3em;
		background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" fill="%23E55A43" viewBox="0 -960 960 960"><path d="M644.28-624.29 280.43-260.4q-12.93 12.89-29.47 12.8-16.54-.1-29.6-13.53-13.43-13.43-13.43-30.07 0-16.63 13.43-30.07l363.16-363.16H273.57q-18.05 0-30.33-12.32-12.29-12.32-12.29-30.03 0-17.72 12.29-30.09 12.28-12.37 30.33-12.37H686.9q17.67 0 30.12 12.45 12.45 12.46 12.45 30.12v413.34q0 17.66-12.49 29.95-12.48 12.29-30.2 12.29-18.09 0-30.29-12.29-12.21-12.29-12.21-29.95v-310.96Z"/></svg>');
		background-size: 23px;
		background-repeat: no-repeat;
		background-position: center;
		transition-duration: .3s;
		transition-property: all;
	}

	/* arrow hover scale */
	.site-nav ul ul a:hover::after {
		transform: scale(1.5);
	}
}


/* ==============================================================
   NESTED SUBMENUS (3rd level)
   ============================================================== */

.site-nav ul ul ul {
	padding: 0 0 7px 10px;
}

/* active/hover states in submenus */
.site-nav ul.sub-menu a:hover,
.site-nav ul.sub-menu a:focus,
.site-nav ul.sub-menu li.current-menu-item a,
.site-nav ul.sub-menu li.current-menu-parent a,
.site-nav ul.sub-menu li.current-page-ancestor a {
	color: var(--wp--preset--color--theme-primary);
}


/* ==============================================================
   RESPONSIVE TIGHTENING (DESKTOP NARROWING)
   Note: These run in order (1290 → 1150 → 1020) to progressively compact.
   ============================================================== */

/* Slightly tighter large-desktop nav */
@media (min-width: 1151px) {
  .site-nav > ul > li {
    margin: 0 0.4em;
  }
  .site-nav > ul > li > a {
    padding: 0.5rem 0.8rem;
    font-size: 0.9em;
  }
}

/* Medium desktops — keep on one line longer */
@media (max-width: 1150px) {
  .site-nav > ul > li {
    margin: 0 0.2em;
  }
  .site-nav > ul > li > a {
    padding: 0.45rem 0.5rem;
    font-size: 0.8em;
  }
}

/* Near tablet breakpoint — very compact */
@media (max-width: 1020px) {
  .site-nav > ul > li {
    margin: 0 0.2em;
  }
  .site-nav > ul > li > a {
    padding: 0.4rem 0.3rem;
    font-size: 0.8em;
  }
}


/* ==============================================================
   MAIN NAV: VERTICAL DIVIDERS (DESKTOP WIDE ONLY ≥1150px)
   ============================================================== */

@media (min-width: 1150px) {
  .site-nav > ul > li {
    position: relative;
  }

  /* draw the vertical divider before every item except the first */
  .site-nav > ul > li + li::before {
    content: "";
    position: absolute;
    left: -.9rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 1.2em;
    background-color: var(--wp--preset--color--theme-primary);
  }

  /* do NOT show a divider before special buttons */
  .site-nav > ul > li.menu-item-request-access::before,
  .site-nav > ul > li.menu-item-log-out::before,
  .site-nav > ul > li.menu-item-login::before {
    content: none;
  }
}



/* ==============================================================
   MOBILE HEADER TOGGLE (HAMBURGER) + STATES
   ============================================================== */

.menu-toggle {
	display: none;
	align-self: center;
	border: none;
	border-radius: 0;
	background-color: transparent;
	cursor: pointer;
	transition: all 0.25s ease-in-out;
	font-size: 0.875em;
	min-width: auto;
	color: var(--wp--preset--color--black);
	padding: 5px 15px;
	margin: 0 0 0 auto;
	text-align: center;
}

.menu-toggle:hover,
.menu-toggle:focus,
.menu-toggle:active {
	color: var(--wp--preset--color--black);
	background-color: transparent;
}

/* show toggle on mobile */
@media (max-width: 991px) {
	.menu-toggle {
		display: block;
	}
}

/* label + icon sizing */
.menu-toggle span {
	display: block;
	font-size: .9em;
}

.menu-toggle svg {
	display: block;
	fill: currentColor;
	vertical-align: middle;
	position: relative;
	width: 2.7em;
	height: 2.7em;
	top: 0;
}

/* hamburger lines + transition */
.menu-toggle svg .line {
	opacity: 1;
	transform: rotate(0) translateY(0) translateX(0);
	transform-origin: 1em 1em;
	transition: transform 0.3s ease-in-out, opacity 0.2s ease-in-out;
}

/* specific transform-origins for top/bottom bars */
.menu-toggle svg .line-1 {
	transform-origin: 1em 2.5em;
}
.menu-toggle svg .line-3 {
	transform-origin: 1em 4.5em;
}

/* expanded (X) state transforms */
.menu-toggle[aria-expanded="true"] svg .line-1 {
	transform: rotate(45deg) translateY(0) translateX(0);
}
.menu-toggle[aria-expanded="true"] svg .line-2 {
	opacity: 0;
}
.menu-toggle[aria-expanded="true"] svg .line-3 {
	transform: rotate(-45deg) translateY(0em) translateX(0em);
}


/* ==============================================================
   MOBILE NAVIGATION PANEL (≤991px)
   ============================================================== */

body.mobile-menu-visible {
	overflow: hidden;
}

@media screen and (max-width: 991px) {

	/* collapsed by default */
	.main-navigation {
		display: none;
		overflow-x: hidden;
		overflow-y: auto;
		width: 100%;
	}

	/* shown when toggled */
	.main-navigation.visible {
		display: block;
	}

	/* panel inner width + spacing */
	.main-navigation > ul {
		max-width: 350px;
		margin-top: 30px;
	}

	/* vertical list items */
	.main-navigation li {
		display: block;
		font-size: 1.1rem;
	}

	/* separators between items */
	.main-navigation > ul > li {
		border-bottom: 1px solid #FFFFFF;
	}

	/* remove last separator */
	.main-navigation > ul > li:last-child {
		border-bottom: none;
	}

	/* mobile link padding + left align */
	.main-navigation > ul > li > a {
		padding: 10px;
		text-align: left;
	}

	/* flip caret icon when a submenu is open (mobile) */
	.main-navigation ul.menu > li.menu-item-has-children.open > a::after {
		background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='utf-8'%3F%3E%3Csvg width='1792' height='1792' viewBox='0 0 1792 1792' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1683 1331l-166 165q-19 19-45 19t-45-19l-531-531-531 531q-19 19-45 19t-45-19l-166-165q-19-19-19-45.5t19-45.5l742-741q19-19 45-19t45 19l742 741q19 19 19 45.5t-19 45.5z' fill='%23E55A43'/%3E%3C/svg%3E%0A");
	}

	/* nested submenu block behavior for mobile */
	.main-navigation ul ul {
		position: relative;
		display: none;
		margin-bottom: 15px;
	}

	/* show nested submenu when parent is open (mobile) */
	.main-navigation ul li.menu-item-has-children.open ul {
		display: block;
	}

	/* nested items in mobile */
	.main-navigation ul ul li {
		display: block;
	}

	/* nested link padding in mobile */
	.main-navigation ul ul a {
		text-align: left;
		padding: 8px 8px 8px 30px;
	}

	/* third-level padding in mobile */
	.main-navigation ul ul ul {
		padding: 0 0 7px 10px;
	}
}



/*--------------------------------------------------------------
Global
--------------------------------------------------------------*/
.container {
	position:relative;
	max-width: var(--wp--style--global--content-size);
	margin-right: auto;
	margin-left: auto;
	padding-right: var(--wp--style--root--padding-right);
    padding-left: var(--wp--style--root--padding-left);
}


.display-flex {
    display: flex;
    gap: 4%;
    flex-direction: row
}

@media (max-width: 991px) {
    .display-flex {
        flex-direction:column
    }
}

.space-between {
    justify-content: space-between
}

@media (max-width: 781px) { /* Adjust breakpoint if necessary */
  .reverse-mobile-columns {
    display: flex;
    flex-direction: column-reverse;
  }
}


body .wpbc_container.wpbc_container_booking_form input.wpbc_button_light,
body .wpbc_container.wpbc_container_booking_form input.wpbc_button_light:hover,
body .wpbc_container.wpbc_container_booking_form input.wpbc_button_light:focus {
    background-color: var(--wp--preset--color--theme-primary);
    border-radius: 15px;
    border-color: var(--wp--preset--color--black);
    border-width: 1px;
    border-style: solid;
    color: var(--wp--preset--color--black);
    font-family: inherit;
    font-size: clamp(0.875rem, 0.875rem + ((1vw - 0.2rem) * 0.034), 0.9rem);
    font-style: inherit;
    font-weight: 600;
    letter-spacing: .1rem;
    line-height: inherit;
    padding-top: 1.3em;
    padding-right: 2em;
    padding-bottom: 1.3em;
    padding-left: 2em;
    text-decoration: none;
    text-transform: inherit;
}


/*--------------------------------------------------------------
Paginate
--------------------------------------------------------------*/
.paginate-area {
	margin: 0 0 3em;
	font-size: 1.3rem;
}

.paginate-area .page-numbers {
	text-decoration: none;
	padding: 3px;
}

.paginate-area .page-numbers.current {
	color: var(--wp--preset--color--theme-red);
	font-weight: bold;
	text-decoration: underline;
    text-decoration-thickness: 2px;
    text-decoration-color: var(--wp--preset--color--theme-red);
    text-underline-offset: 0.2em;
}

.paginate-area .page-numbers.next::before {
    content: ' ';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23222B35' d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zm113.9 231L234.4 103.5c-9.4-9.4-24.6-9.4-33.9 0l-17 17c-9.4 9.4-9.4 24.6 0 33.9L285.1 256 183.5 357.6c-9.4 9.4-9.4 24.6 0 33.9l17 17c9.4 9.4 24.6 9.4 33.9 0L369.9 273c9.4-9.4 9.4-24.6 0-34z'%3E%3C/path%3E%3C/svg%3E");
}

.paginate-area .page-numbers.prev::after {
    content: ' ';
    display: inline-block;
    width: 1em;
    height: 1em;
    background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23222B35' d='M256 504C119 504 8 393 8 256S119 8 256 8s248 111 248 248-111 248-248 248zM142.1 273l135.5 135.5c9.4 9.4 24.6 9.4 33.9 0l17-17c9.4-9.4 9.4-24.6 0-33.9L226.9 256l101.6-101.6c9.4-9.4 9.4-24.6 0-33.9l-17-17c-9.4-9.4-24.6-9.4-33.9 0L142.1 239c-9.4 9.4-9.4 24.6 0 34z'%3E%3C/path%3E%3C/svg%3E");
}

.nav-previous, .nav-next {
	display:inline-block;
	margin-top:30px;
}

.nav-previous a, .nav-next a {
	display:block;
	padding:7px 20px;
	min-width:150px;
	text-align:center;
	text-decoration:none;
	font-weight:700;
	text-transform:uppercase;
	background-color: #BCD583;
	border-radius: 30px;
}



/*--------------------------------------------------------------
Footer
--------------------------------------------------------------*/
.site-footer {
	margin:0;
	background-color: var(--wp--preset--color--dark-grey);
	color: #FFFFFF;
}

.footer-meta {
	font-size:.8rem;
	padding: 5px;
	text-align: center;
}

.footer-meta a {
	text-decoration: none;
	color: inherit;
}

.footer-meta .neglia {
	display: block;
	margin-top: 1rem;
}



/*--------------------------------------------------------------
Helper classes
--------------------------------------------------------------*/
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: polygon(0px 0px, 0px 0px,0px 0px, 0px 0px);
    position: absolute !important;
    white-space: nowrap;
    height: 1px;
    width: 1px;
    overflow: hidden;
}



/*--------------------------------------------------------------
Forms
--------------------------------------------------------------*/
.wpcf7-form-control {
	margin-top:.5rem;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="search"] {
	-webkit-appearance: none;
	border-radius:0;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    outline: none;
	box-shadow: none;
	text-shadow: none;
	border-radius: 99px;
	cursor: pointer;
	-webkit-appearance: none;
	margin: 0 auto;
	
	position:relative;
	transition:all .5s;
	text-decoration:none;
	display:block;
	
	text-align:center;
	font-weight:500;
	font-size:1rem;
	line-height:1.5;
    padding: 1.5em 2em;
	max-width:100%;
	color: #FFFFFF;
	background-color: var(--wp--preset--color--theme-primary);
	border: 1px solid #000000;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover,
button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	text-decoration:none;
	color:#FFFFFF;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus {
	outline: none;
}

input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="password"],
input[type="search"],
select,
textarea {
    width: 100%;
    border: 1px solid #DCDEE0;
    outline: none;
    background-color: #FFFFFF;
	border-radius: 10px;
}

input[type="text"]:focus,
input[type="tel"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="date"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
	outline: none!important;
}

input[type="text"],
input[type="tel"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="date"],
input[type="password"],
input[type="search"],
select {
    padding: 16px 20px;
}

textarea {
    padding: 18px 20px;
	overflow: auto;
}



/*--------------------------------------------------------------
Print
--------------------------------------------------------------*/
@media print {
	
	.site-header,
	.site-footer,
	.share-icons {
		display:none;
	}

}

