:root {
	--primary-color: #004165;
	--secondary-color: #007AC9;
	--primary-text-color: #0A0A0A;
	--text-white: #FEFEFE;
	--default-font-size: 1rem;
	--font-family: 'Source Sans Pro', Helvetica, Arial, sans-serif;
}


@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro:ital,wght@0,400;0,600;0,700;1,400;1,600;1,700&display=swap');

html,
body {
	font-family: var(--font-family);
	line-height: 1.5;
	font-size: 100%;
	color: var(--primary-text-color);
	text-rendering: optimizeLegibility;
	font-weight: 400;
}

/* RESET */
#wrapper,
#main,
#app_body {
	padding: 0 !important;
	margin: 0 !important;
	max-width: unset !important;
}

#application {
	background-color: transparent;
	padding: 0;
	border-radius: 0;
	border: 0;
	max-width: unset;
	color: var(--primary-text-color);
}

#application #application_form #main_fields h2.heading {
	display: none;
}

#application #main_fields .required-fields {
	float: right;
	font-size: var(--default-font-size);
	margin-bottom: 1rem;
}

#application #location_autocomplete_root label {
	display: none;
}

@media (min-width: 768px) {
	#application .file-types {
		margin: 0;
	}
}

#application .file-types {
	margin: 8px;
}

#application #main_fields legend,
#application #custom_fields legend,
#application #demographic_questions legend,
#application #eeoc_fields legend {
	float: none;
}

/* COMMON */
#application input[type="checkbox"] {
	height: 1.25rem;
	width: 1.25rem;
}

#application #main_fields .field label,
#application #main_fields .field textarea,
#application #custom_fields .field label,
#application #demographic_questions .field label,
#application #eeoc_fields .field label {
	font-size: var(--default-font-size);
}

#application #main_fields .field,
.accessible #application #custom_fields .field {
	line-height: 1.5;
	padding-bottom: 10px;
	position: relative;
}

#application #main_fields .field > label,
#application #custom_fields .field > label,
#application #eeoc_fields .field > label {
	color: var(--primary-color);
	float: none;
	text-align: left;
	margin: 0;
	width: -webkit-fill-available;
	width: -moz-available;
}

#application #main_fields > .field > label {
	padding: 0.5rem 1rem 0;
	position: absolute;
}

#application #main_fields > .field input[type=text],
#application #eeoc_fields > .field input[type=text] {
	color: #393939;
	font-size: var(--default-font-size);
	font-weight: 600;
	height: 1.5rem;
	padding: 2rem 1rem 1rem;
	width: -webkit-fill-available;
	width: -moz-available;
}

@media (min-width: 768px) {
	#application button,
	#application a:not(.select2-default):not(.select2-choice) {
		background-color: transparent;
		background-image: linear-gradient(to bottom, var(--secondary-color) 0%, var(--secondary-color) 100%);
		background-size: 100% 2px;
		background-repeat: no-repeat;
		background-position: left 0 bottom 0;
		color: var(--secondary-color);
		font-size: var(--default-font-size);
		font-weight: 600;
		line-height: 1.15 !important;
		text-decoration: none;
		transition: all .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
		overflow: hidden;
	}

	#application button:hover,
	#application button:focus,
	#application a:not(.select2-default):not(.select2-choice):hover,
	#application a:not(.select2-default):not(.select2-choice):focus {
		color: var(--text-white);
		cursor: pointer;
		background-image: linear-gradient(to bottom, var(--secondary-color) 0%, var(--secondary-color) 100%);
		background-size: 100% 100%;
		box-shadow: 0 0 0 var(--secondary-color), 0 0 0 var(--secondary-color);
	}
}

#application .select2-container .select2-choice,
#application .select2-container .select2-arrow {
	padding-block: 12px;
}

#application .locate-me {
	display: inline-block;
	margin-top: 8px;
}

@media (max-width: 640px) {
	#application .attach-or-paste .link-container {
		display: flex !important;
		flex-direction: column;
		gap: 16px;
	}

	#application .attach-or-paste .link-container button,
	#application .attach-or-paste .link-container a {
		background-color: var(--secondary-color);
		background-image: none;
		border: 0;
		border-radius: 9999px;
		color: var(--text-white);
		font-family: var(--font-family) !important;
		font-size: 0.875rem;
		font-weight: 400;
		margin: 0;
	}
}

/* MAIN FIELDS */

/** RESUME / COVER LETTER **/
#application #main_fields > .field fieldset {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

#application #main_fields > .field fieldset legend {
	float: none;
	font-size: var(--default-font-size);
	line-height: 1.5;
	margin-bottom: 4px;
	padding: 0;
}

#application .field fieldset legend > label {
	color: var(--primary-color);
	float: none;
	text-align: left;
	margin: 0;
}

#application #main_fields > .field fieldset .attach-or-paste {
	border: 2px var(--secondary-color) dashed;
	border-radius: 1rem;
	padding: 1rem;
	transition: all .3s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

#application #main_fields > .field fieldset .attach-or-paste:hover {
	background-color: rgba(22, 163, 74, 0.1);
	border-color: rgb(22, 163, 74);
}

#application #main_fields .field textarea.paste {
	margin-top: 1rem;
	margin-left: 0;
}

/* EDUCATION */
#application #education_section fieldset .field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

@media (min-width: 768px) {
	#application #education_section fieldset .field fieldset input[type=text] {
		width: 3rem !important;
	}
}

#application #education_section fieldset .field fieldset input[type=text] {
	font-size: var(--default-font-size);
	padding: 1rem;
	text-align: center;
}

#application #custom_fields > .field input[type=text] {
	color: #393939;
	font-size: var(--default-font-size);
	font-weight: 600;
	height: 1.5rem;
	padding: 1rem;
	width: -webkit-fill-available;
	width: -moz-available;
}

#application #add_education,
#application #add_employment {
	display: initial;
	margin: 0;
}

#application #submit_buttons {
	text-align: left;
}

#application #submit_app,
#application #apply_button {
	background-color: var(--secondary-color);
	border-radius: 9999px;
	font-size: 0.875rem;
	padding-block: 0.625rem;
	padding-inline: 0.875rem;
	text-shadow: none;
}

#application #submit_app:hover,
#application #submit_app:focus {
	background-color: var(--primary-color);
}

/* DEMOGRAPHIC QUESTIONS */
#application #demographic_questions .field {
	line-height: 1.75;
	margin-bottom: 1rem;
	color: var(--primary-color);
}

#application #demographic_questions .field label {
	color: var(--primary-text-color);
}

@media (max-width: 640px) {
	#application #custom_fields .field select {
		background-color: #FEFEFE;
		border: solid 1px #DDD;
		border-radius: 3px;
		padding: 1rem;
	}
}

/* ERROR MESSAGES */
#application #main_fields .field .field-error-msg,
#application #eeoc_fields .field .field-error-msg {
	padding-left: 0;
}

#footer {
	margin-top: 45px
}
