:root {
	--primary: #081040;
	--talent:#2c7bbf;
	--job:#f28b50;
	--gray:#e1e1e1;
	--cta:#d24042;
	--minheroheight:20rem; /* ensure readability of hero items without scaling text */
}
html {
	font-size:16px;
	box-sizing: border-box;
	scroll-behavior: smooth;
}
*, *:before, *:after {
	box-sizing: inherit;
}
body {
	font-family: 'Libre Franklin', sans-serif;
	padding:0;
	margin:0;
	position:relative;
}
main .readable {
	padding:4rem 1rem;
	max-width:80ch;
	margin:0 auto;
	
}
button.btn {
	padding:1em 2em;
	border:none;
}
button.btn:hover {
	cursor:pointer;
}
.has_sidebar {
	display:flex;
	justify-content: center;
}
.sidebar {
	padding:6rem 1rem;
	max-width: 100%;
}
.has_sidebar .readable {
	margin:0;
}
.profilework i {
	display:block;
	font-size:0.8rem;
	transform:translateY(-0.3rem);
}

.sidebar label, .blueBanner {
	font-weight:bold;
}

#pagenotfound {
	padding-top:3rem;
	padding-bottom:3rem;
	max-width:1000px;

}
.narrow.readable {
	max-width:40ch;
}
.readable_contain {
	max-width:1500px;
	margin:0 auto;
	padding-left: 2rem;
    padding-right: 2rem;
}
.contain  {
	max-width:1920px;
	margin:0 auto;
	overflow:hidden;
}
p, main ul li, legend {
	color:var(--primary);
	line-height:1.8em;
}
p a, .readable ul a {
	text-decoration:none;
	color:var(--job);
}
p a:hover, .readable ul a:hover {
	color:black;
	text-decoration:underline;
}
p a.cta {
	color:var(--cta);
	text-transform: uppercase;
}
.talent p a, .talent  {
	color:var(--talent);
}

div#upload_options {
    display: flex;
}
div#signupfirstwrap > * {
	width:95% !important;
}
div#upload_options a {
	padding-left:3rem;
	display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}
div#upload_options a {
	background-position-x:1em;
	background-position-y:center;
}


#topnav_wrap {
	display:flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 1rem;
	/* flex-direction:column; */
}
#home_nav > ul {
	display:none;
}

#trigger_login_form {
	font-size:100%;
}

div#signupfirstwrap #pasteresumepopup {
	max-width:60ch;
	top:30%;
	margin-left:auto;
	margin-right:auto;
	left:0;
	right:0;
}

.mobileonly {
	display:block;
}
#mobile_nav_trigger {
	position:absolute;
	top:0.5rem;
	right:1rem;
	font-size:2.7rem;
	font-weight:bold;
}

#topnav_wrap {
	flex-direction:column;
}
#home_nav > ul {
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	margin-bottom: 2em;
}
#home_nav > ul > li {
	margin-right: 0rem;
	padding-left:0.5rem;
	text-align: center;
	padding-right:0.5rem;
}
.has_sidebar {
	display:block;
}
.sidebar {
	padding:0rem 1rem;
}

.loggedin.appliedalready {
	background:var(--job);
	padding:1rem;
	color:white;
	text-align:center;
	float:right;
	margin-left:1rem;
	margin-bottom:1rem;
}
span.applytext {
    margin-bottom: 0rem;
    display: block;
    font-weight: bold;
    text-transform: uppercase;
}
span.applydate {
    font-weight: 200;
    font-size: 75%;
}

@media screen and (min-width: 1024px) {
	.has_sidebar {
		display:flex;
		justify-content: center;
	}
	.sidebar {
		padding:6rem 1rem;
		max-width:30ch;
	}
}
nav p.note {
	display:none;
}
#mainnav {
	margin-top:1rem;
}
li.nav_signin_wrap, li.nav_signup_wrap {
	width:auto;
}
.readable_contain div {
	color:var(--primary);
}

@media screen and (min-width: 1400px) {
	.jobs_home #searchform {
		/*	transform: translateY(14.5rem) !important; */
	}
	/* breakpoint changed from 1135 with new nav items */
	li.nav_signin_wrap {
		width:13rem;
	}
	li.nav_signup_wrap {
		width:10rem;
	}
	#mainnav {
		margin-top:0rem;
	}
	nav p.note {
		display:block;
	}
	.site_section {  
		justify-content: start !important;
	}
	#home_nav > ul > li {
		margin-right: 1rem;
	}
	.mobileonly {
		display:none;
	}
	#topnav_wrap {
		justify-content: space-between;
		height: 8rem;
		padding-bottom: 0rem;
		flex-direction:row;
	}
	#home_nav > ul {
		margin-bottom: 0;
		list-style:none;
		margin:0;
		padding:0;
		display:flex;
	}
}
#home_nav > ul {
	margin-top:0rem;
	max-width:100vw;
}
#home_nav > ul > li > a {
	padding:0.5rem;
	color:var(--primary);
	text-transform: uppercase;
	text-decoration:none;
	font-size:0.7rem;
	font-weight:bold;
	text-align: center;
	display: inline-block;
}
#home_nav > ul > li > a:hover {
	color:var(--cta);
	color:var(--talent);
}

#searchform {
	transform:none;
	top:2em;
}
#topnav_wrap {
	margin-top:3em;
	padding-bottom:0;
}
#topnav_wrap #navlogo {
	margin:0;
	margin-top:1rem;
	width:200px;
}
#topnav_wrap #mainnav {
	margin-top:0;
}
#home_nav > ul {
	margin-bottom:1em;
}

#mobilenav_trigger {
	background:none;
	color:var(--primary);
	border: none;
    position: absolute;
    right: 2rem;
    top: 4.3rem;
    font-size: 2rem;
    font-weight: bold;
}
#close_mobile_nav {
	background:none;
	color:white;
	border: none;
    position: fixed;
    right: 2rem;
	top: 3rem;
    font-size: 2rem;
    font-weight: normal;
}
#mobile_nav_header {
    position: fixed;
    width: 100%;
    text-align: left;
    background: var(--primary);
	z-index: 9;
	padding-top:2rem;
	padding-bottom:2rem;
}
#mobile_find_job {
	margin-top:8rem !important;
	background:var(--job) !important;
}
#profile_mobile_menu {
	margin-top:8rem !important; /* same gap as item above for mobile menu */
}
#mobile_nav_wrap ul {
	list-style:none;
	margin:0;
	padding:0;
}
#mobile_nav_header {
	position:fixed;
	opacity:0.95;
}
#mobile_nav_wrap a {
	display:inline-block;
	color:white;
	text-decoration:none;
	margin-top:1em;
	margin-bottom:1em;
	font-size:1.2rem;
	text-transform: uppercase;
}
#mobile_nav_wrap {
	display:none;
	text-align:center;
	overflow-y:scroll;
	padding-bottom: 8rem !important;
}

#more_links {
	padding-top:1rem;
	margin-top:1rem;
	border-top:2px solid var(--talent);
}

body.hamburger_active #mobile_nav_wrap {
	z-index:99;
	display:block;
	position:fixed;
	top:0;
	left:0;
	width:100vw;
	height:100vh;
	background:var(--primary);
	color:white;
	padding: 2rem;
	padding-top:0;
}
#mobile_nav_wrap img {
	max-width:220px;
}
#mobile_nav_wrap .button.talent {
	background:var(--talent);
}
.site_section {
	display:none;
}

#mainnav {
	display:none;
}
main .readable {
	padding-top:0.5rem;
}
body.talent .inside_hero_intro_copy_cta_wrap {
    position: fixed;
    bottom: 1.8rem;
    left: 1.8rem;
	box-shadow: 0 0 10px rgba(0,0,0,0.3);
	z-index:15;
	min-width:auto;
}

section#topnav {
    position: sticky;
    top: 0;
    z-index: 5;
    background: white;
    margin-bottom: 1rem;
	box-shadow:0 0 5px rgba(0,0,0,0.3);
}
@media screen and (min-width: 600px) {
	#topnav_wrap #navlogo {
		width:auto;
	}
	body.talent .inside_hero_intro_copy_cta_wrap {
		position: static;
		bottom: 0;
		left: 0;
		box-shadow:none;
		z-index:1;
	}
	section#topnav {
		position:static;
		top: 0;
		z-index: 555;
		background: none;
		box-shadow:none;
	}
	#mobilenav_trigger {
		display:none;
	}
	main .readable {
		padding-top:4rem;
	}
	#mainnav {
		display:flex;
	}
	.site_section {
		display:flex;
	}
	.site_section {
		display:flex;
		margin-right: auto; /* force left aligned next to logo */
		justify-content: center;
		width: 100%;
	}
	#mobile_nav_wrap {
		display:none;
	}
	.jobs_home #searchform {
		/* transform: translateY(15vw) !important; */
	}
	.jobs_home.profile #searchform {
		transform:translateY(0) !important;
	}
	#home_nav > ul {
		margin-bottom:2em;
	}
	#topnav_wrap #mainnav {
		margin-top:1rem;
	}
	#searchform {
		transform:none;
		top:auto;
	}
	#navlogo {
		margin:1rem;
	}
	#topnav_wrap {
		padding-bottom:1rem;
		margin-top:0;
	}
	#home_nav > ul > li > a {
		padding:1rem;
		color:var(--primary);
		text-transform: uppercase;
		text-decoration:none;
		font-size:1rem;
		font-weight:bold;
		text-align: center;
		display: inline-block;
	}
	#home_nav > ul > li > a:hover {
		color:var(--cta);
		color:var(--talent);
	}
}

#navlogo {
	margin: 1rem;
    width: 50vw; /* ensure nice size on mobile */
    max-width: 22rem; /* clamp on tablet/desktop */
    object-fit: contain;
    object-position: center;
    display: inline-block;
}
#navlogo:hover {
	opacity:0.7;
}

.site_section a {
	font-size:75%;
	color:var(--primary);
}
.site_section_label {
	text-transform: uppercase;
	font-weight:bold;
	padding-right:1rem;
}
.job .site_section_label {
	color:var(--job);
}
.talent .site_section_label {
	color:var(--talent);
}

#searchtop {
	margin-top:2rem;
}
.sortselected {
	font-weight:bold;
}

#searchform {
	position:absolute;
	width:80ch;
	max-width:80%;
	left:0;
	right:0;
	margin-left:auto;
	margin-right:auto;
	z-index:2;
	transform:translateY(-1.5rem);
	
}
#searchform input {
	/* width:calc(100% - 3rem);
	width:50%; */
	display:inline-block;
	height:3rem;
	padding:0;
	border:0;
	font-style: italic;
	padding-left: 1rem;
	font-size:1.2rem;
	line-height:1.2rem;
	width:100%;
}
#searchform button {
	border:0;
	background:var(--primary);
	color:white;
	display:inline-block;
	width:3rem;
	height:3rem;
	padding:0;
	position:absolute;
	right:0;
	top:0;
	font-size:1.5rem;
}
#searchform button:hover {
	background:var(--cta);
	background:var(--talent);
	cursor:pointer;
}
#search_form_container {
	display: flex;
}
.search-form-group {
	position:relative;
	width:50%;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
	margin:0 1rem;
}

#missinginformation ul {
	list-style:none;
}
#missinginformation ul li, #missinginformation p {
	color:var(--cta);
}
#missinginformation ul li a {
	padding-left:1rem;
}

#finalapp .rightmodule {
	box-shadow:none;
	overflow:visible;
}
#finalapp b {
	margin-right:1rem;
}
form .app_floatleft {
	width: 200px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
form .app_floatleft.wider {
	width: 235px;
}

form#finalapp label {
	display:inline;
	margin-right:1rem;
	margin-left:1rem;
}
form#finalapp label b {
	margin-right:0;
}

.last_form_thing {
	display:flex;
	justify-content: space-between;
	align-content:center;
}

.rightmodule {
	box-shadow:0 0 5px rgba(0,0,0,0.5);
	padding:1rem;
	margin-bottom:1rem;
	float:left;
	width:100%;
}
.rightmodule.similarjobs {
	box-shadow:none;
}
.rightmodule h2 {
	margin-top:0 !important;
	line-height: 1.1;
}
.rightmodule p {
	margin-bottom:0 !important;
}
.rightmodule.action_needed {
	background:var(--cta) !important;
}
.rightmodule.action_needed * {
	color:white !important;
	text-shadow:none !important;
}
.rightmodule.action_needed a {
	color:var(--primary) !important;
	font-weight:bold !important;
	text-decoration:underline;
}
.rightmodule p {
	font-weight:normal !important;
}

#wotccontinue {
	padding:0.5rem;
}

#displaywotc {
	font-size:1rem !important;
}

.acResults {
	padding:0.5rem;
	margin:0;
	background:white;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
.acResults ul {
	list-style:none;
	margin:0;
	padding:0;
}
.acResults ul li {
	padding:0.4rem;
	font-weight:bold;
}
.acResults ul li:hover {
	cursor:pointer;
	text-decoration:underline;
}
.milesfrom {
	font-weight:bold;
}

#homepage_hero {
}
#homepage_hero_wrap {
	height:75vh;
	/* min-height:var(--minheroheight); */
	position:relative;
}
.herohalf {
	position:absolute;
	height:75vh;
	/* min-height:var(--minheroheight); */
	width:100%;
	top:0;
}
.herohalf h3 {
	font-size:220% !important;
}
.herohalf p {
	font-size: 120%;
}
.herohalf.left {
	left:0;
	background:var(--job);
	color:var(--primary);
}
.herohalf.right {
	right:0;
	background:var(--talent);
	clip-path: polygon(60% 0, 100% 0, 100% 100%, 40% 100%);
	-webkit-clip-path:polygon(60% 0, 100% 0, 100% 100%, 40% 100%);
	color:white;
}
.herohalf.border {
	background:white;
	right:5px;
}
.herohalf.right p, .herohalf.right h3 {
    text-shadow: 0 0 15px #2c7bbf, 0 0 5px #2c7bbf, 0 0 10px #2c7bbf;
	font-weight: bold;
	color: white;
}
/* #f28b50 */
.herohalf.left p, .herohalf.left h3 {
    text-shadow: 0 0 15px #f28b50, 0 0 5px #f28b50, 0 0 10px #f28b50;
    font-weight: bold;
}
.herohalf h3 {
	font-size:1.4rem;
}
.herohalf p {
	line-height:1.3;
	/* font-weight:normal !important; */
}

.hero_image {
	max-width:30vw;
	max-width:51vmin;
	min-width: 14rem;
	object-fit: contain;
	object-position:center bottom;
	position:absolute;
	bottom:0;
}
.herohalf.left .hero_image {
	left:1vmin;
}
.herohalf.right .hero_image {
	right:1vmin;
}
/* fix right image alignment */
.herohalf.right .hero_image {
    bottom: -10vmin;
}

.hero_content {
    max-width: 25%;
    position: absolute;
	z-index: 3;
	text-align:center;
	top:17vmin;
	padding:1rem;
	min-width: 156px; /* ensure readability on tiny phones */
}
.herohalf.left .hero_content {
	right: 55vw;
	/* background:rgba(255,255,255,0.2); */
}
.herohalf.right .hero_content {
	left:55vw;
	/* background:rgba(0,0,0,0.2); */
}

.center_cta {
	margin:3em auto;
	text-align:center;
}



.cta.button, input.cta  {
	font-size:1.5rem;
	font-size: clamp(0.5rem, 3vmin, 1.5rem); 
	padding:1em;
	text-transform: uppercase;
	font-weight:bold;
	background:var(--cta);
	color:white;
	position:relative;
	display:inline-block;
	text-decoration:none;
	box-shadow:0 2px 5px rgba(0,0,0,0.3);
	transition:all 0.3s ease;
}
.cta.button:hover, input.cta:hover {
	opacity:0.8;
}
input.cta {
	border:none;
	font-size:1rem;
}

.talent .cta.button {
	background:var(--talent);
}
.job .cta.button {
	background:var(--job);
}
.cta.button:hover {
	cursor:pointer;
	background:var(--cta);
}
.job .cta.button:hover {
	background:var(--cta);
}

.flex {
	display:flex;
	align-items:center;
}
.flex-wrap {
	flex-wrap:wrap;
}
.flex-wrap #signupemail {
	max-width:30ch;
}
#forgotpassword {
	display:inline-block;
	transform:translateY(1em);
}

ul.button {
	list-style:none;
}
form .cta.button, ul.button .cta.button {
	font-size:1em;
	border:none;
}
.goodat .cta.button {
	background-color:var(--job);
}

.hero_content .cta.button {
	background:var(--primary);
}

.profile a.cancel {
	display:inline-block;
	
}

.profile_form, .profile_form fieldset {
	width:100% !important;
}

.test_ldquo {
	transform: translateX(0.5em);
    position: relative;
    display: inline-block;
}
.test_rdquo {
	transform: translateX(-0.5em);
    position: relative;
    display: inline-block;
}

#random_testimonial {
	background:var(--primary);
	color:white;
	margin-top:8rem;
	clear:both;
}
.testimonial_content {
	display:flex;
	align-items: center;
	font-size:150%;
}
.testimonial_content.contain {
	max-width:60ch;
	overflow:visible; /* important for image to bleed */
	padding: 0 2em; /* important to let image and quotes stay in frame */
}
.video_wrap_wrap {
    object-fit: contain;
    max-width: 1200px;
    margin: 2rem;
    margin-left: auto;
    margin-right: auto;
}
a.cta.button.blue.smbutton {
    font-size: 0.8rem;
    margin-left: 1rem;
    padding: 0.6rem 0.5rem;
}

nav .flex {
	display: flex;
    align-items: center;
}
.signinnote {
	font-size:0.8rem !important;
	margin-bottom:0;
}
nav .signinnote {
	line-height:1;
}
.cta.button.blue {
	background:var(--primary) !important;
	color:white !important;
}
.cta.button.red {
	background:var(--cta);
	color:white !important;
}
nav .cta.button.blue {
	font-size:60% !important;
}
/* .cta.button.blue:hover {
	background:var(--talent);
} */
/* .zoom_image {
	padding-left:2em;
} */
.zoom_image img {
	width:17rem;
	height:17rem;
	object-fit: contain;
	display:inline-block;
	max-width:30vw;
	max-height:30vw;
	filter: drop-shadow(2px 4px 6px black);
}
.testimonial_content blockquote {
	line-height:1;
	padding: 3em;
	margin:0;
}
.test_dquo {
	/* font-size:10em; */
	opacity:0.4;
}
.testimonial_right {
	display:flex;
	align-items: center;
	overflow: hidden;
}
.zoom_image {
    transform: scale(1.3);
}
.test_text {
	font-size:1em;
	font-style:italic;
}
.testimonial_right cite {
	text-align:right;
	font-size:0.7em;
	display:block;
	padding-top:1em;
}
#lquo_wrap {
    align-self: baseline;
    transform: scale(10);
    transform-origin: center 20%;
}
#rquo_wrap {
    align-self: flex-end;
    transform:  translatey(2em) scale(10);
    transform-origin: center center;
}




.inside_hero_img {
	max-width:100%;
}
.inside_hero_intro_wrap {
	max-width:var(-)
}
.inside_hero_intro_wrap h1 {
	color:var(--primary);
}
.inside_hero_image_wrap {
	position:relative;
}
.inside_hero_image_wrap h1 {
	/* position: absolute; 
	top: 50%; 
	left: 0; right: 0; 
	transform: translate(0, -50%);  */
	text-align: center; 
	color: #fff; 
	text-shadow: 0 0 15px rgba(0,0,0,0.5);
	font-size:8vw;
	font-size:clamp(18px, 8vw, 120px);
	position:absolute;
	width:100%;
	top:0em;
	line-height: 0.9;
	margin-top: clamp(28px, 0.5em, 1em); /* ensure visible on small screens */
}
.inside_hero_intro_copy {
	display:flex;
	justify-content: space-evenly;
	align-items: flex-end;
}
.inside_hero_intro_copy_cta_wrap {
	min-width: 33%;
	display:flex;
	flex-direction: column;
	align-items: center;;
}
.inside_hero_intro_copy_text {
	padding-right:2em;
}

p.note, a.note {
	color:var(--primary);
	font-size:0.8rem%;
}
p.note.reg, a.note.reg {
	font-size:100%;
}
p.note:hover, a.note:hover {
	text-decoration:none;
	opacity:0.8;
}
/* body.job .inside_hero_intro_wrap.readable_contain {
	z-index: 2;
    position: relative;
    margin-top: -14vmin;
} */
body.talent #industry_teaser.readable_contain, body.job #industry_teaser.readable_contain  {
	z-index: 2;
    position: relative;
    margin-top: -14vmin;
}

#mobile_nav_wrap .note.signinnote {
	color:white;
	opacity:0.7;
	position:absolute;
	top:-0rem;
}
#mobile_nav_wrap .trigger_login_form {
	background:var(--job) !important;
}
#mobile_nav_wrap div.flex {
	position:relative;
	justify-content: center;
	padding-top:2rem;
	gap:2rem;
}
#mobile_nav_wrap div.flex .cta {
	transform:scale(0.8);
}

.readable_contain.pullup, body.talent .pullup {
	/* z-index:2; */ /* commented out - caused issue with fixed PLACE ORDER button */
	position:relative;
	margin-top:-8vmin;
}
body.talent .pullup:not(.video_wrap_wrap) {
	margin-top:0;
}
body.talent .inside_hero_intro_copy_cta_wrap {
	transform:translateY(-6vmin);
}

.nav_signup_wrap,.nav_signin_wrap {
	width:10rem;
}
li.nav_signin_wrap.flex {
    flex-direction: column;
}

li.nav_signin_wrap.flex p {
	margin-bottom:1em;
}

.inside_hero_intro_copy_cta_wrap {
	text-align:center;
}

img.force_aspect {
	display:inline-block;
	max-width:100%;
	width:100%;
	height:200px;
	object-fit: cover;
	object-position: center;
	margin-bottom:1em;
	z-index:2;
	position:relative;
}

#noresumes, #nooccupations {
	background:rgba(255,0,0,0.1);
	padding:1rem;
	/* box-shadow: 0 0 10px rgba(0,0,0,0.2); */
	margin:2rem auto;
}

.whatsmissing {
	font-weight:bold;
}

#icanalsodo {
	margin-top:2rem;
}

form#resume input {
	min-width:30ch;
}

.meter {
	height:2rem;
	border-radius:2rem;
	background:rgba(255,0,0,0.7);
	overflow:hidden;
}
.meter.yellow {
	background:rgba(255,155,0,0.7);
}
.meter span {
	background:rgba(50,220,50,1.0);
	display:block;
	height:2rem;
	border-radius:2rem 0 0 2rem;
	animation: expandH 4s ease forwards;
	transform-origin:left center;
}
@keyframes expandH {
    from { transform:scaleX(0); }
    to { transform:scaleX(1); }
}

#industry_teaser {
	margin-top:4rem;
	margin-bottom:4rem;
	perspective: 1300px;
}
.industry_teaser_card_content p {
	display:none;
	text-decoration:none;
}
.industry_teaser_card_content > p:first-of-type {
	display:block;
	overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;  
}
.industry_teaser_card {
	box-shadow:0 2px 6px rgba(0,0,0,0.4);
	/* padding:1em; */
	width:33%;
	display:inline-block;
	text-decoration:none;
	transition:all 0.3s ease;
	background:white;
	position:relative;
	transform:scale(0.9);
}
.industry_teaser_wrap {
	padding:1em;
}
.industry_teaser_card:nth-child(1),.industry_teaser_card:nth-child(5) {
	display:none;
}
.industry_teaser_card.middle {
	transform:scale(1.0);
	z-index:2;
	/* box-shadow:0 4px 12px rgba(0,0,0,0.3); */
}
.industry_teaser_card.edge {
	transform:scale(0.8) rotate3d(0,0,0,25deg);
	z-index:1;
	/* box-shadow:0 2px 5px rgba(0,0,0,0.7); */
}
#industry_teaser:hover .industry_teaser_card.middle, .industry_teaser_card {
	transform:scale(0.9);
	z-index:1;
	/* box-shadow:0 2px 6px rgba(0,0,0,0.4); */
}
#industry_teaser:hover .industry_teaser_card:hover, #industry_teaser:hover .middle.industry_teaser_card:hover {
	transform:scale(1.0);
	z-index:2;
	/* box-shadow:0 4px 12px rgba(0,0,0,0.3); */
}
.industry_teaser_card.edge0 {
	left:1.5rem;
}
.industry_teaser_card.edge4 {
	transform:scale(0.8) rotate3d(0,0,0,-25deg);
	right:1.5rem;
}
.triangle {
	position:absolute;
	background-color:var(--gray);
	transition:all 0.3s ease;
}
.talent .industry_teaser_card:hover .tl_triangle {
	background-color:var(--talent);
}
.job .industry_teaser_card:hover .tl_triangle {
	background-color:var(--job);
}
.job .middle.industry_teaser_card .tl_triangle {
	background-color:var(--job);
}
.talent .middle.industry_teaser_card .tl_triangle {
	background-color:var(--talent);
}

.tl_triangle {
	width:50%;
	padding-top:50%;
}
.br_triangle {
	background-color:transparent !important;
	right:0;
	bottom:0;
	width:10%;
	/* padding-top:15%; */
	border-bottom: 4rem solid var(--gray);
	border-left: 4rem solid transparent;
	transition:all 0.3s ease;
}

.job .industry_teaser_card:hover .br_triangle {
	border-bottom: 4rem solid var(--job);
}
.talent .industry_teaser_card:hover .br_triangle {
	border-bottom: 4rem solid var(--talent);
}


@media screen and (min-width: 1024px) {
	.industry_teaser_card {
		width:19%;
	}
	.industry_teaser_card:nth-child(1),.industry_teaser_card:nth-child(5) {
		display:inline-block;
	}
}
.industry_teaser_card h2 {
	margin:0;
	padding:0;
	color:var(--primary);
}

h1 {
	font-size:2.3rem;
	color:var(--primary);
	text-shadow: 0 0 1px white; /* aid visibility when text over header on small screens */
}
h2,h3,h4 {
	color:var(--primary);
}

#job_postings_teaser h1, #industry_teaser h1, .is_heading{
	font-size:2.3rem;
	color:var(--primary);
	text-align:center;
	text-transform: uppercase;
	margin-bottom:1.5em;
	margin-top:3em;
}
#job_postings_teaser, .generic_teaser {
	background:var(--gray);
	padding:2rem;
	padding-top:4rem;
	padding-bottom:0;
}
#job_postings_teaser.notitle {
	background:none;
}
#job_postings_teaser .center_cta, .generic_teaser .center_cta {
	margin-top:-2rem;
	transform:translateY(2rem);
}
.generic_teaser .center_cta {
	margin-top:0;
}
aside#job_teaser_browser {
    display: flex;
    flex-wrap: wrap;
}
a.job_teaser_item {
	text-decoration: none;
	display:flex;
	margin-bottom:3rem;
	width:100%;
	
}
@media screen and (min-width: 600px) {
	a.job_teaser_item {
		width:50%;
		padding-right:2rem;
	}
}
@media screen and (min-width: 1024px) {
	a.job_teaser_item {
		width:33%;
		padding-right:2rem;
	}
}

.job_teaser_item h2 {
	margin:0;
	padding:0;
	color:var(--primary);
}
.job_teaser_item p {
	margin:0;
	margin-top:0.4rem;
	line-height:1.2;
}
.big_blue_chevron {
	font-size:2.5rem;
	color:var(--primary);
	padding-right:0.5em;
}
.job a:hover .big_blue_chevron {
	color:var(--cta);
	color:var(--job);
}

.generic_teaser p {
	margin-top:1em;
}
.generic_teaser p:first-of-type {
	margin-top:0;
}




body > footer {
	padding:2rem;
	text-align:center;
	padding-bottom:8rem;
}
#footer_main {
	font-size:1.2rem;
}
#footer_copyright {
	font-size:0.8rem;
}


.modal {
	display:none;
}
.modal.active {
	display:flex;
	position:fixed;
	z-index:99999999;
	background:rgba(255,255,255,0.95);
	padding:1rem;
	justify-content: center;
	align-items: center;
	width:100vw;
	height:100vh;
	top:0;
	left:0;
}
#sidebar-loginform {
	max-width: 50ch;
	padding:1rem;
	background:white;
	box-shadow:0 0 10px rgba(0,0,0,0.3);
	display:flex;
	flex-direction:column;
}

.readable_contain.construction.pullup p:first-of-type {
	display:none;
}
.readable.safetypage.contain_readable.contain {
	margin-top:0;
	padding-top:0;
}

ul.industryBtn {
	list-style:none;
	margin-top:3rem;
}
ul li.industryBtn {
	display:inline-block;
	margin:0.5em;
}
ul li.industryBtn a {
	text-decoration:none;
	display:inline-block;
	padding:0.3em 0.8em;
	border-radius:0.2em;
	background:var(--cta);
	color:white;
	transition:all 0.2s ease;
}
ul li.industryBtn a:hover {
	background:var(--job);
}
.industryBtn span.round {
	display:none;
}

.single_job_page h1:first-of-type {
	/* pull up similar jobs on single job page */
	margin-top:0;
}

.applyBtn {
    float: right;
    background: var(--job);
    color: white !important;
    box-shadow: 0 0 5px rgba(0,0,0,0.5);
    display: block;
    width: 5rem;
    height: 5rem;
    color: white;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
	align-items: center;
	text-transform:uppercase;
	/* transition:all 0.3s ease; */
}
.btn_triangle {
	font-size:2rem;
}
.applyBtn:hover {
	background:var(--cta);
}

p.job_distance {
	text-align:right;
	opacity:0.7;
	font-size:0.8rem;
}
p.short_job_description {
	padding-left:2rem;
	font-size:0.8rem;
}

main>h1:first-of-type {
	margin-top:2em;
}

.job main a {
	color:var(--job);
}

#signupform input#noresumesubmit {
	color:var(--job);
}
#signupform input#registration_submit {
	margin-left:16px;
}

#signupform_wrap {
	padding: 2rem;
	margin-top: 2rem;
    /* background: var(--cta); */
    /* background: #eee; */
    box-shadow: 0 0 1rem rgba(0,0,0,0.2);
}
#signupform_wrap h2 {
	margin-top:0;
}
#signupform_wrap ul {
	list-style:none;
	padding-bottom:0;
	margin-bottom:0;
}
#signupform_wrap label {
	font-weight:bold;
}
#signupform_wrap li {
	margin-top:1.5rem;
}
#signupform_wrap input {
	padding:1rem; border:none;
	background:#eee;
	margin-left:1rem;
}
#signupform_wrap #applybutton {
	color:white;
	background:var(--cta);
	text-transform: uppercase;
}
#signupform_wrap #applybutton:hover {
	cursor:pointer;
	opacity:0.8;
}

video {
	max-width:100%;
}

.video_wrap {
	max-width:1920px;
	padding-bottom:56.25%;
	margin:0 auto;
	height:0;
	overflow:hidden;
	position:relative;
	margin-top:4rem;
}
.home.video_wrap {
	margin-top:0;
}

.video_wrap iframe {
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.responsive iframe {
	height:100%;
	width:100%;
}

.morejobs {
	list-style:none;
	margin-left:0;
	padding-left:0;
}
.morejobs :is(p,h3) {
	margin:0;
}
.morejobs li {
	background:#efefef;
	padding:1rem;
	margin-top:1rem;
}



#applythanks {
	display:none;
}
#applythanks.active {
	display:block;
	display: block;
	background: var(--job);
	padding: 1em;
	margin-bottom: 2em;
	color: white;
}
#applythanks.active * {
	color:white;
}
.applyBtn.inactive {
	display:none;
}

.applyBtn:hover {
	text-decoration:none !important;
}
#signupform_wrap p:last-of-type {
	margin-bottom:0;
}
#signupform_wrap #emailerror, #signupform_wrap #containererreurtotal {
	margin:0; /* prevent gap at bottom of signup form - put whitespace around content if populated */
}

#savenew ul {
	list-style:none;
}
#savenew ul li {
	display:flex;
	align-items: center;
}
#savenew .checkbox {
	margin-right:1em;
}
form#savenew ul li label {
	font-weight:normal;
	margin-top:0;
	margin-bottom:0;
}

.jobTitle {
	margin-top:0; /* pull up to line with apply button */
}
.jobLocation {
    font-weight: bold;
    font-size: 120%;
    margin-bottom: 1rem;
}
.jobRecruiter {
	margin-left:2rem;
	font-style:italic;
	color:#888;
	font-size:75%;
}
.readable.pullup {
	/* pull up industry page content in hiring site */
	transform: translateY(-7vmax);
}
/* body.talent .inside_hero_intro_copy_cta_wrap {
    transform: translateY(-6vmin) translateX(18vw);
} */

form fieldset {
	border:1px solid #aaa;;
	padding:1rem;
	margin-top:1rem;
	margin-bottom:1rem;
}

#hirecontactformwrap {
	padding:4rem 1rem;
	display:flex;
	flex-direction:column;
}
@media screen and (min-width: 1024px) {
	#hirecontactformwrap {
		padding:4rem 1rem;
		display:flex;
		flex-direction:row;
	}
}
#hirecontactformwrap > * {
	min-width:50%;
}
form.regular label {
	font-weight:bold;
	min-width:10em;
}
.rowForm {
	
}
.rowForm.col-s-4 {
	float:left;
	width:33%;
	margin-top:1em;
	overflow: hidden;
}
.rowForm.col-s-6 {
	float:left;
	width:100%;
	clear:both;
	margin-top:1em;
}
.rowForm.col-s-8 {
	float:left;
	width:66%;
	margin-top:1em;
}
form.regular input[type=text], form.regular select, form.regular input[type=email], form.regular input[type=password], form.regular input[type=number], form.regular input[type=tel], form.regular textarea {
	padding:0.7rem;
	margin:0.3rem;
	border:none;
	/* box-shadow:0 0 5px rgba(0,0,0,0.5); */
	background:#eee;
}
form.regular input[type=submit] {
	color:white;
	border:none;
	background:var(--cta);
	padding:0.5em 1em;
	font-size:1.2rem;
	text-transform: uppercase;
	margin-top:1em;
}
form.regular input[type=submit]:hover {
	cursor:pointer;
	opacity:0.8;
}

textarea {
	width:100%;
	min-height:4rem;
}

.faq-question {
	overflow:hidden;
	max-height:0rem;
	opacity:0;
	transition:all 0.3s ease;
}
.faq-question.active {
	max-height:17rem;
	opacity:1;
}

section.contactus {
	padding-top:2rem;
}

#industry_select_nav select {
	padding:0.5rem;
	border:1px solid #aaa;
	border-radius:0.5rem;
}
#industry_select_nav input {
	border:none;
	padding:0.5rem;
	font-size:1em;
}

/* registration */

fieldset {
	overflow:hidden;
	margin-top:1rem;
}

#registration legend, .profile_form legend, .profile legend {
	border:1px solid #ccc;
	padding:1rem;
	margin-top:1rem;
}
.profile_form fieldset {
	background:none !important;
}

#signupemail, #signupother {
	border:1px solid #ccc;
	margin:1rem;
	padding:1rem;
}
#signupemail {
	display:flex;
	align-items:center;
}
#signupother {
	display: flex;
	flex-direction: column;
	justify-content: center;
    align-items: center;
}

#googlesharehelp {
	display:none;	
	position:absolute;
}

form label {
    margin-right: 2rem;
    display: block;
    margin-top: 1em;
    margin-bottom: 1em;
    font-weight: bold;
}
form input[type=text], form input[type=tel], form input[type=email], form input[type=password] {
	padding:0.5rem;
	border:1px solid #aaa;
	border-radius:0.2rem;
	display:block;
	flex-grow:1;
}
form select {
	border:1px solid #aaa;
	border-radius:0.2rem;
	padding: 0.7em;
}

label.loginerror {
    color: red;
    font-weight: bold;
}

#selectresume {
    font-size: 22px;
    font-weight: 600;
    color: black;
    text-decoration: none;
    padding: 0px 7px 5px 26px;
    border: 1px solid #ebebeb;
    border-radius: 2px;
    border-bottom-color: #d4d4d4;
    background: #fcfcfc;
    background: -moz-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
    background: -webkit-linear-gradient(top, #fcfcfc 0%, #f5f5f5 100%);
    background: linear-gradient(to bottom, #fcfcfc 0%, #f5f5f5 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fcfcfc', endColorstr='#f5f5f5',GradientType=0);
    background: url(/images/uploadresume.png) no-repeat 3px 3px;
    background-size: 32px 32px;
    padding: 10px;
    padding-left: 40px;
    padding-right: 20px;
}

span.selectuploadoption {
    padding: 0.5rem;
}

#upload_options a {
	text-decoration:none;
	color:white;
	background-color:var(--job);
	padding:0.5rem;
	display:inline-block;
}
#upload_options a:hover {
	background-color:var(--cta);
}

.submit.button, #signup_button {
	background:var(--cta);
	color:white !important;
	padding:0.5rem 1rem;
	border:none;
	display:inline-block;
	margin:0 auto;
	transition:all 0.3 ease;
}
.submit.button:hover, #signup_button:hover, a.cancel:hover {
	opacity:0.7;
	cursor:pointer;
}
a.cancel {
	text-decoration:none;
	background:none;
	
}

.pull-right {
	float:right;
}

.horiz_group {
	display:flex;
}
.horiz_group > * {
	margin:0.5rem;
}

#containererreurtotal {
	display:none;
}

div.checkbox.iagree {
	padding:1rem;
}

/* end registration */

#yourprofile .rightmodule label {
	font-weight: bold;
    border-bottom: 1px solid #ccc;
    display: block;
    padding-bottom: 0.5em;
    border-top: 1px solid black;
    padding-top: 0.5em;
    margin-top: 2em;
}
#yourprofile ul {
	list-style:none;
}

#profile_wrap .rightmodule {
	border:1px solid #eee;
	box-shadow:0 0 10px rgba(0,0,0,0.5);
	padding:2rem;
	margin-top:2rem;
}
#profile_wrap .rightmodule .title {
	font-weight:bold;
	font-size:150%;
	margin-top:2em;
	display:block;
}
#profile_wrap .rightmodule .title:first-child {
	margin-top:0;
}

body.profile a {
	color:var(--job);
	text-decoration:none;
}
span.red {
	color:red;
	padding-left:1em;
}

.readable p a:hover {
	text-decoration:underline;
}

input.hidden {
	display:none !important;
}

#city_state {
	margin-top:1em;
	font-weight:normal;
	font-size:120%;
}

hr.gap {
	margin-top:2rem;
	margin-bottom:2rem;
}

#phonenumbers, #workprefs {
	list-style:none;
	margin:0 !important;
	padding-left:0 !important;
}
#phonenumbers li {
	display:flex;
}
#workprefs li {
	display:flex;
	align-items: center;
}
#workprefs h4 {
	margin-right:20px;
}
#workprefs select, #workprefs input {
	height: 2.5rem;
}
.checkbox {
    display: flex;
}

/* Media Queries */

@media screen and (max-width: 600px) {
	html, body {
		font-size:14px;
	}

	#navlogo {
		width: 60vw;
	}

	#homepage_hero p {
		font-size: 14px;
	}

	.herohalf.right {
		clip-path: polygon(77% 0, 100% 0, 100% 100%, 28% 100%);
		-webkit-clip-path: polygon(77% 0, 100% 0, 100% 100%, 28% 100%);
	}

	.hero_content {
		max-width: 70%;
	}

	.hero_content h3 {
		font-size: 1em;
	}

	.herohalf.left .hero_content {
		right: 42vw;
		top: 20px;
	}

	.herohalf.right .hero_content {
		left: 53vw;
    	bottom: -11px;
		top: unset;
	}

	.herohalf.left .hero_image {
		left: -8vmin;
		min-width: 17rem;
	}

	.herohalf.right .hero_image {
		bottom: -1vmin;
		min-width: 17rem;
		right: -10vmin;
	}

	#random_testimonial {
		margin-top: .2rem;
	}
	.testimonial_content.contain {
		padding: 0;
	}

	/* .zoom_image img {
		width: 182px;
		height: auto;
		max-width: none;
		max-height: none;
		position: absolute;
		top: -81px;
		left: -21px;
	} */

	.hero_content h3 {
		display:none;
	}
	.hero_content p {
		/* visibility:hidden; */
	}
	.testimonial_content {
		display:grid;
	}
	.zoom_image img {
		width: 182px;
		height: auto;
		max-width: none;
		max-height: none;
		/* position: absolute; */
		/* top: -81px; */
		/* left: -21px; */
		
	}

	.zoom_image {
		transform:scale(1) translateY(2rem);
		text-align:center;
		grid-row:2;
	}

	.testimonial_right {
		display: flex;
		align-items: center;
		overflow: hidden;
		width: 60%;
		margin-left: 40%;
		font-size: 14px;
		grid-row:1;
	}

	.testimonial_right {
		margin:0 auto;
		width:80%;
	}

	.testimonial_content blockquote {
		line-height: 1.3;
	}

	a.cta.button {
		font-size: 1em;
	}

	#searchform {
		max-width: 100%;
		transform: translateY(-1.1rem);
	}
	
	.search-form-group {
		margin: 0px .5rem;
	}

	#searchform input {
		font-size: .8rem;
		height: 2rem;
	}

	#searchform button {
		width: 2rem;
		height: 2rem;
	}

	.inside_hero_intro_copy {
		flex-direction: column;
		align-items: center;
	}

	.inside_hero_intro_copy_text {
		padding-right: 0;
	}

	a.cta.button {
		text-align: center;
	}

	section#industry_teaser {
		padding: 0px;
	}

	.industry_teaser_card {
		width: 49%;
	}

	a.industry_teaser_card.middle {
		margin-left: -25%;
		position: absolute;
	}

	.industry_teaser_card h2 {
		font-size: 1em;
	}

	.industry_teaser_card_content > p:first-of-type {
		font-size: 0.9em;
	}

	img.force_aspect {
		width: 100%;
	}

	p#footer_main {
		font-size: .8em;
	}

	p#footer_copyright {
		font-size: 0.6rem;
	}

	section#job_postings_teaser {
		padding: 2rem 1rem;
	}

	.big_blue_chevron {
		font-size: 1.5em;
	}

	.job_teaser_item_details h2 {
		font-size: 1.1em;
	}

	p.location_and_timestamp {
		font-size: .9em;
	}

	a.job_teaser_item {
		margin-bottom: 1.8em;
	}

	body.talent .inside_hero_intro_copy_cta_wrap {
		transform: translateY(-0vmin);
	}

	section#industry_teaser h1 {
		margin-top: 1em;
	}

}