/* Filter */
.tx-googlejobs .googlejobs .jobFilter {
	margin-top: 30px;
}

.tx-googlejobs .googlejobs .jobFilter a {
	color: var(--contrastColor);
	font-size: 15px;
	padding: 10px;
}

.tx-googlejobs .googlejobs .jobFilter a:hover,
.tx-googlejobs .googlejobs .jobFilter a.active {
	background: var(--mainColor);
	color: #fff;
}

.tx-googlejobs .googlejobs .jobFilter .locationFilter {
	display: inline-block;
	position: relative;
	padding-right: 10px;
	margin: 0 5px;
}

.tx-googlejobs .googlejobs .jobFilter select {
	height: auto;
}


/* List */
.tx-googlejobs .googlejobs .jobs {
	margin-top: 40px;
	display: flex;
	gap: 40px;
	flex-wrap: wrap;
}

.tx-googlejobs .googlejobs .job {
	width: calc(50% - 20px);
	background: var(--backgroundColor);
	color: var(--fontColor);
	box-shadow: 0 10px 30px 0 rgba(0, 0, 0, 0.15);
	padding: 35px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	border-radius: 8px;
}

.tx-googlejobs .jobs_rows .job {
	width: 100%;
}

.tx-googlejobs .googlejobs .job .jobTitle a {
	color: var(--mainColor);
}

.tx-googlejobs .googlejobs .job .jobTeaser {
	margin-top: 15px;
}

.tx-googlejobs .googlejobs .job .jobButtons {
	display: flex;
	gap: 20px;
	align-items: center;
	flex-wrap: wrap;
	margin-top: 25px;
}

.tx-googlejobs .googlejobs .job .jobButtons .button {
	background: var(--mainColor);
	color: var(--contrastColorInverted);
	border-color: var(--mainColor);
	margin: 0;
}

.tx-googlejobs .googlejobs .job .jobButtons .button:hover {
	background: var(--secondColor);
	color: var(--contrastColorInverted);
	border-color: var(--secondColor);
}

.tx-googlejobs .googlejobs .job .jobButtons .button-inquiry {
	display: inline-flex;
	align-items: center;
}

.tx-googlejobs .googlejobs .job .jobButtons .button-inquiry::before {
	content: '';
	display: inline-flex;
	align-items: center;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	background: url('../Images/pen.svg') no-repeat center / 100% auto;
}

.tx-googlejobs .googlejobs .jobShowAll {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 40px 0;
}

/*SHOW*/
.tx-googlejobs .jobRightBox {
	display: flex;
	display: -webkit-flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 60px;
	margin-top: 30px;
}

.tx-googlejobs .jobRightBox .jobLeft {
	width: calc(66.666% - 30px);
}

.tx-googlejobs .jobRightBox .jobsDescription {
	margin-bottom: 20px;
}

.tx-googlejobs .jobRightBox .jobRight {
	position: sticky;
	top: 130px;
	width: calc(33.333% - 30px);
	padding: 30px;
	background: var(--contrastColorInverted);
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}

.tx-googlejobs .jobRightBox .jobRight .jobLogo {
	margin-bottom: 10px;
}

.tx-googlejobs .jobRightBox .jobRight .jobLogo a[href*="//"]:before {
	display: none;
}

.tx-googlejobs .jobRightBox .jobRight .jobLocation {
	margin-top: 10px;
}

.tx-googlejobs .jobFacts {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}

.tx-googlejobs .jobFact {
	display: inline-flex;
	align-items: center;
	margin: 5px 10px;
	white-space: nowrap;
}

.tx-googlejobs .jobFact picture {
	display: inline-flex;
}

.tx-googlejobs .jobFact img {
	width: 20px;
	height: 20px;
}

.tx-googlejobs .jobFact span {
	margin-left: 10px;
}

.tx-googlejobs .jobRightBox .jobContactPerson .jobContactPerson-text {
	width: 100%;
	margin-top: 20px;
}

.tx-googlejobs .jobFullWidth .jobContactInfo {
	position: sticky;
	top: 120px;
	display: flex;
	margin-top: 40px;
	padding: 30px;
	background: var(--contrastColorInverted);
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.15);
}

.tx-googlejobs .jobFullWidth .jobContactInfo-wrap {
	display: flex;
	max-width: 760px;
	width: 100%;
}

.tx-googlejobs .jobFullWidth .jobContactInfo-left,
.tx-googlejobs .jobFullWidth .jobContactInfo-right {
	width: calc(50% - 20px);
}

.tx-googlejobs .jobFullWidth .jobContactInfo-right {
	margin-left: 40px;
}

.tx-googlejobs .jobFullWidth .jobContactPerson-image {
	margin-right: 30px;
}

.tx-googlejobs .jobFullWidth .jobButtons {
	margin-top: 40px;
}

.tx-googlejobs .jobContactPerson {
	display: flex;
	flex-wrap: wrap;
}

.tx-googlejobs .jobContactPerson .jobContactPerson-fullname {
	font-size: clamp(1.375rem, calc(1.2625rem + 0.4vw), 1.5625rem);
}

.tx-googlejobs .jobs_filter .form-wrap {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -10px;
}

.tx-googlejobs .jobs_filter label.hide-label {
	display: none;
}

.tx-googlejobs .jobs_filter .form-field-wrap {
	width: calc(100% - 20px);
	margin: 5px 10px;
}

.tx-googlejobs .jobs_filter .form-field-wrap.w50 {
	width: calc(50% - 20px - 59px / 2);
}

.tx-googlejobs .jobs_filter .form-field-wrap.w33 {
	width: calc(33.333% - 20px - (59px / 3));
}

.tx-googlejobs .jobs_filter .form-reset {
	margin: 5px 10px;
    text-align: center;
}

.tx-googlejobs .jobs_filter .form-reset label {
	display: flex;
    align-items: center;
	cursor: pointer;
}

.tx-googlejobs .jobs_filter .form-reset .reset-icon {
	display: block;
	width: 39px;
    height: 39px;
	font-size: 22px;
    line-height: 39px;
}

.tx-googlejobs .jobs_filter .form-reset .reset-text,
.tx-googlejobs .jobs_filter .form-reset input[type="reset"] {
	display: none;
}

.jobsEmpty {
	margin-top: 40px;
}

.ajax-load {
	display: none;
	position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.3);
    z-index: 98;
}

.ajax-load .loader {
	position: absolute;
    top: 50%;
    left: 50%;
	border: 12px solid var(--backgroundColor);
	border-top: 12px solid var(--mainColor);
	border-radius: 50%;
	width: 90px;
    height: 90px;
	animation: spin 2s linear infinite;
	transform: translate(-50%, -50%);
}

@media all and (min-width: 961px) {
	.tx-googlejobs .jobFullWidth .jobContactInfo-right > hr {
		display: none;
	}
}

/*MOBILE*/
@media all and (max-width: 960px) {

	.tx-googlejobs .googlejobs .job,
	.tx-googlejobs .jobRightBox .jobCol {
		width: 100%;
	}

	.tx-googlejobs .jobRightBox .jobContactInfo {
		display: flex;
	}

	.tx-googlejobs .jobRightBox .jobContactPerson-image {
		margin-right: 30px;
	}

	.tx-googlejobs .jobShow .jobContactInfo-left,
	.tx-googlejobs .jobShow .jobContactInfo-right {
		width: 100%;
	}

	.tx-googlejobs .jobShow .jobContactInfo-right {
		margin-left: 0;
	}

	.tx-googlejobs .jobShow .jobHiringorganization {
		max-width: 300px;
	}

	.tx-googlejobs .jobShow .jobContactInfo-wrap,
	.tx-googlejobs .jobShow .jobContactPerson-image {
		width: calc(50% - 20px);
	}

	.tx-googlejobs .jobShow .jobContactInfo-wrap {
		flex-wrap: wrap;
	}
}

@media all and (max-width: 768px) {
	.tx-googlejobs .jobShow .jobContactInfo {
		flex-wrap: wrap;
	}

	.tx-googlejobs .jobShow .jobContactPerson-image {
		margin-right: 0;
	}

	.tx-googlejobs .jobShow .jobContactInfo-wrap,
	.tx-googlejobs .jobShow .jobContactPerson-image {
		width: 100%;
		text-align: center;
	}

	.tx-googlejobs .jobShow .jobContactInfo-wrap {
		margin-top: 30px;
	}

	.tx-googlejobs .jobShow .jobContactPerson {
		justify-content: center;
	}

	.tx-googlejobs .jobShow .jobHiringorganization {
		margin: 0 auto;
	}

	.tx-googlejobs .jobs_filter .form-field-wrap.w33 {
		width: calc(50% - 20px);
	}

	.tx-googlejobs .jobs_filter .form-reset .reset-text {
		display: initial;
	}
}

@media all and (max-width: 550px) {
	.tx-googlejobs .googlejobs .job {
		padding: 15px;
	}

	.tx-googlejobs .jobs_filter .form-field-wrap.w50,
	.tx-googlejobs .jobs_filter .form-field-wrap.w33 {
		width: calc(100% - 20px);
	}
}
