/*
 Theme Name:   Geneva Staffing (GeneratePress Child Theme)
 Description:  Child theme for GeneratePress, customised for Geneva Staffing.
 Author:       Mix Digital (ben@mix.digital)
 Template:     generatepress
 Version:      20261016165256
 Text Domain:  generatepress-child
*/

:root {
	--space-xs: clamp(0.5rem, 0.6vw, 0.75rem);
	--space-sm: clamp(0.75rem, 1vw, 1.25rem);
	--space-md: clamp(1.5rem, 2.5vw, 2.5rem);
	--space-lg: clamp(2.5rem, 4vw, 4rem);
	--space-xl: clamp(3.5rem, 6vw, 6rem);
	--space-2xl: clamp(5rem, 8vw, 8rem);
	--spacing-xs: clamp(0.5rem, 0.6vw, 0.75rem);
	--spacing-sm: clamp(0.75rem, 1vw, 1.25rem);
	--spacing-md: clamp(1.5rem, 2.5vw, 2.5rem);
	--spacing-lg: clamp(2.5rem, 4vw, 4rem);
	--spacing-xl: clamp(3.5rem, 6vw, 6rem);
	--spacing-2xl: clamp(5rem, 8vw, 8rem);
	--page-gutter: 40px;
	--border-radius: clamp(15px, 3vw, 30px);
}

@media (max-width: 768px) {
	:root {
		--page-gutter: 20px;
	}
}

html {
	-webkit-font-smoothing: subpixel-antialiased;
	-moz-osx-font-smoothing: subpixel-antialiased;
	scroll-behavior: smooth;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

p strong,
li strong {
	font-weight: 500;
}

p:last-child {
	margin-bottom: 0;
}

h2, .h2 {
	font-weight: 400;
}

.img-rounded,
.img-rounded img {
	border-radius: var(--border-radius);
}

.layout-wide {
	width: calc(100% - (var(--page-gutter) * 2));
	max-width: var(--gb-container-width);
	margin-inline: auto;
}

.gb-site-header {
	position: relative;
	z-index: 100;
}

body:has(.hero-overlay-header) .gb-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
}

.gb-navigation .menu-item:has(a:not([href])),
.gb-navigation a:not([href]) {
	cursor: default;
	text-decoration: none;
}

.arrow-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 5px 5px 5px 15px;
	border-radius: 999px;
	font-weight: 500;
}

.arrow-btn::after {
	content: "";
	width: 40px;
	height: 40px;
	flex: 0 0 40px;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10.03 10.02'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %230e253a; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M10.02.84c0-.47-.38-.84-.84-.84H3.22c-.46,0-.84.38-.84.84s.38.84.84.84h3.92L.25,8.59c-.33.33-.33.86,0,1.19.33.33.86.33,1.19,0l6.9-6.9v3.92c0,.46.38.84.84.84s.84-.38.84-.84V.85h0Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px;
	border-radius: 100%;
	transition:	transform 0.25s ease, background-color 0.25s ease;
}

.arrow-btn:hover::after {
	transform: translate(2px, -2px);
	background-color: #0E253A;
	background-image: url("data:image/svg+xml,%3C%3Fxml version='1.0' encoding='UTF-8'%3F%3E%3Csvg id='Layer_1' data-name='Layer 1' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10.03 10.02'%3E%3Cdefs%3E%3Cstyle%3E .cls-1 %7B fill: %2399def0; %7D %3C/style%3E%3C/defs%3E%3Cpath class='cls-1' d='M10.02.84c0-.47-.38-.84-.84-.84H3.22c-.46,0-.84.38-.84.84s.38.84.84.84h3.92L.25,8.59c-.33.33-.33.86,0,1.19.33.33.86.33,1.19,0l6.9-6.9v3.92c0,.46.38.84.84.84s.84-.38.84-.84V.85h0Z'/%3E%3C/svg%3E");
}

@media (max-width: 768px) {
	.gb-navigation a:focus:not(:focus-visible) {
		outline: none;
		box-shadow: none;
		text-decoration: none !important;
	}
}

@media (min-width: 1025px) and (max-width: 1200px) {	
	.header-actions {
		flex-direction: column;
		row-gap: 10px;
	}

	.header-actions a {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	
	.arrow-btn::after {
		width: 30px;
		height: 30px;
		flex: 0 0 30px;
	}
	
	.header-actions .btn {
		padding: 8px 16px;
	}
}

@media (min-width: 769px) and (max-width: 1200px) {	
	.menu-item .gb-menu-link:first-of-type {
		padding: 1em 8px;
		column-gap: 5px !important;
	}
}

@media(min-width: 1260px) {
	.gb-element-0617e626 {
		padding-right: 20px !important;
	}
	
	.header-actions {
		padding-left: 30px !important;
	}
}

@media(min-width: 1350px) {
	.gb-menu.gb-menu--base {
		gap: 10px;
	}
}

@media(max-width: 1200px) {	
	.footer-actions {
		flex-direction: column;
		row-gap: 10px;
	}

	.footer-actions a {
		width: 100%;
		justify-content: center;
		text-align: center;
	}
	
	.footer-actions .btn {
		padding: 8px 16px;
	}
}

@media (min-width: 769px) and (max-width: 1100px) {	
	body:has(.hero-overlay-header) .gb-site-header .main-header-inner {
		background-color: rgba(244, 243, 244, 0.75);
	}
}

footer a {
	text-decoration: none;
}

footer a:hover {
	text-decoration: underline;
}

.rank-math-breadcrumb p {
	margin-bottom: 0;
	font-weight: 350;
	font-size: clamp(14px, 1.5vw, 16px);
}

.rank-math-breadcrumb p a {
	text-decoration: none;
	font-weight: 520;
}

.rank-math-breadcrumb p a:hover {
	text-decoration: underline;
}

.rank-math-breadcrumb p span.separator {
	padding-inline: var(--space-xs);
}

.dash-list {
	list-style-type: '—' !important;
	padding-left: 0.9em;
}

.dash-list li {
	padding-left: 1rem;
}

.dash-list-light-blue li::marker {
	color: #00add9;
}


/* Gravity Forms Customisations */

.gform_required_legend {
	display: none;
}

.gform_wrapper.gform-theme--framework input,
.gform_wrapper.gform-theme--framework select,
.gform_wrapper.gform-theme--framework textarea {
	font-size: 16px !important;
}

.gform_footer {
	br {
		display:none;
	}
	
	input[type=submit],button,input[type=button] {
		text-decoration: none !important;
		width:fit-content !important;
		display:flex !important;
		color:var(--contrast) !important;
		font-weight:500 !important;
		font-size:16px !important;
		padding:15px 22px !important;
		line-height:1 !important;
		border-radius:50px !important;
		transition:all 0.3s ease-in-out !important;
		border:1px solid var(--contrast) !important;
		&:hover {
			border-color: var(--contrast) !important;
			color: var(--contrast) !important;
			background-color: #99def0 !important;
		}
	}
}

:root :where(.wp-block-image.is-style-rounded img,
	.wp-block-image .is-style-rounded img) {
	border-radius: var(--border-radius);
}

#gfield_instruction_2_12 {
	display: none !important;
}

.gform-theme--api,
.gform-theme--foundation {
	--gf-form-gap-y: 20px !important;
}

.entry-content ul.wp-block-list {
	list-style-type: '— ';
	margin-left: 0;
	padding-left: 1.5rem;
}

.entry-content ul.list-blue-light li::marker {
	color: var(--geneva-blue-vibrant);
}

.job-meta-container p {
	margin-bottom: 0;
}

.job-meta-row {
	display: none !important;
	border-bottom: 1px solid #9ca3aa;
	padding-bottom: 12px;
}

.job-meta-row:has(.job-meta-answer) {
	display: flex !important;
}

.job-meta-row:last-child {
	border-bottom: 0;
}

@media(max-width: 767px) {
	.job-meta-row .geneva-jobs__type {
		font-size: 15px;
	}
}