/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/* COOKIE BANER */
.wt-cli-manage-consent-link {
	cursor: pointer !important;
}

.cli-modal-backdrop {
	z-index: 99999!important;
}

#cookie-law-info-bar {
	z-index: 99999999999 !important;
}

#cliSettingsPopup {
	z-index: 999999999999 !important;
}


/* -- JOB PLUGIN -- */

/* -- SEARCH FORM -- */

#zrjb-item-search-container.zrjb-item-search-wrapper {
	padding-top: 60px !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    max-width: 1380px !important;
    margin: 0 auto;
}

#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
  grid-column: 1;
  grid-row: 1;
  height: 50px;
}

#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  height: 50px;
}

#zrjb-item-search-container .zrjb-submit-button-wrapper {
  grid-column: 3;
  grid-row: 1;
  justify-self: flex-end;
}

#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
  grid-column: 3;
  grid-row: 1;
  justify-self: flex-start;
}

.zrjb-filter-keywords-wrapper {
	border-radius: 40px;
}

.zrjb-filter-umkreis-wrapper {
	max-width: 280px !important;
	border-radius: 40px;
}

@media(max-width: 600px) {
	.zrjb-filter-umkreis-wrapper {
		max-width: 100% !important;
		box-shadow: none;
	}
}

@media(max-width: 1350px) {
	#zrjb-item-search-container.zrjb-item-search-wrapper {
		grid-template-columns: repeat(2, 1fr);
		padding-left: 30px;
		padding-right: 30px;
	}
	
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
	  grid-column: 2;
	  grid-row: 1;
		width: calc(100% - 160px);
		max-width: 100% !important;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 2;
	  grid-row: 2;
	}

	/* 3. Spalte: Reset-Link direkt darunter */
	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 2;
	}
}

@media(max-width: 1024px) {
	#zrjb-item-search-container.zrjb-item-search-wrapper {
		grid-template-columns: repeat(1, 1fr);
	}
	
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
	  grid-column: 1;
	  grid-row: 2;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 1;
	  grid-row: 3;
	}

	/* 3. Spalte: Reset-Link direkt darunter */
	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 3;
	}
}

@media(max-width: 600px) {
	#zrjb-item-search-container .zrjb-filter-keywords-wrapper {
	  grid-column: 1;
	  grid-row: 1;
	}

	#zrjb-item-search-container .zrjb-filter-umkreis-wrapper {
		width: 100%;
	  grid-column: 1;
	  grid-row: 2;
	}

	#zrjb-item-search-container .zrjb-submit-button-wrapper {
	  grid-column: 1;
	  grid-row: 4;
	}

	#zrjb-item-search-container .zrjb-filter-reset-link-wrapper {
	  grid-column: 1;
	  grid-row: 3;
		margin-top: 70px !important;
	}
}


#zrjb-radius-select-box {
	display: inline !important;
	min-width: 150px !important;
	position: absolute;
	margin-left: 10px;
	border-radius: 40px;
}

@media(max-width: 600px) {
	#zrjb-radius-select-box {
		display: block !important;
		min-width: 100% !important;
		position: relative;
		margin-left: 0;
		margin-top: 30px !important;
	}
}

.select2-container {
	width: 100% !important;
}

#zrjb-item-search-container .zrjb-filter-umkreis-wrapper .select2-selection--single {
	background-color: #ffffff !important;
	border: none !important;
	border: 2px solid #1D951B !important;
	color: #000000 !important;
	height: 50px !important;
	border-radius: 40px !important;
}

#select2-zrjb-select-location-container,
#select2-zrjb-select-radius-container {
	position: relative;
	height: 50px !important;
	display: flex;
	align-items: center;
	color: #000000 !important;
	font-size: 16px !important;
}

#select2-zrjb-select-location-container::after,
#select2-zrjb-select-radius-container::after {
	content: url(./assets/icons/angle-down.svg);
	position:absolute;
	top: 5px;
	right: 15px;
}

.select2-search__field {
	color: #000000 !important;
}

.zrjb-filter-umkreis-wrapper .select2-selection__placeholder {
	color: #000000 !important;
	font-size: 16px !important;
}

.zrjb-filter-umkreis-wrapper .select2-selection__arrow {
	display: none !important;
}

.zrjb-filter-abteilung-wrapper {
	grid-area: department;
	width: 100% !important;
}

@media(max-width: 1024px) {
	.zrjb-filter-abteilung-wrapper {
		margin-top: 15px;
	}
}

.zrjb-filter-vertragsart-wrapper {
	grid-area: contract-type;
	width: 100% !important;
}

@media(max-width: 1024px) {
	.zrjb-filter-vertragsart-wrapper {
		margin-top: 15px;
	}
}

.zrjb-filter-reset-link-wrapper {
	grid-area: reset-filters;
}

.zrjb-submit-button-wrapper {
	grid-area: search-button;
}

#zrjb-filter-keywords {
	width: 100%;
	height: 50px;
	padding-left: 20px;
	border-radius: 40px;
	border: none;
	background-color: #ffffff;
	color: #000000;
	font-size: 20px;
	border: 2px solid #1D951B !important;
}

#zrjb-filter-keywords::placeholder {
	color: #000000;
	opacity: 1;
	font-size: 18px;
}

.zrjb-filter-abteilung-wrapper,
.zrjb-filter-vertragsart-wrapper{
	background-color: #ffffff;
	border: 1px solid #ffffff;
	color: #c4c4c4;
	height: 40px;
	border-radius: 40px;
}

.select2-selection.select2-selection--multiple {
	background-color: #ffffff;
	border: 0;
	padding-left: 15px;
}

.select2-selection.select2-selection--multiple::after {
	content: url(./assets/icons/angle-down.svg);
	position:absolute;
	top: 10px;
	right: 15px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple {
	border: none;
}

.select2-search__field {
	color: #ffffff;
}

.select2-search__field::placeholder {
	color: #ffffff !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
	background-color: #ffffff !important;
	color: #000000 !important;
	font-size: 12px !important;
}

.zrjb-filter-reset-link-wrapper {
	display: flex;
	align-items: flex-end;
	margin-top: 15px!important;
}

#zrjb-filter-reset-link-container a {
	color: #000000;
	padding-bottom: 2px;
	border-bottom: 1px solid #000000;
}

#zrjb-filter-reset-link-container a::before {
	content: url(./assets/icons/rotate-left.svg);
	margin-right: 10px;
}

#zrjb-submit-button-container #zrjb-submit-button {
	width: 200px;
	background-color: #ffffff !important;
	color: #000000 !important;
	padding: 12px 30px 12px 25px !important;
	border: none !important;
	border-radius: 65px !important;
	font-size: 18px;
	font-weight: bold !important;
	text-transform: uppercase !important;
	border-radius: 65px !important;
	cursor: pointer !important;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.8) !important;
	transition: background-color .2s, transform .2s;
}

#zrjb-submit-button:hover {
	transform: scale(1.05);
}

#zrjb-submit-button::before {
	content: url(./assets/icons/search.svg);
	margin-right: 15px;
}

@media(max-width: 600px) {
	#zrjb-submit-button-container #zrjb-submit-button {
		margin-top: 15px !important;
	}
}

@media(max-width: 490px) {
	#zrjb-submit-button-container #zrjb-submit-button {
		margin-top: 0px !important;
	}
}


/* -- JOBS LIST -- */
.job-list {
	padding-top: 60px !important;
	display: grid;
	grid-template-columns: 1fr;
	gap: 30px;
	max-width: 1380px!important;
	margin: 0 auto;
	hyphens: auto;
	word-break: break-all;
}

.job-list-single {
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	background-color: #ffffff;
	padding: 20px 30px;
	transition: box-shadow .2s, border-bottom .2s;
	border-bottom: 4px solid transparent;
}

.job-list-single:hover {
	box-shadow: 0px 1px 6px 0px rgba(175,175,175,0.8) !important;
	border-bottom: 4px solid #1d951b;
}

.job-list-single-date time {
	background-color: #f5f5f5;
	color: #000000;
	padding: 5px 10px;
	font-weight: lighter;
	border-radius: 3px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.4) !important;
}

.job-list-single h2 {
	font-size: 30px !important;
	font-weight: bold !important;
	line-height: 34px !important;
	margin-top: 20px !important;
	margin-bottom: 0 !important;
	hyphens: auto !important;
}

.job-list-single a {
	hyphens: auto !important;
	font-size: 25px !important;
}

.job-list-single a:hover {
	color: #1d951b;
}

.job-list-single-location {
	margin-top: 20px;
	font-size: 18px !important;
	font-weight: lighter;
}

.job-list-single-location::before {
	content: url(./assets/icons/map.svg);
	margin-right: 10px;
}

@media(max-width: 768px) {
	.job-list {
		grid-template-columns: repeat(1, 1fr);
		margin-left: 4%;
    	margin-right: 4%;
	}
	
	.job-list-single h2 {
		font-size: 25px !important;
	}
	
	.job-list-single-location {
		font-size: 18px !important;
	}
}

/* -- PAGINATION -- */

#zrjb-pagination-form {
	max-width: 1380px!important;
	margin: 0 auto;
}

#zrjb-list-pagination-line {
	margin-top: 30px !important;
	display: flex;
	justify-content: center;
}

#zrjb-list-pagination-line > button {
	width: 40px;
	height: 40px;
	border: none;
	background-color: #ffffff;
	color: #000000;
	font-size: 18px;
	border-radius: 100%;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.4) !important;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}

#zrjb-list-pagination-line > button:hover {
	background-color: #1D951B;
	color: #ffffff;
}

#zrjb-list-pagination-line > button + button {
	margin-left: 10px;
}

#zrjb-list-pagination-line > button[disabled] {
	background-color: #5F5F5F;
	opacity: 0.5;
	cursor: not-allowed;
}

@media(max-width: 768px) {
	#zrjb-pagination-form {
		margin-left: 4%;
    	margin-right: 4%;
	}
}

/* -- SINGLE JOB -- */

#zrjb-back2list-button-link {
	pointer-events: none;
	visibility: hidden;
}

#zrjb-job-detail-title {
	position: relative;
	font-size: 30px !important;
	padding-bottom: 10px;
	width: fit-content!important;
	hyphens: auto !important;
}

#zrjb-job-detail-title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100px;
	height: 4px;
	background-color: #1d951b;
}

#zrjb-bewerben-button-label {
	position: relative !important;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px 15px 15px 50px;
	color: #000000;
	font-weight: bold;
	background-color: #F2F3F5;
	margin-top: 30px;
	width: fit-content;
	transition: background-color .2s;
	border-radius: 5px;
	border-bottom: 5px solid #1d951b;
	text-transform: uppercase;
}

#zrjb-bewerben-button-label::before {
	content: url(./assets/icons/arrow-right-black.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-bewerben-button-label:hover{
	background-color: #1d951b;
	color: #ffffff;
}

#zrjb-bewerben-button-label:hover::before {
	content: url(./assets/icons/arrow-right.svg);
}

#zrjb-job-jobdetais-label {
	font-weight: bold;
	margin-right: 10px;
}

#zrjb-job-jobdetais-label::after {
	content: ':';
}

#zrjb-job-description-header {
	font-size: 25px;
	font-weight: bold;
}

.extra-privacy-security-info  a {
	color: #000000 !important;
	border-bottom: 1px solid #1E951A;
	transition: color .2s;
}


.extra-privacy-security-info  a:hover {
	color: #1E951A !important;
}

/* -- APPLICATION FORM -- */

#zrjb-application-form-titel div {
	font-size: 30px !important;
	border-bottom: 4px solid #1d951b!important;
	padding-bottom: 10px;
	width: fit-content!important;
	hyphens: auto !important;
	font-weight: bold;
	line-height: 1.2;
}

#zrjb-application-form-infotext {
	font-size: 18px;
	margin-top: 30px;
	padding: 10px 20px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
}

#zrjb-application-form {
	margin-top: 50px;
}

#zrjb-application-form-input-container label {
	display: block;
	font-size: 18px;
}

#zrjb-application-form-input-container div+div {
	margin-top: 20px;
}


#zrjb-application-form-input-container input,
#zrjb-application-form-input-container select {
	height: 50px;
	border: 2px solid #000000;
}

#zrjb-application-form-input-container input:focus {
	border: 2px solid #1D951B;
}

#zrjb-application-form-input-container select {
	width: 150px;
}

#zrjb-attachment-container h4 {
	font-size: 18px !important;
	font-weight: normal !important;
	margin-bottom: 10px;
}

#zrjb-attachment-container p {
	padding: 10px 20px;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	font-size: 14px;
}

#zrjb-file-upload-button {
	font-size: 18px;
	background-color: #f0f0f0;
	color: #000000;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
	transition: background-color .2s, color .2s;
}

#zrjb-file-upload-button:hover {
	color: #ffffff;
	background-color: #5F5F5F;
}

#zrjb-datenschutz-infotext {
	margin-top: 20px;
	font-size: 18px;
}

#senden-info {
	margin-top: 10px;
	font-size: 14px;
}

#zrjb-send-form-button {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	font-weight: bold;
	padding: 15px 15px 15px 50px;
	background-color: #F2F3F5;
	border: none;
	color: #000000;
	cursor: pointer;
	transition: background-color .2s;
	border-radius: 5px;
	border-bottom: 5px solid #1d951b;
	text-transform: uppercase;
}

#zrjb-send-form-button::before {
	content: url(./assets/icons/arrow-right-black.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-send-form-button:hover  {
	background-color: #1d951b;
	color: #ffffff;
}

#zrjb-send-form-button:hover::before {
	content: url(./assets/icons/arrow-right.svg);
}

#zrjb-whatsapp-button-label {
	position: relative;
	display: flex;
	width: fit-content;
	font-size: 16px;
	font-weight: bold;
	padding: 15px 15px 15px 50px;
	background-color: #1D951B;
	border: none;
	color: #ffffff;
	cursor: pointer;
	transition: background-color .2s;
	border-radius: 5px;
}

#zrjb-whatsapp-button-label:hover  {
	background-color: #212326;
	box-shadow: 0px 1px 5px 0px rgba(175,175,175,0.5) !important;
}

#zrjb-whatsapp-button-label::before {
	content: url(./assets/icons/whatsapp.svg);
	position: absolute;
	top: 18px;
	left: 15px;
}

#zrjb-whatsapp-button-link {
	display: flex;
	flex-direction: column-reverse;
}

#zrjb-whatsapp-qrimage {
	width: 310px;
	height: auto;
}


/* -- NEWSLETTER POPUP -- */
.rmPopup.rmPopup--modal.rmLayout--vertical.rmBase {
	top: 30% !important;
}

/* -- THEME OVERWRITE -- */

.button-no-padding {
	padding: 0px 10px 10px 0px !important;
}

/* -- FOOTER OVERWRITE -- */
#custom_html-6 {
	margin-bottom: 25px !important;
}



/* -- EAA -- */

/* General rule for all keyboard-accessible elements */
a:focus-visible,
input:focus-visible,
button:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Apply focus style to parent <div> when its <a> child is focused */
div:has(> a:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Add focus ring to the container when the child link is focused */
.fusion-image-element:has(> span > a:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* INPUT search widget */
/* Remove native focus style from input */
#zrjb-filter-keywords:focus-visible {
  outline: none;
  box-shadow: none;
}

/* Show focus on the parent wrapper */
.zrjb-filter-keywords-wrapper:has(> #zrjb-filter-keywords:focus-visible) {
  outline: 2px solid #000000;
  outline-offset: 2px;
  border-radius: none;
}
/* SELECT search widget */
/* Remove any default outline on the visible part of Select2 */
.select2-selection {
  outline: none !important;
  box-shadow: none !important;
}

/* ✅ Focus ring on Ort select when it is focused */
.zrjb-filter-umkreis-wrapper:focus-within {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* ✅ Focus ring on Radius select when it is focused */
#zrjb-radius-select-box:focus-within {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

footer.fusion-footer-widget-area a:focus-visible,
footer.fusion-footer-widget-area [tabindex]:focus-visible,
footer.fusion-footer-widget-area button:focus-visible,
footer.fusion-footer-widget-area .fusion-social-network-icon:focus-visible,
footer.fusion-footer-widget-area i:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

/* General focus styles inside the application form */
#zrjb-application-form input:focus-visible,
#zrjb-application-form select:focus-visible,
#zrjb-application-form textarea:focus-visible,
#zrjb-application-form button:focus-visible,
#zrjb-application-form [tabindex]:focus-visible {
  outline: 2px solid #000000;
  outline-offset: 2px;
}

/* Optional: add visible focus to file upload button's internal input */
#zrjb-file-upload-button input[type="file"]:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 2px;
}

































