/* ==========================================================================
   frontend.css — Nur für öffentliche Bewerberseite
   Wird NICHT im Admin-Bereich geladen.
   Enthält: Header, Footer, Main, Card, Filter, Pagging, Last, Login,
   Job-Beschreibung, Share-Buttons, Kontakt/Formular und frontend-spezifische
   Responsive-Breakpoints.
   ========================================================================== */

/* --- Typography Helpers (Frontend-spezifisch) --- */
.card-title {
	font-weight: 700;
	padding-bottom: 20px;
	overflow-wrap: anywhere;
	word-break: break-word;
	white-space: normal;
	min-width: 0;
	max-width: 100%;
}
.card-info {
	display: flex;
	gap: 20px;
}
.card-info__item {
	display: flex;
	align-items: center;
	gap: 8px;
}
.card-info__icon {
	max-height: 28px;
}
.text-block.abstandOben {
	padding-top: 50px;
}
.text-block p:not(:last-child) {
	margin-bottom: 12px;
}
.text-block ul li,
.card__text ul li {
	list-style-type: disc;
	margin-left: 20px;
}
.text-block ul li:not(:last-child),
.card__text ul li:not(:last-child) {
	margin-bottom: 6px;
}
.title-regular {
	font-weight: 700;
	padding-top: 30px;
	padding-bottom: 20px;
	font-size: 24px!important;
}

/* --- Job-Beschreibung und Share Buttons --- */
.jobBeschreibung .black-button {
	padding: 6px 20px 6px;
}
.button.button-share {
	display: inline-flex;
	align-items: center;
	color: white;
	text-decoration: none;
	border: none;
	cursor: pointer;
	justify-content: center;
	padding: 7px 20px 7px!important;
	width: max-content;
	border-radius: 8px;
	transition: all .3s ease 0s;
}

.fileFontSize {
	font-size: small;
}

.newJobShareButton {
	width: auto;
	cursor: pointer;
	padding-top: 5px;
	padding-bottom: 5px;
	display: inline-block;
	padding: 0;
	vertical-align: middle;
	z-index: 5;
	position: absolute;
	top: 0;
	right: 0;
}
.newJobShareButton:hover {
	color: #000;
}
.newJobShareButtonOptions li .successMessage {
	position: relative;
	width: 100%;
	padding: 4px 10px;
	background-color: #c6f6c6;
}
.successMessage {
	background: #d4edda;
	color: #155724;
	padding: 5px 10px;
	margin-top: 0px;
	font-size: 15px;
}
.copieButton {
	margin-left: auto;
}
.newJobShareButton img {
	width: 20px;
	height: 35px;
	display: block;
}
.newJobShareButtonOptions {
	position: absolute;
	z-index: 1;
	top: 85%;
	right: 0;
	border: 2px solid #EEE;
	background: #FFF;
	margin: 10px 0 0 0;
	padding: 0;
	list-style-type: none;
	display: none;
	font-size: .85em;
	border-radius: 5px;
}
.newJobShareButtonOptions li {
	border-bottom: 1px solid #f4f4f4;
	padding: 4px 10px;
	min-width: 100%;
	width: max-content;
	display: block;
	position: relative;
}
.newJobShareButtonOptions li:hover {
	background-color: #fafafa;
}
.newJobShareButtonOptions li div.successMessage {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 4px 10px;
	background-color: #c6f6c6;
}
.newJobShareButtonOptions li:last-of-type {
	border-bottom: none;
}

/* --- Social Links (Frontend-Footer) --- */
.social-links {
	display: flex;
	gap: 50px;
}
.social-links__col div {
	height: 44px;
	display: flex;
	align-items: center;
}
.social-links__col a {
	display: flex;
	align-items: center;
	gap: 8px;
}

/* --- Main Section (Bewerberseite) --- */
.main__title {
	font-weight: 700;
	padding-bottom: 30px;
	text-align: center;
	margin: 0 auto;
}
.main__description {
	font-weight: 600;
	text-align: center;
	max-width: 930px;
	margin: 0 auto;
}
.main-image,
.main-image img,
.main-image video {
	width: 100%;
}

/* --- Filter / Liste --- */
.filters__row {
	width: 100%;
	display: flex;
	gap: 30px;
}
.filters__col--1 {
	flex: 0 1 33%;
	padding-top: 35px;
}
.filters__col--2 {
	flex: 0 1 66%;
}
.icon-filters-mobile {
	display: none;
}
.card {
	padding: 25px 30px 30px;
	border-radius: 10px;
	transition: transform .18s ease, box-shadow .18s ease;
}
.card:not(:last-child) {
	margin-bottom: 10px;
}
.card.jobEntry:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 24px rgba(0,0,0,.08), 0 2px 6px rgba(0,0,0,.06);
}

/* --- Job-Suche (Sidebar-Filter) --- */
.jobSearch {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 240px;
	margin: 0 0 18px 0;
}
.jobSearch__icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #adb5bd;
	font-size: 14px;
	pointer-events: none;
}
.jobSearch__input {
	width: 100%;
	height: 36px;
	padding: 0 32px 0 34px;
	border: 1px solid #e0e0e0;
	border-radius: 999px;
	background: #f8f9fa;
	font-size: 14px;
	color: #333;
	outline: none;
	transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease;
}
.jobSearch__input::placeholder {
	color: #adb5bd;
}
.jobSearch__input:hover {
	border-color: #ced4da;
	background: #fff;
}
.jobSearch__input:focus {
	border-color: var(--primary, #0d6efd);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(13,110,253,.12);
}
.jobSearch__input::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}
.jobSearch__clear {
	position: absolute;
	right: 8px;
	top: 50%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	color: #adb5bd;
	cursor: pointer;
	padding: 4px;
	font-size: 14px;
	line-height: 1;
	border-radius: 50%;
	transition: color .15s ease;
}
.jobSearch__clear:hover {
	color: var(--primary, #0d6efd);
}

/* --- Focus-Ring für Filter-Checkboxen (Accessibility) --- */
.filter .checkbox__input:focus-visible + .checkbox__label {
	outline: 2px solid var(--primary, #0d6efd);
	outline-offset: 2px;
	border-radius: 3px;
}

/* --- Job-Liste Header (Counter + Favoriten-Toggle) --- */
.jobListHeader {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
}
@media (max-width: 768px) {
	.jobListHeader {
		margin-bottom: 28px;
	}
}
.favoriteToggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: transparent;
	border: 1px solid #ced4da;
	border-radius: 999px;
	color: #6c757d;
	font-weight: 500;
	cursor: pointer;
	transition: all .15s ease;
}
.favoriteToggle:hover {
	border-color: var(--primary, #0d6efd);
	color: var(--primary, #0d6efd);
}
.favoriteToggle[aria-pressed="true"] {
	background: var(--primary, #0d6efd);
	color: #fff;
	border-color: var(--primary, #0d6efd);
}
.favoriteToggle .favoriteCount {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	background: rgba(0,0,0,.12);
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
}
.favoriteToggle[aria-pressed="true"] .favoriteCount {
	background: rgba(255,255,255,.25);
}

/* --- Herz auf Card --- */
.jobEntry {
	position: relative;
}
.favoriteBtn {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	color: #adb5bd;
	cursor: pointer;
	font-size: 20px;
	border-radius: 50%;
	transition: color .15s ease, background-color .15s ease, transform .15s ease;
	z-index: 2;
}
.favoriteBtn:hover {
	background: rgba(0,0,0,.06);
	color: var(--primary, #dc3545);
	transform: scale(1.1);
}
.jobEntry.is-favorite .favoriteBtn {
	color: var(--primary, #dc3545);
}
.jobEntry.is-favorite .favoriteBtn:hover {
	transform: scale(1.15);
}
.jobList.showOnlyFavorites .jobEntry:not(.is-favorite) {
	display: none!important;
}
.jobCountBadge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 14px;
	background: var(--primary, #0d6efd);
	color: #fff;
	border-radius: 999px;
	font-weight: 500;
	line-height: 1.5;
}
.jobCountNumber {
	font-weight: 700;
	font-size: 14px;
}
.jobCountLabel {
	font-size: 14px;
	opacity: .95;
}

#bewerbungsformular {
	scroll-margin-top: calc(var(--headerHeight, 70px) + 20px);
}

/* --- Sticky Apply-Button (Detail-Seite) --- */
.stickyApplyBtn {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12px 20px;
	background: var(--primary, #0d6efd);
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-weight: 600;
	box-shadow: 0 6px 20px rgba(0,0,0,.18);
	opacity: 0;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity .2s ease, transform .2s ease;
}
.stickyApplyBtn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.stickyApplyBtn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(0,0,0,.22);
}
@media (max-width: 480px) {
	.stickyApplyBtn {
		right: 12px;
		bottom: 12px;
		padding: 10px 16px;
		font-size: 14px;
	}
	.stickyApplyBtn__text {
		display: none;
	}
}

/* --- Scroll to top Button --- */
.scrollToTopBtn {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 90;
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(0,0,0,.55);
	color: #fff;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	font-size: 20px;
	opacity: 0;
	pointer-events: none;
	transform: translateY(16px);
	transition: opacity .2s ease, transform .2s ease, background-color .2s ease;
}
.scrollToTopBtn.visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
}
.scrollToTopBtn:hover {
	background: var(--primary, #0d6efd);
}

/* --- Empty State --- */
.jobListEmpty {
	text-align: center;
	padding: 60px 20px;
	color: #6c757d;
}
.jobListEmpty i {
	font-size: 56px;
	color: #ced4da;
	display: block;
	margin-bottom: 16px;
}
.jobListEmpty p {
	margin: 0 0 20px 0;
	font-size: 16px;
}
.jobListEmpty .jobListResetFilters {
	margin: 0 auto;
}
/* --- Anstellungsgrad-Badge --- */
.jobEntry .card__info-line .info-line__col .card-info__text[data-badge],
.anstellungsBadge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px 12px;
	background: var(--primary, #0d6efd);
	color: #fff;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1;
	text-transform: uppercase;
	letter-spacing: .3px;
	white-space: nowrap;
}
.buttonRow {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}
.buttonRow .button,
.buttonRow .black-button {
	height: 44px;
	padding-top: 0!important;
	padding-bottom: 0!important;
	line-height: 1;
	box-sizing: border-box;
}
.detailActions {
	display: inline-flex;
	align-items: stretch;
	gap: 8px;
	margin-left: auto;
}
.detailActions .newJobShareButton {
	position: relative;
	top: auto;
	right: auto;
	padding: 0;
	display: inline-flex;
}
.detailActions .newJobShareButton > .button {
	height: 44px;
}
.detailActionBtn {
	display: inline-flex!important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 140px;
	padding-left: 20px!important;
	padding-right: 20px!important;
	border-radius: 8px!important;
}
.detailActionBtn i {
	transition: transform .15s ease;
	font-size: 1em;
	line-height: 1;
}
.favoriteBtnDetailAction {
	background: #fff!important;
	color: var(--primary)!important;
	border: 1px solid var(--primary)!important;
}
.favoriteBtnDetailAction:hover {
	background: #fff!important;
	color: var(--primary)!important;
	border-color: var(--primary)!important;
}
@media (max-width: 768px) {
	.detailActionBtn {
		min-width: 0;
		width: 44px;
		padding-left: 0!important;
		padding-right: 0!important;
	}
	.detailActionBtn__label {
		display: none;
	}
}
.card__title {
	font-weight: 700;
	padding-bottom: 20px;
	padding-right: 48px;
	overflow-wrap: break-word;
	word-break: normal;
	white-space: normal;
	hyphens: auto;
}
.card__info-line {
	padding-bottom: 15px;
}
.info-line {
	display: flex;
	align-items: center;
	gap: 20px;
}
.info-line__col {
	display: flex;
	align-items: center;
	gap: 8px;
}
.info-line img {
	max-height: 28px;
}

/* --- Pagging --- */
.pagging {
	padding: 20px 0 30px;
	display: flex;
	align-items: center;
	gap: 20px;
}
.pagging__arrow {
	cursor: pointer;
	width: 9px;
	height: 18px;
}
.pagging__arrow img {
	width: 100%;
	height: 100%;
	transition: all .3s ease 0s;
}
.pagging__arrow--prev {
	transform: rotate(-180deg);
}
.pagging__list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2px;
}
.pagging__item {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	transition: all .3s ease 0s;
}
._active {
	cursor: initial;
}

/* --- "Last" Section --- */
.last__image,
.last__image img,
.last__image video {
	width: 100%;
}
.last__title {
	font-weight: 700;
	padding-bottom: 10px;
	text-align: center;
}
.last__description {
	font-weight: 600;
	text-align: center;
}
.last__text {
	text-align: center;
}
.last__button {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 30px 0 0;
}

/* --- Filter --- */
.filter {
	padding: 0 0 15px;
	position: relative;
}
.filter__title .title-text {
	font-weight: 700;
	padding-bottom: 10px;
	position: relative;
	padding: 0 30px 0 0;
	width: fit-content;
}
.filter__title .title-text::after {
	content: "";
	display: flex;
	justify-content: center;
	align-items: center;
	width: 16px;
	height: 16px;
	flex: 0 0 16px;
	background: url(/images/icon-arrow-black.svg) center/55% no-repeat;
	position: absolute;
	right: 0;
	transition: all .3s ease 0s;
}
.filter__title .checkbox {
	font-weight: 400;
}
.filter__title .checkbox__label {
	display: flex;
	align-items: center;
	min-height: 25px;
}
.filter .options-wrapper {
	padding: 10px;
	width: 100%;
	border-radius: 8px;
	overflow: auto;
	transform: translate(0,-100%);
	transition: all .3s ease 0s;
	max-height: 300px;
	overflow: auto;
}
.filter__options {
	position: absolute;
	top: calc(100% - 10px);
	left: -5px;
	width: 300px;
	height: 0;
	overflow: hidden;
}
.filter__title._show .title-text::after {
	content: "";
	transform: rotate(90deg);
}
.filter__title._show .filter__options {
	padding: 5px;
	height: fit-content;
}
.filter__title._show .options-wrapper {
	position: relative;
	z-index: 2;
	transform: translate(0,0);
}

/* --- Section 1 (Jobdetail-Bild) --- */
.section-1 {
	padding-bottom: 50px;
}
.section-1__image {
	width: 100%;
	padding-bottom: 50px;
}
.section-1__image img {
	width: 100%;
}
.section-1__row {
	display: flex;
	justify-content: space-between;
	padding: 20px 0;
}

/* --- Kontakt / Formular --- */
.contact {
	padding-top: 50px;
	padding-bottom: 50px;
}
.contact__title {
	font-size: 18px !important;
	font-weight: 600;
	padding-bottom: 20px;
}
.contact__titleFooterLink{
	padding-bottom: 20px!important;
}
.contact__title-container {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.file-label {
	padding-top: 15px;
	padding-bottom: 8px;
}
.file-input-area {
	height: 200px;
	width: 100%;
	border-radius: 10px;
	padding: 30px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 20px;
}
.file-input-area img {
	padding-bottom: 30px;
}
.file-input-area svg {
	margin-bottom: 30px;
}
.file-input-text {
	text-align: center;
	font-size: 20px;
}
.row-check {
	padding: 30px 0;
	display: flex;
	align-items: center;
	gap: 8px;
}
#fileList {
	padding-top: 6px;
}
#fileList li {
	list-style-type: disc;
	padding: 12px 0 0;
}
#fileList {
	list-style: none;
	padding: 0;
	margin: 0;
}
#fileList li {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
#fileListFoto {
	padding-top: 6px;
}
#fileListFoto li {
	list-style-type: disc;
	padding: 12px 0 0;
}
#fileListFoto {
	list-style: none;
	padding: 0;
	margin: 0;
}
#fileListFoto li {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
}
.delete-btn {
	border: none;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	outline: none;
	margin-right: 8px;
}
.delete-btn svg {
	display: block;
}

/* --- 404 --- */
.tmpl404 .main__description {
	padding-bottom: 50px;
}
.tmpl404 .main__description a:hover {
	text-decoration: underline;
}
.noMandantSize{
	padding-top: 100px;
}
.noMandantFooter {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
  }

/* --- Formular-Überschrift --- */
.formularHeadline{
	font-size: 2.1875rem;
	padding-bottom: 30px;
	font-weight: 700;
}
.match-svg-size {
	font-size: 34px;
	display: inline-block;
	line-height: 1;
	padding-bottom: 10px;
}
.formInput {
	border-radius: 8px!important;
	display: block;
	width: 100%;
	padding: 0 10px;
	background-color: #FFF;
	caret-color: inherit;
	height: 50px;
	margin-top: 8px;
	border: 1px solid transparent;
}
select.formInput {
	font-size: 18px;
}
.formularInput {
	font-size: 1.4375rem!important;
}

/* --- Footer --- */
.footer__container {
	display: flex;
	flex-direction: column;
	gap: 50px;
}
.footer__row {
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.footer__col {
	flex: 0 1 33.333%;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.footer__col > div {
	height: 44px;
	display: flex;
	align-items: center;
}
.footer__row--top {
	align-items: flex-end;
}
.footer__row--top a {
	display: flex;
	align-items: flex-end;
}
.footerTextSize{
	font-size: 18px;
	display: block!important;
}
footer .textRight {
	text-align: right;
}

/* ==========================================================================
   Responsive-Breakpoints (Frontend)
   ========================================================================== */

@media (min-width: 320px) and (max-width: 1586px) {
	.checkbox__label:before {
		margin-top: clamp(.1875rem, .1243088468rem + .3159557662vw, .4375rem);
	}
	.button,
	.black-button,
	.checkbox__text,
	#fileList,
	#fileListFoto {
		font-size: clamp(.9375rem, .8111176935rem + .6319115324vw, 1.4375rem)!important;
	}
	.button-share img {
		width: clamp(1.1875rem, 1.0295221169rem + .7898894155vw, 1.8125rem);
	}
	.card-title,
	.title-regular,
	.card__title,
	.contact__title {
		font-size: clamp(1rem, .6998420221rem + 1.5007898894vw, 2.1875rem);
	}
	.card-info__text,
	.text-block,
	.footer,
	.main__description,
	.card__text,
	.info-line__text,
	.last__text,
	.filter {
		font-size: calc(clamp(.8125rem, .6545221169rem + .7898894155vw, 1.4375rem) * 1.2);
	}
	.header {
		height: clamp(3.4375rem, 2.4106437599rem + 5.1342812006vw, 7.5rem);
	}
	.footer__container {
		padding-top: clamp(2.5rem, 1.5521327014rem + 4.7393364929vw, 6.25rem);
		padding-bottom: clamp(2.5rem, .7622432859rem + 8.6887835703vw, 9.375rem);
	}
	.main {
		padding-bottom: clamp(1.5rem, .9312796209rem + 2.8436018957vw, 3.75rem);
	}
	.main__title {
		font-size: clamp(1.4375rem, .4106437599rem + 5.1342812006vw, 5.5rem);
		padding-top: clamp(1.875rem, 1.2430884676rem + 3.1595576619vw, 4.375rem);
	}
	.card__text {
		padding-bottom: clamp(.8125rem, .6387243286rem + .868878357vw, 1.5rem);
	}
	.pagging__item,
	.input-label,
	.input-wrapper label,
	.file-label {
		font-size: clamp(1rem, .8894154818rem + .5529225908vw, 1.4375rem)!important;
	}
	.last {
		padding-top: clamp(1.25rem, -.0138230648rem + 6.3191153239vw, 6.25rem);
		padding-bottom: clamp(3.125rem, 2.6510663507rem + 2.3696682464vw, 5rem);
	}
	.last__title {
		font-size: clamp(1.3125rem, .5384083728rem + 3.8704581359vw, 4.375rem);
		padding-top: clamp(1.875rem, 1.4800552923rem + 1.9747235387vw, 3.4375rem);
	}
	.last__description {
		font-size: clamp(1rem, .7788309637rem + 1.1058451817vw, 1.875rem);
		padding-bottom: clamp(.375rem, .0590442338rem + 1.579778831vw, 1.625rem);
	}
	.filter__title .title-text::after {
		top: clamp(.0000000625rem, -.0947866516rem + .4739335703vw, .375rem);
	}
}

@media (min-width: 1586px) {
	.button,
	.black-button,
	.card-info__text,
	.text-block,
	.footer,
	.main__description,
	.card__text,
	.info-line__text,
	.pagging__item,
	.last__text,
	.filter,
	.input-label,
	.input-wrapper label,
	.file-label,
	.checkbox__text,
	#fileList,
	#fileListFoto,
	.checkbox__label a .bi {
		font-size: 1.4375rem
	}
	.last__description,
	.contact__title {
		font-size: 22px
	}
	.card-title,
	.title-regular,
	.card__title {
		font-size: 2.1875rem;
	}
	.last__title {
		font-size: 4.375rem;
		padding-top: 3.4375rem;
	}
	.main__title {
		font-size: 5.5rem;
		padding-top: 4.375rem;
	}
	.header__logo {
		height: 3.5rem;
		width: auto;
	}
	.header {
		height: 7.5rem;
	}
	.checkbox__label:before {
		margin-top: .4375rem;
	}
	.card__text {
		padding-bottom: 1.5rem;
	}
	.last__description {
		padding-bottom: 1.625rem;
	}
	.main,
	.footer__container {
		padding-bottom: 3.75rem;
	}
	.last {
		padding-bottom: 5rem;
		padding-top: 6.25rem;
	}
	.footer__container {
		padding-top: 6.25rem;
	}
	.filter__title .title-text::after {
		top: .375rem;
	}
	.button-share img {
		width: 1.8125rem;
	}
}

@media (max-width: 1585px) {
	.header__logo {
		height: 75px;
		width: auto;
	}
}

@media (max-width: 900px) {
	.header__logo {
		height: 70px;
		width: auto;
	}
	.tmpl404 .main__description {
		padding-bottom: 25px;
	}
}

@media (max-width: 768px) {
	.button,
	.black-button {
		padding: 7px 20px 6px;
	}
	.footer__container {
		gap: 40px
	}
	.footer__row {
		flex-wrap: wrap;
		gap: 40px
	}
	.footer__row--top {
		justify-content: center
	}
	.footer__col--address {
		order: 1;
		flex: 0 1 calc(48% - 40px)
	}
	.footer__col--nav {
		order: 3;
		flex: 1 1 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row
	}
	.footer__col--nav > div {
		flex: 0 1 25%;
		display: flex;
		justify-content: center;
		align-items: center
	}
	.footer__col--social {
		order: 2;
		flex: 0 1 calc(48% - 40px)
	}
	.filters__row,
	.icon-filters-mobile {
		display: block
	}
	.filters__col--1 {
		display: flex;
		gap: 12px;
		padding: 17px 20px;
		margin: 0 -15px 20px;
		flex-wrap: wrap
	}
	.filters__col--1 .jobSearch {
		flex: 1 1 100%;
		max-width: none;
		margin: 0
	}
	.filters__col--1 .jobSearch__input {
		background: #fff;
	}
	.card {
		padding: 20px
	}
	.filter {
		padding: 0;
		display: flex;
		justify-content: center;
		align-items: center
	}
	.filter__title {
		padding: 7px 14px;
		border-radius: 999px
	}
	.filter__title .title-text {
		padding: 0 20px 0 0
	}
	.filter__options {
		top: calc(100% - 3px);
		width: 200px
	}
	.row-inputs {
		flex-wrap: wrap;
		gap: 0
	}
	.input-wrapper {
		flex: 1 1 100%
	}


	.card-title {
		font-size: 24px;
		line-height: 24px;
		padding-bottom: 10px!important;
	}
	.title-regular {
		font-size: 20px!important;
		padding-top: 20px!important;
		padding-bottom: 10px!important;
	}
	.formularHeadline{
		font-size: 24px!important;
	}

	.job-list .jobEntry .card__title {
		font-size: 21px!important;
		line-height: 24px;
		padding-bottom: 10px;
	}

	.footer .footer__container {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.main-image,
	.main-image img,
	.section-1__container,
	.section-1__container img {
		padding-top: 10px;
	}
	.header__logo img {
		padding-top: 15px;
	}

	.langMenuButton{
		padding-top: 41px;
	}
}

@media (max-width: 576px) {
	.social-links {
		gap: 30px
	}

	.header__logo {
		height: 55px;
		width: auto;
	}
}

@media (max-width: 480px) {
	.footer__container,
	.footer__row {
		gap: 30px;
	}
	.footer__row--top a img {
		flex: 0;
		width: 125px;
	}
	.footer__col--address {
		margin-top: -12px;
	}
	.footer__col--address,
	.footer__col--social {
		flex: 0 1 calc(45% - 40px);
	}
	.social-links {
		gap: 0;
	}
	.footer__col > div {
		height: auto;
		min-height: 25px;
	}
	.footer__col--nav > div {
		flex: 0 1 33.333%;
	}
	.footer__row:last-child .footer__col {
		flex: 0 1 100%;
	}

	.info-line {
		gap: 14px;
	}
	.section-1__image {
		padding-bottom: 30px;
	}
	.section-1__row {
		gap: 20px;
	}

	.header .langMenu .langMenuButton {
		font-size: 16px;
	}
	.header .langMenu .langMenuButton::after {
		margin-bottom: 2px;
	}
}


@media (max-width: 320px) {
	.card-info__text,
	.text-block,
	.footer,
	.main__description,
	.card__text,
	.info-line__text,
	.last__text,
	.filter {
		font-size: .8125rem
	}
	.button,
	.black-button,
	.checkbox__text,
	#fileList,
	#fileListFoto {
		font-size: .9375rem
	}
	.card-title,
	.title-regular,
	.card__title,
	.pagging__item,
	.last__description,
	.contact__title,
	.input-label,
	.input-wrapper label,
	.file-label {
		font-size: 1rem
	}
	.last__title {
		font-size: 1.3125rem;
		padding-top: 1.875rem;
	}
	.main__title {
		font-size: 1.4375rem;
		padding-top: 1.875rem;
	}
	.header {
		height: 3.4375rem;
	}
	.header__logo {
		height: 70px;
		width: auto;
	}
	.checkbox__label:before {
		margin-top: .1875rem;
	}
	.last__description {
		padding-bottom: .375rem;
	}
	.card__text {
		padding-bottom: .8125rem;
	}
	.main {
		padding-bottom: 1.5rem;
	}
	.footer__container {
		padding-bottom: 2.5rem;
		padding-top: 2.5rem;
	}
	.last {
		padding-bottom: 3.125rem;
		padding-top: 1.25rem;
	}
	.filter__title .title-text::after {
		top: .0000000625rem
	}
	.button-share img {
		width: 1.1875rem
	}
}

@media (any-hover:hover) {
	.footer__col > div a:hover,
	.social-links__col a:hover {
		text-decoration: underline;
	}
	.card:hover {
		border-radius: 10px;
	}
	.pagging__arrow img:hover {
		transform: scale(1.3);
	}
	.pagging__item:hover {
		font-weight: 600;
	}
	._active:hover {
		font-weight: 400;
	}
	.filter__title .title-text:hover {
		cursor: pointer;
	}
}
