﻿.job-caption-list {
	display: flex;
	flex-wrap: wrap;
	gap: 23px; /* replaces margin! */
	margin: 20px 0px;
	justify-content: center;
}

.job-caption {
	width: 280px;
	height: 450px;
	perspective: 1000px; /* enables 3D flip */
	position: relative;
	display: inline-block;
	vertical-align: top;
}

/* INNER WRAPPER */
.job-caption-inner {
	width: 100%;
	height: 100%;
	position: relative;
	transition: transform .6s;
	transform-style: preserve-3d;
}

/* When flipped */
.job-caption.flip .job-caption-inner {
	transform: rotateY(180deg);
}

/* FRONT & BACK PANELS */
.job-caption-front,
.job-caption-back {
	backface-visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding: 15px;
	box-sizing: border-box;
	border: 1px solid #ccc;
	border-radius: 8px;
	background: #fff;
	box-shadow: 1px 1px 9px #ddd;
	line-height: 1.3em;
}

.job-caption-contact {
	position: absolute;
	bottom: 10px;
	left: 15px;
}

.job-caption-pic {
	width: 280px;
	height: 280px;
	overflow: hidden;
	margin-left: -15px;
	margin-top: -15px;
	border-top-left-radius: 8px;
	border-top-right-radius: 8px;
}

	.job-caption-pic img {
		width: 100%;
		height: 100%;
	}

/* BACK SIDE */
.job-caption-back {
	transform: rotateY(180deg);
	background: #f7f7f7;
}

/* Flip icon */
.job-caption-flip {
	text-align: right;
	position: absolute;
	z-index: 10;
	bottom: 5px;
	right: 10px;
	width: 36px;
	transition: 0.25s;
	filter: grayscale(1);
	opacity: 0.5;
}

	.job-caption-flip:hover {
		filter: grayscale(0);
		opacity: 1;
		cursor: pointer;
	}

	.job-caption-flip img {
		width: 100%;
	}

/* Simple example styling */
.job-caption-name, .job-caption-desc h3 {
	font-size: 1.1em;
	font-weight: 600;
	margin-top: 10px;
	margin-bottom: 3px;
	color: #155CAC;
}

	.job-caption-desc h3 { 
		margin-top:0px;
		margin-bottom:10px;
		font-size:1.2em;
	}

	.job-caption-contract {
		font-size: 1.0em;
		margin-bottom: 2px;
	}

.job-caption-salary {
	font-size: 1.0em;
	color: #000;
	margin-bottom: 4px;
	line-height: 1.4em;
	overflow: hidden;
}

.job-caption-link { 
	text-align:left;
	width:100%;
	margin-top:10px;
}

.job-caption a:link, .job-caption a:active, .job-caption a:visited {
	color: #155CAC;
	font-size:1.0em;
	text-decoration:none;
	transition:0.25s;
}

.job-caption a:link:hover, .job-caption a:active:hover, .job-caption a:visited:hover {
	color: #222;
}

.job-caption-line {
	font-size: 1.0em;
	margin-bottom: 3px;
	font-weight: 300;
}

.job-caption-details {
	font-size: 1.0em;
	line-height: 1.4;
	height: 100%;
	overflow-y: auto;
	margin-left: -15px;
	margin-top: -15px;
	padding: 15px;
	width: 100%;
}

.job-caption-desc { 
	font-size:0.9em;
	margin-bottom:10px;
}

.job-captions .box {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.job-captions .clear {
	clear: both;
	height: 10px;
}

.job-captions .input:focus {
	outline: none;
}
