/* Shared Microjobs visual system for all public pages. */
:root {
	--mj-site-white: #fff;
	--mj-site-blue: #0796cf;
	--mj-site-deep: #293782;
	--mj-site-soft: #eef8fc;
	--mj-site-line: rgba(41, 55, 130, 0.12);
	--mj-site-shadow: 0 18px 50px rgba(41, 55, 130, 0.11);
}

body:not(.wp-admin) {
	--mj-header-height: 98px;
	background:
		radial-gradient(circle at 92% 8%, rgba(7, 150, 207, 0.12), transparent 28%),
		radial-gradient(circle at 8% 65%, rgba(7, 150, 207, 0.07), transparent 25%),
		linear-gradient(180deg, #fff 0%, #f8fcfe 52%, #eef8fc 100%);
	background-attachment: fixed;
	color: var(--mj-site-deep);
	font-family: "Inter", "Poppins", Arial, sans-serif;
}

html {
	scroll-padding-top: var(--mj-header-height, 98px);
}

body:not(.wp-admin) #page.site,
body:not(.wp-admin) #content,
body:not(.wp-admin) .site-content {
	background: transparent;
}

body:not(.wp-admin) #masthead {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	left: 0;
	opacity: 1;
	position: fixed !important;
	right: 0;
	top: 0;
	transform: translateY(0);
	will-change: opacity, transform;
	z-index: 100;
}

body:not(.wp-admin) #masthead.header1,
body:not(.wp-admin) #masthead.header2 {
	padding-block: 7px;
}

body:not(.wp-admin) #masthead > .container,
body:not(.wp-admin) #masthead > .container-fluid {
	margin-inline: auto;
	max-width: 1320px;
	padding-inline: 28px;
	width: 100%;
}

body:not(.wp-admin) #masthead.mj-header-hidden {
	pointer-events: none;
}

body.admin-bar:not(.wp-admin) #masthead {
	top: 32px;
}

body:not(.wp-admin):not(.home) #content {
	box-sizing: border-box;
	min-height: calc(100dvh - var(--mj-header-height));
	padding-top: var(--mj-header-height);
}

body:not(.wp-admin) .site-logo img.custom-logo {
	filter: brightness(0) saturate(100%) invert(21%) sepia(32%) saturate(2784%) hue-rotate(207deg) brightness(83%) contrast(91%);
	height: 48px;
	width: auto;
}

body:not(.wp-admin) #masthead .site-logo {
	flex: 0 0 auto;
	padding-right: 0;
}

body:not(.wp-admin) #masthead .col-md-12 {
	column-gap: 0;
}

body:not(.wp-admin) #site-navigation {
	margin-left: auto;
}

body:not(.wp-admin) #site-navigation .menu-primary-container > ul {
	align-items: center;
	display: flex;
	gap: 3px;
}

body:not(.wp-admin) .header-navigation a,
body:not(.wp-admin) .header-navigation a:visited,
body:not(.wp-admin) .site-title a,
body:not(.wp-admin) .site-title a:visited {
	color: var(--mj-site-deep) !important;
	font-size: 15px !important;
	font-weight: 650;
	letter-spacing: -0.01em;
	line-height: 1.2;
	padding: 10px 12px;
	text-decoration: none !important;
	transition: color 160ms ease, background-color 160ms ease;
}

@media (max-width: 782px) {
	body.admin-bar:not(.wp-admin) #masthead {
		top: 46px;
	}
}

body:not(.wp-admin) .header-navigation .current-menu-item > a,
body:not(.wp-admin) .header-navigation .current_page_item > a,
body:not(.wp-admin) .header-navigation a:hover,
body:not(.wp-admin) .header-navigation a:focus {
	background-image: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
	color: var(--mj-site-blue) !important;
	font-weight: 700;
	text-decoration-line: none !important;
	text-decoration: none !important;
}

body:not(.wp-admin) .header-navigation .current-menu-item > a,
body:not(.wp-admin) .header-navigation .current_page_item > a {
	background: rgba(7, 150, 207, 0.075) !important;
	border-radius: 8px;
}

body:not(.wp-admin) .header-navigation a:hover,
body:not(.wp-admin) .header-navigation a:focus-visible {
	background: rgba(41, 55, 130, 0.045) !important;
	border-radius: 8px;
	outline: 0;
}

html body:not(.wp-admin) .header-navigation li.current-menu-item > a,
html body:not(.wp-admin) .header-navigation li.current_page_item > a {
	background-image: none !important;
	border: 0 !important;
	box-shadow: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

html body:not(.wp-admin) .header-navigation li.current-menu-item,
html body:not(.wp-admin) .header-navigation li.current_page_item {
	border: 0 !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

html body:not(.wp-admin) .header-navigation li.current-menu-item > a::before,
html body:not(.wp-admin) .header-navigation li.current-menu-item > a::after,
html body:not(.wp-admin) .header-navigation li.current_page_item > a::before,
html body:not(.wp-admin) .header-navigation li.current_page_item > a::after {
	content: none !important;
	display: none !important;
}

body:not(.wp-admin) h1,
body:not(.wp-admin) h2,
body:not(.wp-admin) h3,
body:not(.wp-admin) h4,
body:not(.wp-admin) h5,
body:not(.wp-admin) h6 {
	color: var(--mj-site-deep);
	font-family: inherit;
}

body:not(.wp-admin) a {
	color: var(--mj-site-deep);
}

body:not(.wp-admin) a:hover,
body:not(.wp-admin) a:focus {
	color: var(--mj-site-blue);
}

body:not(.wp-admin) .wjportal-main-up-wrapper {
	background: transparent !important;
	color: var(--mj-site-deep);
	font-family: inherit;
	padding: 52px 28px 76px;
}

body:not(.wp-admin) .wjportal-main-wrapper {
	float: none;
	margin: 0 auto !important;
	max-width: 1280px;
	width: 100%;
}

body:not(.wp-admin) .wjportal-page-header,
body:not(.wp-admin) .wjportal-page-header-cnt {
	background: transparent !important;
	border: 0 !important;
	float: none !important;
	margin: 0 0 26px !important;
	padding: 0 !important;
	width: 100% !important;
}

body:not(.wp-admin) .wjportal-page-heading,
body:not(.wp-admin) .wjportal-page-header h1,
body:not(.wp-admin) .wjportal-page-header h2 {
	color: var(--mj-site-deep) !important;
	font-size: clamp(2rem, 3vw, 3rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.035em;
	line-height: 1.12;
}

body:not(.wp-admin) .wjportal-form-wrp,
body:not(.wp-admin) .wjportal-login-form,
body:not(.wp-admin) .wjportal-new-login-form,
body:not(.wp-admin) .wjportal-add-job-form,
body:not(.wp-admin) .wjportal-add-company-form,
body:not(.wp-admin) .wjportal-resume-editor-page .wjportal-form-wrapper,
body:not(.wp-admin) .wjportal-jobdetail-wrapper,
body:not(.wp-admin) .wjportal-companydetail-wrapper,
body:not(.wp-admin) .wjportal-resume-detail-wrapper {
	background: rgba(255, 255, 255, 0.92) !important;
	border: 1px solid rgba(255, 255, 255, 0.88) !important;
	border-radius: 20px !important;
	box-shadow: var(--mj-site-shadow) !important;
}

body:not(.wp-admin) .wjportal-form-wrp,
body:not(.wp-admin) .wjportal-login-form,
body:not(.wp-admin) .wjportal-new-login-form {
	padding: clamp(20px, 3vw, 36px) !important;
}

body:not(.wp-admin) .wjportal-form-row {
	border-color: var(--mj-site-line) !important;
}

body:not(.wp-admin) .wjportal-form-title,
body:not(.wp-admin) .wjportal-form-tit,
body:not(.wp-admin) .wjportal-form-label,
body:not(.wp-admin) .wjportal-form-row label {
	color: var(--mj-site-deep) !important;
	font-family: inherit;
	font-size: 1.02rem !important;
	font-weight: 750 !important;
}

body:not(.wp-admin) .wjportal-main-wrapper input[type="text"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="email"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="password"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="number"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="tel"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="date"],
body:not(.wp-admin) .wjportal-main-wrapper input[type="search"],
body:not(.wp-admin) .wjportal-main-wrapper select,
body:not(.wp-admin) .wjportal-main-wrapper textarea,
body:not(.wp-admin) .wjportal-main-wrapper .chosen-choices,
body:not(.wp-admin) .wjportal-main-wrapper .chosen-single {
	background: #f4f7f9 !important;
	border: 1px solid transparent !important;
	border-radius: 11px !important;
	box-shadow: none !important;
	color: var(--mj-site-deep) !important;
	font-family: inherit !important;
	font-size: 1.05rem !important;
	min-height: 52px;
}

body:not(.wp-admin) .wjportal-main-wrapper input:focus,
body:not(.wp-admin) .wjportal-main-wrapper select:focus,
body:not(.wp-admin) .wjportal-main-wrapper textarea:focus,
body:not(.wp-admin) .wjportal-main-wrapper .chosen-container-active .chosen-choices,
body:not(.wp-admin) .wjportal-main-wrapper .chosen-container-active .chosen-single {
	border-color: var(--mj-site-blue) !important;
	box-shadow: 0 0 0 4px rgba(7, 150, 207, 0.12) !important;
	outline: 0 !important;
}

body:not(.wp-admin) .wjportal-main-wrapper textarea {
	min-height: 140px;
	padding: 14px !important;
}

body:not(.wp-admin) .wjportal-main-wrapper input[type="submit"],
body:not(.wp-admin) .wjportal-main-wrapper button,
body:not(.wp-admin) .wjportal-form-btn,
body:not(.wp-admin) .wjportal-act-btn,
body:not(.wp-admin) a.wjportal-form-btn {
	background: var(--mj-site-blue) !important;
	border: 2px solid var(--mj-site-blue) !important;
	border-radius: 11px !important;
	box-shadow: 0 10px 24px rgba(7, 150, 207, 0.18);
	color: #fff !important;
	font-family: inherit !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	min-height: 46px;
	text-decoration: none !important;
	transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body:not(.wp-admin) .wjportal-main-wrapper input[type="submit"]:hover,
body:not(.wp-admin) .wjportal-main-wrapper button:hover,
body:not(.wp-admin) .wjportal-form-btn:hover,
body:not(.wp-admin) .wjportal-act-btn:hover,
body:not(.wp-admin) a.wjportal-form-btn:hover {
	background: var(--mj-site-deep) !important;
	border-color: var(--mj-site-deep) !important;
	color: #fff !important;
	transform: translateY(-2px);
}

body:not(.wp-admin) .wjportal-jobs-list,
body:not(.wp-admin) .wjportal-jobs-list-wrapper > div,
body:not(.wp-admin) .wjportal-company-list-wrapper > div,
body:not(.wp-admin) .wjportal-resume-list-wrapper > div,
body:not(.wp-admin) .wjportal-my-company-wrp > div,
body:not(.wp-admin) .wjportal-my-jobs-wrp > div {
	border-color: var(--mj-site-line) !important;
	border-radius: 16px !important;
}

body:not(.wp-admin) .wjportal-jobs-list,
body:not(.wp-admin) .wjportal-company-list,
body:not(.wp-admin) .wjportal-resume-list {
	background: rgba(255, 255, 255, 0.92) !important;
	box-shadow: 0 12px 34px rgba(41, 55, 130, 0.08) !important;
	margin-bottom: 18px !important;
	transition: box-shadow 180ms ease, transform 180ms ease;
}

body:not(.wp-admin) .wjportal-jobs-list:hover,
body:not(.wp-admin) .wjportal-company-list:hover,
body:not(.wp-admin) .wjportal-resume-list:hover {
	box-shadow: 0 20px 45px rgba(41, 55, 130, 0.13) !important;
	transform: translateY(-3px);
}

body:not(.wp-admin) .wjportal-modern-dashboard {
	color: var(--mj-site-deep);
}

body:not(.wp-admin) .wjportal-modern-dashboard [class*="box"],
body:not(.wp-admin) .wjportal-modern-dashboard [class*="card"],
body:not(.wp-admin) .wjportal-modern-dashboard [class*="stat"] {
	border-color: var(--mj-site-line) !important;
	border-radius: 16px !important;
}

body:not(.wp-admin) .wjportal-pagination a,
body:not(.wp-admin) .wjportal-pagination span {
	border-radius: 9px !important;
}

body:not(.wp-admin) .frontend.error,
body:not(.wp-admin) .frontend.updated,
body:not(.wp-admin) .wjportal-error-msg,
body:not(.wp-admin) .wjportal-success-msg {
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 0 8px 24px rgba(41, 55, 130, 0.08);
}

body:not(.wp-admin) .site-footer {
	background: rgba(255, 255, 255, 0.72);
	border-top: 1px solid var(--mj-site-line);
	backdrop-filter: blur(18px);
}

body:not(.wp-admin) .site-footer .site-info {
	background: transparent;
	color: var(--mj-site-deep);
	padding: 48px 28px 22px;
}

body:not(.wp-admin) .site-footer .mj-footer-brand p,
body:not(.wp-admin) .site-footer .mj-footer-bottom p {
	color: rgba(41, 55, 130, 0.72) !important;
}

body:not(.wp-admin) .site-footer .mj-footer-bottom {
	border-color: var(--mj-site-line);
}

body:not(.wp-admin) .site-footer .mj-footer-main {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 26px;
	justify-content: center;
	padding-bottom: 32px;
	text-align: center;
}

body:not(.wp-admin) .site-footer .mj-footer-brand {
	max-width: 620px;
}

body:not(.wp-admin) .site-footer .mj-footer-brand p {
	margin-top: 12px;
}

body:not(.wp-admin) .site-footer .mj-footer-legal-links {
	align-items: center;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 12px 30px;
	justify-content: center;
}

body:not(.wp-admin) .site-footer .mj-footer-legal a {
	color: var(--mj-site-deep) !important;
	font-size: 16px;
	font-weight: 750;
	text-decoration: none !important;
	transition: color 160ms ease;
}

body:not(.wp-admin) .site-footer .mj-footer-legal a:hover,
body:not(.wp-admin) .site-footer .mj-footer-legal a:focus {
	color: var(--mj-site-blue) !important;
}

body:not(.wp-admin) .mj-legal-page {
	background:
		radial-gradient(circle at 92% 5%, rgba(7, 150, 207, 0.13), transparent 32rem),
		linear-gradient(135deg, #fff 0%, #f7fcff 100%);
	min-height: 70vh;
	padding: clamp(48px, 7vw, 96px) 24px;
}

body:not(.wp-admin) .mj-legal-shell {
	margin: 0 auto;
	max-width: 1050px;
}

body:not(.wp-admin) .mj-legal-back {
	color: var(--mj-site-blue) !important;
	display: inline-block;
	font-size: 17px;
	font-weight: 750;
	margin-bottom: 22px;
	text-decoration: none !important;
}

body:not(.wp-admin) .mj-legal-document {
	background: rgba(255, 255, 255, 0.92);
	border-radius: 26px;
	box-shadow: 0 20px 60px rgba(41, 55, 130, 0.12);
	padding: clamp(30px, 6vw, 72px);
}

body:not(.wp-admin) .mj-legal-document h1 {
	color: var(--mj-site-deep) !important;
	font-size: clamp(2.1rem, 4vw, 3.4rem) !important;
	line-height: 1.12;
	margin: 0 0 34px;
}

body:not(.wp-admin) .mj-legal-document h2 {
	color: var(--mj-site-deep) !important;
	font-size: clamp(1.35rem, 2vw, 1.75rem) !important;
	line-height: 1.25;
	margin: 42px 0 14px;
}

body:not(.wp-admin) .mj-legal-document p {
	color: var(--mj-site-deep) !important;
	font-size: 17px !important;
	line-height: 1.75;
	margin: 0 0 16px;
}

@media (max-width: 1100px) {
	body:not(.wp-admin) #masthead > .container,
	body:not(.wp-admin) #masthead > .container-fluid {
		padding-inline: 24px;
	}
}

@media (max-width: 780px) {
	body:not(.wp-admin) #masthead > .container,
	body:not(.wp-admin) #masthead > .container-fluid,
	body:not(.wp-admin) .wjportal-main-up-wrapper {
		padding-inline: 18px;
	}

	body:not(.wp-admin) .wjportal-main-up-wrapper {
		padding-bottom: 56px;
		padding-top: 36px;
	}

	body:not(.wp-admin) .wjportal-page-heading,
	body:not(.wp-admin) .wjportal-page-header h1,
	body:not(.wp-admin) .wjportal-page-header h2 {
		font-size: 2rem !important;
	}

	body:not(.wp-admin) .header-navigation a,
	body:not(.wp-admin) .header-navigation a:visited {
		font-size: 16px !important;
	}

	body:not(.wp-admin) .site-footer .mj-footer-main {
		gap: 22px;
	}

	body:not(.wp-admin) .site-footer .mj-footer-legal-links {
		gap: 10px 20px;
	}
}

@media (max-width: 991px) {
	body:not(.wp-admin) #masthead.header1,
	body:not(.wp-admin) #masthead.header2 {
		padding-block: 8px;
	}

	body:not(.wp-admin) #masthead .col-md-12 {
		align-items: center;
		display: flex;
		min-height: 48px;
		position: relative;
	}

	body:not(.wp-admin) #masthead .site-logo {
		float: none;
	}

	body:not(.wp-admin) .site-logo img.custom-logo {
		height: 45px;
	}

	body:not(.wp-admin) div#hamburger-menu {
		height: 32px;
		margin-left: auto;
		position: relative;
		right: auto;
		top: auto;
		width: 32px;
	}

	body:not(.wp-admin) div#hamburger-menu button.open-menu {
		display: block;
		height: 32px;
		position: relative;
		width: 32px;
	}

	body:not(.wp-admin) #hamburger-menu span {
		height: 2px;
		left: 5px;
		width: 22px;
	}

	body:not(.wp-admin) #hamburger-menu span:nth-child(1) {
		top: 8px;
	}

	body:not(.wp-admin) #hamburger-menu span:nth-child(2) {
		top: 15px;
	}

	body:not(.wp-admin) #hamburger-menu span:nth-child(3) {
		top: 22px;
	}

	body:not(.wp-admin) #hamburger-menu.open span:nth-child(1) {
		transform: translateY(7px) rotate(45deg);
	}

	body:not(.wp-admin) #hamburger-menu.open span:nth-child(3) {
		transform: translateY(-7px) rotate(-45deg);
	}

	body:not(.wp-admin) nav#site-navigation.open {
		background: rgba(255, 255, 255, 0.97);
		border: 1px solid rgba(41, 55, 130, 0.1);
		border-radius: 14px;
		box-shadow: 0 18px 46px rgba(30, 47, 92, 0.16);
		display: block;
		margin: 0;
		overflow: hidden;
		padding: 7px;
		position: absolute;
		right: 0;
		top: calc(100% + 10px);
		width: min(300px, calc(100vw - 32px));
	}

	body:not(.wp-admin) nav#site-navigation,
	body:not(.wp-admin) nav#site-navigation .menu-primary-container {
		border: 0;
	}

	body:not(.wp-admin) #site-navigation .menu-primary-container {
		margin: 0;
	}

	body:not(.wp-admin) #site-navigation .menu-primary-container > ul {
		align-items: stretch;
		display: flex !important;
		flex-direction: column;
		gap: 2px;
		margin: 0;
	}

	body:not(.wp-admin) #site-navigation .menu-primary-container > ul > li {
		border: 0;
		width: 100%;
	}

	body:not(.wp-admin) #site-navigation .menu-primary-container > ul > li > a,
	body:not(.wp-admin) #site-navigation .menu-primary-container > ul > li > a:visited {
		border-radius: 9px;
		font-size: 15px !important;
		font-weight: 650;
		padding: 11px 13px;
	}

	body:not(.wp-admin) button.close-menu {
		display: none;
	}
}

@media (max-width: 480px) {
	body:not(.wp-admin) #masthead > .container,
	body:not(.wp-admin) #masthead > .container-fluid,
	body:not(.wp-admin) .wjportal-main-up-wrapper {
		padding-inline: 16px;
	}

	body:not(.wp-admin) .wjportal-main-wrapper input[type="submit"],
	body:not(.wp-admin) .wjportal-main-wrapper .wjportal-form-btn {
		width: 100% !important;
	}
}
