@import "../mixins/mixins";
@import "../mixins/icons";
@import "../mixins/colours";

.display-icon {
	display: inline-block;
	width: 16px;
	height: 16px;
	-webkit-font-smoothing: antialiased;
	font-size: 16px;
	font-family: "listings" !important;
	text-decoration: none;
	font-weight: normal;
	font-style: normal;
	vertical-align: top;
	font-size: 16px;
	margin: 0 2px 0 0;

	*overflow: auto;
	*zoom: 1;
	*display: inline;
}

.listings-form {
	fieldset {
		margin: 0 0 1em 0;
		padding: 0 0 1em 0;
		line-height: 2em;
		border: 0;
		border-bottom: 1px solid #eee;
		.clearfix;
		label {
			display: block;
			margin: 0;
			width: 29%;
			float: left;
			vertical-align: middle;
			small {
				opacity: .75;
				font-size: 0.83em;
			}
		}
		div.field {
			width: 70%;
			float: right;
			vertical-align: middle;
		}
		.wp-editor-container {
			border: 1px solid #ccc;
			-webkit-border-radius: 3px;
			-moz-border-radius: 3px;
			border-radius: 3px;
		}
		.account-sign-in {
			.button {
				margin-right: .5em;
				&:before {
					.display-icon;
					content: '\e808';
				}
			}
		}
		abbr.required {
			color: red;
			font-weight: bold;
			border: 0;
		}
		input.input-text, textarea, select {
			margin: 0;
			vertical-align: middle;
			width: 100%;
			-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
			-moz-box-sizing: border-box;    /* Firefox, other Gecko */
			box-sizing: border-box;         /* Opera/IE 8+ */
		}
		small.description {
			opacity: .75;
			font-size: 0.83em;
			margin: 1.2em 0 0 0;
			display: block;
			line-height: 1.2em;
		}

	}
	.submit-job {
		padding: 1em 0;
	}
}
div.job_listings {
	margin-bottom: 1em;
	ul.job_listings {
		margin: 0;
	}
}
.rp4wp-related-job_listing > ul,
ul.job_listings {
	padding: 0;
	margin: 0;
	border-top: 1px solid #eee;

	&.loading {
		min-height: 96px;
		border-bottom: 1px solid #eee;
		background: url(../images/ajax-loader.gif) no-repeat center 32px;
	}
	li.job_listing, li.no_job_listings_found {
		list-style: none outside;
		padding: 0;
		margin: 0;
		border-bottom: 1px solid #eee;

		&.job_position_filled {
			a {
				opacity: 0.25;
			}
		}
		&.no_job_listings_found {
			padding: 1em;
			border-bottom: 1px solid #eee;
		}
		a {
			display: block;
			padding: 1em 1em 1em 2em;
			border: 0;
			overflow: hidden;
			zoom: 1;
			position: relative;
			line-height: 1.5em;
			text-decoration: none;

			&:hover, &:focus {
				background-color: #fcfcfc;
			}
			img.company_logo {
				width: 42px;
				height: 42px;
				position: absolute;
				left: 1em;
				float: left;
				margin-right: 1em;
				vertical-align: middle;
				box-shadow: none;
			}
			div.position, div.location, ul.meta {
				-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
				-moz-box-sizing: border-box;    /* Firefox, other Gecko */
				box-sizing: border-box;         /* Opera/IE 8+ */
			}
			div.position {
				float: left;
				width: 55%;
				padding: 0 0 0 42px;
				line-height: 1.5em;
				h3 {
					margin: 0;
					padding: 0;
					line-height: inherit;
					font-size: inherit;
				}
				.company {
					color: #999;
					.tagline {
						margin-left: .5em;
					}
				}
			}
			div.location {
				float: left;
				text-align: left;
				width: 25%;
				padding: 0 0 0 1em;
				color: #999;
				line-height: 1.5em;
			}
			.meta {
				float: right;
				text-align: right;
				width: 20%;
				padding: 0 0 0 1em;
				margin: 0;
				line-height: 1.5em;
				color: #999;
				list-style: none outside;
				li {
					list-style: none outside;
					display: block;
					margin: 0;
				}
				.job-type {
					font-weight: bold;
				}
			}
		}
		&.job_position_featured {
			a {
				background: #fefee5;

				&:hover, &:focus {
					background-color: #fefed8;
				}
			}
		}
	}
}
.widget {
	ul.job_listings {
		li.job_listing {
			a {
				padding: 1em 0;
			}
			.position {
				float: none;
				width: auto;
				padding: 0;
			}
			ul.meta {
				float: none;
				width: auto;
				padding: 0;
				margin: 0;
				text-align: left;
				li {
					float: none;
					display: inline;
					padding: 0;
					margin: 0 .5em 0 0;
					font-weight: normal;

					&:after {
						padding: 0 0 0 .5em;
						content: "\2023";
					}
					&:last-child:after {
						content: '';
					}
				}
			}
		}
	}
}
.listings_jobs, .job_listing, .job-types {
	.job-type {
		color: @part-time;
	}
	.full-time {
		color: @full-time;
	}
	.part-time {
		color: @part-time;
	}
	.temporary {
		color: @temporary;
	}
	.freelance {
		color: @freelance;
	}
	.internship {
		color: @internship;
	}
}
.single_job_listing {
	.company {
		position: relative;
		border: 1px solid #eee;
		padding: 1em;
		margin: 0 0 2em;
		display: block;
		clear: both;
		min-height: 3em;
		box-shadow: 0 1px 1px rgba(0,0,0,0.1);

		img {
			width: 3em;
			height: 3em;
			position: absolute;
			left: 1em;
			float: left;
			vertical-align: middle;
			box-shadow: none;
		}
		.name {
			margin: 0 0 0 3em;
			padding: 0 0 0 1em;
			line-height: 1.5em;
			a {
				float: right;
				margin-left: 1em;
			}
		}
		.tagline {
			display: block;
			margin: 0 0 0 42px;
			padding: 0 0 0 1em;
			line-height: 1.5em;
			font-style: italic;
			color: #999;
		}
		.website:before {
			.display-icon;
			content: '\e809';
		}
		.company_twitter:before {
			.display-icon;
			content: '\e80a';
		}
		.company_video {
			border-top: 1px solid #eee;
			padding: 1em 0 0;
			margin: 1em 0 0 0;
    		position: relative;
    		padding-bottom: 56.25%;
    		padding-top: 30px;
    		height: 0;
    		overflow: hidden;
			iframe,
			object,
			embed {
			    position: absolute;
			    top: 0;
			    left: 0;
			    width: 100%;
			    height: 100%;
			    margin: 0;
				display: block;
			}
		}
	}
	.meta {
		list-style: none outside;
		padding: 0;
		margin: 0 0 1.5em;
		overflow: hidden;
		zoom: 1;
		clear: both;
		li {
			margin: 0 1em 0 0;
			padding: .5em;
			float: left;
			line-height: 1em;
			color: #999;
		}
		.job-type {
			color: #fff;
			background-color: @part-time;
		}
		.full-time {
			background-color: @full-time;
		}
		.part-time {
			background-color: @part-time;
		}
		.temporary {
			background-color: @temporary;
		}
		.freelance {
			background-color: @freelance;
		}
		.internship {
			background-color: @internship;
		}
		.position-filled, .listing-expired {
			color: #b81c23;
		}
		.location:before {
			.display-icon;
			content: '\e81d';
		}
		.date-posted:before {
			.display-icon;
			content: '\e80f';
		}
		.position-filled:before, .listing-expired:before {
			.display-icon;
			content: '\e80e';
		}
	}
	.job_description {
		margin: 0 0 1.5em;
	}
}
.listings-jobs-application-wrapper {
	clear: both;
	border: 1px solid #eee;
	padding: .75em 1em 0;
	margin: 1em 0;
	line-height: 1.5em;
	display: block;
	position: relative;
	box-shadow: 0 1px 1px rgba(0,0,0,0.1);
}
.single_job_listing, .listings-jobs-application-wrapper {
	.application {
		padding: 0;
		margin: 0 0 1em;
		overflow: hidden;

		.application_button, .application_details {
			-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
			-moz-box-sizing: border-box;    /* Firefox, other Gecko */
			box-sizing: border-box;         /* Opera/IE 8+ */
		}
		.application_button {
			text-align: center;
			font-size: 1.1em;
			line-height: 1em;
			display: inline-block;
			margin: 0 .5em 0 0;
			padding: 1/1.1em 2em;
			outline: 0;
		}
		.application_details {
			clear: both;
			border: 1px solid #eee;
			padding: .75em 1em 0;
			margin: 1em 0;
			line-height: 1.5em;
			display: block;
			position: relative;
			box-shadow: 0 1px 1px rgba(0,0,0,0.1);

			p {
				margin: 0 0 .75em;
			}

			&:before {
				content: "";
				position: absolute;
				margin: -10px 0 0 0;
				top: 0;
				left: 5em;
				width: 0;
				height: 0;
				border-left: 10px solid transparent;
				border-right: 10px solid transparent;
				border-bottom:10px solid #eee;
			}
			&:after {
				content: "";
				position: absolute;
				margin: -9px 0 0 1px;
				left: 5em;
				top: 0;
				width: 0;
				height: 0;
				border-left: 9px solid transparent;
				border-right: 9px solid transparent;
				border-bottom: 9px solid #fff;
			}
		}
	}
}
.job_filters {
	background: #eee;
	.clearfix;

	.search_jobs {
		padding: 1em;
		.clearfix;
		div {
			-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
			-moz-box-sizing: border-box;    /* Firefox, other Gecko */
			box-sizing: border-box;         /* Opera/IE 8+ */

			label {
				display: none;
			}
			&.search_keywords, &.filter_first {
				float: left;
				padding-right: .5em;
				width: 50%;
			}
			&.search_location, &.filter_last {
				float: right;
				padding-left: .5em;
				width: 50%;
			}
			&.search_categories, &.filter_wide {
				padding-top: .5em;
				clear: both;
				width: 100%;
			}
			.showing_jobs {
				a {
					padding: .25em;
				}
				a.active {
					background: #ddd;
					text-decoration: none;
				}
			}
		}
		input, select {
			-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
			-moz-box-sizing: border-box;    /* Firefox, other Gecko */
			box-sizing: border-box;         /* Opera/IE 8+ */
			width: 100%;
		}
	}
	.job_types {
		list-style: none outside;
		margin: 0;
		padding: 0;
		font-size: 0.83em;
		background: #f9f9f9;
		border-top: 1px solid #e5e5e5;
		.clearfix;
		li {
			margin: 0;
			padding: .5em 1em;
			float: left;
			border-right: 1px solid #eee;

			&:last-child {
				border-right: 0;
			}
		}
	}

	.showing_jobs {
		padding: .5em 1em;
		display: none;
		font-size: 0.83em;
		background: #f9f9f9;
		border-top: 1px solid #e5e5e5;

		a {
			float: right;
			padding-left: 10px;
			border: 0;
		}
	}
}
div.job_listings {
	.listings-pagination {
		text-align: center;
		display: block;
		padding: 1em 0 1em 0;
		border-bottom: 1px solid #eee;
		line-height: 1;
	}
	.load_previous {
		border-top: 1px solid #eee;
	}
	.load_more_jobs + ul.job_listings {
		border-top: 0;
	}
	.load_more_jobs {
		text-align: center;
		display: block;
		padding: 1em 1em 1em 2em;
		border-bottom: 1px solid #eee;
		font-weight: bold;
		&.loading {
			background: url(../images/ajax-loader.gif) no-repeat center;
			strong {
				visibility: hidden;
			}
		}
		&:hover, &:focus {
			background-color: #fcfcfc;
			border-bottom: 1px solid #eee;
		}
	}
}
.listings_jobs_job_listing_preview {
	padding: 0 1em 1em;
	border: 5px solid #eee;
}
.single-job_listing .entry-header .attachment-post-thumbnail,
.single-job_listing .job_listing.has-post-thumbnail .post-thumbnail {
	display: none;
}
.job_listing_preview_title, .entry-content .job_listing_preview_title {
	padding: .5em 1em;
	vertical-align: middle;
	position: relative;
	background: #eee;
	h2 {
		margin: 0;
		clear: none;
	}
	.button {
		float: right;
		margin-left: .25em;
	}
}
.job_summary_shortcode {
	border: 1px solid #ccc;
	-moz-border-radius: 4px;
	-webkit-border-radius: 4px;
	border-radius: 4px;
	text-align: center;
	position: relative;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1),inset 0 1px 0 rgba(255,255,255,0.4);
	-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
	-moz-box-sizing: border-box;    /* Firefox, other Gecko */
	box-sizing: border-box;         /* Opera/IE 8+ */

	&.aligncenter {
		display: block;
		margin: 2em auto 2em;
	}

	&.alignleft {
		float: left;
		margin: 0 2em 2em 0;
	}

	&.alignright {
		float: right;
		margin: 0 0 2em 2em;
	}

	a {
		text-decoration: none;
		color: inherit;
	}

	img {
		margin: 0;
		padding: 0;
		display: block;
		width: 100%;
		-moz-border-radius: 0;
		-webkit-border-radius: 0;
		-moz-border-top-left-radius: 3px;
		-moz-border-top-right-radius: 3px;
		-webkit-border-top-left-radius: 3px;
		-webkit-border-top-right-radius: 3px;
		border-radius: 0;
		border-top-left-radius: 3px;
		border-top-right-radius: 3px;
		box-shadow: inset 0 1px 0 rgba(255,255,255,0.4);
	}

	.job_summary_content {
		padding: 0 1em;
	}

	.meta {
		font-style: italic;
		color: #777;
	}

	.job-type {
		-moz-border-radius: 1em;
		-webkit-border-radius: 1em;
		border-radius: 1em;
		color: #fff;
		text-shadow: 0 1px 0 rgba(255,255,255,0.5);
		box-shadow: 0 2px 4px rgba(0,0,0,0.1), inset 0 1px 0 rgba(255,255,255,0.4);
		position: absolute;
		top: 0;
		right: 0;
		padding: .5em;
		height: 1em;
		width: auto;
		min-width: 1em;
		font-size: 1em;
		text-align: center;
		vertical-align: middle;
		line-height: 1em;
		margin: -.5em -.5em 0 0;

		&.full-time {
			background-color: @full-time;
		}
		&.part-time {
			background-color: @part-time;
		}
		&.temporary {
			background-color: @temporary;
		}
		&.freelance {
			background-color: @freelance;
		}
		&.internship {
			background-color: @internship;
		}
	}
}

#listings-jobs-job-dashboard {
	.account-sign-in {
		.button {
			margin-right: .5em;
			&:before {
				.display-icon;
				content: '\e808';
			}
		}
	}
	table {
		ul.job-dashboard-actions {
			margin: 0;
			padding:0;
			visibility: hidden;
			font-size: 0.92em;
			li {
				float: none;
				display: inline;
				padding: 0;
				margin: 0 .5em 0 0;
				font-weight: normal;
				list-style: none outside;

				&:after {
					padding: 0 0 0 .5em;
					content: "\2023";
				}
				&:last-child:after {
					content: '';
				}
				.job-dashboard-action-delete {
					color: red;
				}
			}
		}
		tr:hover, tr:focus {
			ul.job-dashboard-actions {
				visibility: visible;
			}
		}
		td, th {
			padding: .5em 1em .5em 0;
		}
		.job_title small {
			color: #999;
		}
		.filled, .expires, .applications {
			text-align: center;
		}
	}
}

nav.listings-jobs-pagination, #content nav.listings-jobs-pagination {
	text-align: center;
	ul {
		display: inline-block;
		white-space: nowrap;
		padding:0;
		clear: both;
		border-left: 1px solid #eee;
		margin: 1px;
		li {
			border-right: 1px solid #eee;
			border-top: 1px solid #eee;
			border-bottom: 1px solid #eee;
			padding: 0;
			margin: 0;
			float: left;
			display: inline;
			overflow: hidden;
			a, span {
				margin: 0;
				text-decoration: none;
				padding: 0;
				line-height: 1em;
				font-size: 1em;
				font-weight: normal;
				padding: .5em;
				min-width: 1em;
				display: block;
				border: 0;
			}
			span.current, a:hover, a:focus {
				background: #eee;
				color: darken( #eee, 40 );
			}
		}
	}
}

/**
 * Mobile styles
 */
@media only screen and (max-width: 767px) {
	ul.job_listings {
		li.job_listing, li.no_job_listings_found {
			a {
				padding: 1em;
				img.company_logo {
					visibility: hidden;
				}
				div.position {
					float: left;
					width: 60%;
					padding: 0;
				}
				div.location {
					float: right;
					width: 40%;
					line-height: 2em;
					font-size: .75em;
					padding: 0 0 0 1em;
					text-align: right;
				}
				.meta {
					float: right;
					width: 40%;
					line-height: 2em;
					font-size: .75em;
					li {
						font-size: 1em;
					}
				}
			}
		}
	}
}

// Chosen fixes
.chosen-container {
	width: 100% !important;
}

// Default theme fixes
.twenty-eleven {
	ul.job_listings {
		li.job_listing, li.no_job_listings_found {
			padding: 0 !important;
		}
	}
}
.twenty-ten {
	.job_types, .chosen-choices {
		margin: 0 !important;
	}
}

.rtl {
	.listings-form {
		label {
			float: right;
		}
		div.field {
			float: left;
		}
	}
	.listings_jobs_preview_title, .entry-content .listings_jobs_preview_title {
		.button {
			float: left;
		}
	}
	.single_job_listing {
		.meta {
			li {
				float: right;
				margin: 0 0 0 1em;
			}
		}
	}
}
