/* IFS CUSTOM CSS
____________________________________________________________________________*/


html {
	font-size: initial; /* have to override Bootstrap's default 10px in order to make the new template work */
}
@media (max-width: 600px) {
	html {
		overflow-x: hidden;
	}
}
html {
    overflow-x: hidden;
}

.template_header_top .elementor-top-section {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}
body h3 {
	color: #253762;
	font-size: 22px;
	margin: 22px 0;
}
body h4 {
	font-size: 18px;
}
body h5 {
	color: #253762;
	font-size: 13px;
	margin-bottom: 0px;
}
.attachment-full.size-full {
	height: auto;
}
@media(max-width: 859px) and (min-width: 500px) {
	#wrapper_logo_site_main img {
		max-height: 8vw;
		width: auto;
	}
}
@media(max-width: 499px) {
	#wrapper_logo_site_main img {
		max-height: 38px;
		width: auto;
	}
}
@media(max-width: 767px) {
	#slider .elementor-section.elementor-section-boxed > .elementor-container, /* Required for Students page school search combobox centering. */
	.elementor-section.elementor-section-boxed > .elementor-container {
		max-width: 100%;
	}
}


/* Global available styling */

input[type="text"].ifs_taller {
	height: 33px;
}
#sp-component .btn.btn-small {  /* Reproduce what Bootstrap btn-xs used to do */
	letter-spacing: 0.5px;
	font-weight: 500;
	font-size: var( --e-global-typography-1d5fde3-font-size );
	margin-top: -5px;
	padding: 1px 15px 4px;
}
select[readonly=""],
input.is-readonly,
.inputs-readonly input {  /* Imitate a readonly field since <select> natively doesn't support readonly */
	pointer-events: none;
	background-color: #eee;
}
.inputs-readonly .dropdown-toggle {  /* for combobox */
	pointer-events: none;
}
.float-end > div > a {
	/* Hide front-end article editing links */
	display: none;
}

/* From Bootstrap 5 because frontpage was originally made with that */
.p-5 {
	padding: 3rem !important;
}
.pt-5 {
	padding-top: 3rem !important;
}
.pb-5 {
	padding-bottom: 3rem !important;
}
.mt-4 {
	margin-top: 1.5rem !important;
}
.mb-4 {
	margin-bottom: 1.5rem !important;
}
.mt-3 {
	margin-top: 1rem !important;
}
.mb-3 {
	margin-bottom: 1rem !important;
}
.align-items-center {
	align-items: center !important;
}
.position-relative {
	position: relative;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control
.form-control.mbsc-comp[disabled=""] {
	background-color: #f5f5f5;
}


/* Joomla & Custom System Messages */
#system-message-container {
	position: relative;
	text-align: center;
}
#system-message-container joomla-alert {
	display: table;
	width: 100%;
}
@media (min-width: 860px) {
	#system-message-container joomla-alert .joomla-alert--close {
		margin-bottom: -50px;
	}
	#system-message-container joomla-alert > .alert-heading, joomla-alert > .alert-wrapper {
		display: table-row;
	}
}
#system-message-container joomla-alert .joomla-alert--close {
	background-image: linear-gradient(to top, #148EDD, #5BBCFB);
	opacity: 1;
}
#system-message-container joomla-alert .joomla-alert--close:hover {
	background-image: linear-gradient(to top, #4E9AD2, #5CACE0);
}
#system-message-container joomla-alert {
	display: table;
	position: relative;
	width: 100%;
}
joomla-alert .alert-heading .visually-hidden {
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	margin-bottom: 15px;
	text-transform: capitalize;
}
#user-registration .lang_file h6 {
	margin-top: 20px;
}
.user_pw_reset .form-control-feedback {
	color: red;
	position: relative;
	width: 100%;
}
.user_pw_reset h1 {
	color: #253762;
}
.ifs-update-user-profile .btn {
	background-color: #148EDD;
	font-family: var( --e-global-typography-1d5fde3-font-family ), Sans-serif;
	font-size: var( --e-global-typography-1d5fde3-font-size );
	font-weight: var( --e-global-typography-1d5fde3-font-weight );
}
#reset_pw {
	font-size: 14px;
	padding: 4px 10px;
}


/* Mobiscroll Datepickers */
.mbsc-comp.is-readonly {
	background-color: #eee;
	cursor: not-allowed !important;
	pointer-events: all;
}
.form-control[readonly].mbsc-comp:not([disabled=""]) {
	background-color: #fff;
}


/* Popover Help */
.wrapper_bs_popover {
	display: inline-block;
	vertical-align: top;
}

.record_history_none {
	color: #fff;
}
option[disabled] {
	color: #bababa;  /* make lighter than default */
}
select#insured_category {
	width: auto;
}

.waiver_resubmit {
	position: relative;
	top: -33px;
}
#waiver-resubmit-button {
	width: 94%;
	position: relative;
	left: -7px;
}


/* Opt-in Redirect to Student Dashboard */
.highlight-this-button {
	border: 2px solid red !important;
}


/* Term Display Group */
.action_step {
	display: table;
	margin: 20px auto 4px;
	text-align: center;
	line-height: 24px;
}
.action_step span {
	display: block;
}
.step_num {
	font-size: 19px;
	font-weight: bold;
	color: #1398EE;
}
.step_desc {
	font-style: italic;
	font-weight: 600;
}
#step_1 {
	margin-bottom: -5px;
}
#step_2 {
	margin-top: 25px;
}
#step_3 {
	margin-top: 6px;
}


/* This takes affect after clicking Confirm & Pay on Enrollment Page 3 */
form.is-submitting::before {
	position: absolute;
	content: '';
	top: -0.5em;
	right: -0.5em;
	left: -0.5em;
	bottom: -0.5em;
	background: rgba(0,0,0,0.1)
	pointer-events: none;
}
/*
This kind of works but needs refinement.
.spinner {
	cursor: none;
	height: 100%;
	background-image: linear-gradient(-105deg, #009acc, #363795);
	animation: rotate 2s linear infinite;
	z-index: 2;
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -25px 0 0 -25px;
	width: 50px;
	height: 50px;

	& .path {
		stroke: hsl(210, 70, 75);
		stroke-linecap: round;
		animation: dash 1.5s ease-in-out infinite;
	}
}
@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
} */


/*  Enrollment Page 4 */
.receipt_notification {
	text-align: center;
	font-style: italic;
	margin: 50px auto;
}


/* SSO Login */
.custom_sso_login_mod, .custom_sso_logout_mod {
  background-color: #fff;
  display: table;
  margin: 0px auto;
  text-align: center;
  line-height: 13px;
}
.btn_sso_login {
	display: table;
	font-family: var( --e-global-typography-1d5fde3-font-family ), Sans-serif;
	font-size: var( --e-global-typography-1d5fde3-font-size );
	font-weight: var( --e-global-typography-1d5fde3-font-weight );
	margin: 16px auto 10px !important;
}
.btn_sso_login_parent p {
	font-style: italic;
	font-weight: 600;
}
#sso_redirect_message {
	background-color: #c3d2e5;
	border-bottom: 3px solid #84a7db;
	border-top: 3px solid #84a7db;
	color: #0055bb;
	font-weight: bold;
	margin-bottom: 10px;
	margin-top: 40px;
	padding: 5px;
	text-align: center;
}
#additional_plan_wrapper {
	display: table;
	margin: auto auto 25px;
	width: fit-content;
}
#additional_plan_hdr {
	clear: both;
	font-style: italic;
	margin-top: 50px;
	margin-bottom: 40px !important;
}
.additional_plan_link {
	display: table;
	margin: 26px auto !important;
}
#additional_plan_wrapper .btn.additional_plan_link {
	line-height: 18px;
	max-width: 100%;
	width: 350px;
}


.nimda_users_edit #joomlagroup {
	width: 100%;
}

#import_report td {
	padding: 5px 0;
}
.ifs-user-home #rl_modals #rl_modals_wrapper {
	left: auto;
}
.ifs-user-home #rl_modals {
}
.ifs-user-home #rl_modals_title {
	display: block;
	text-align: center;
}
#active_plans_ul > ul {
	padding-top: 20px;
}
#rl_modals_title {
	border: none;
}
#active_plans_ul .text-link {
	color: #fff;
}
.ifs-user-home #rl_modals {
	/* Must review the effect this has on ID cards before going live. */
	background-color: #d7d7d7;
	color: #fff;
	padding: 0 20px 10px;
}
.ifs-user-home #rl_modals a:hover {
	color: #7ec3ff;
}


/* Admin Add Student Page */
.admin_add_student .row > .col-lg-12 {
	text-align: center;
}
.admin_add_student .col-lg-6 input {
	float: right;
	height: 33px;
	margin-bottom: 8px;
}
.admin_add_student .col-lg-12 > .row > .col-lg-6,
.admin_add_student .col-lg-12 > .col-lg-6 {
	left: 5%;
	position: relative;
}
.admin_add_student .col-lg-6 > select,
.admin_add_student .col-lg-6 .mbsc-comp {
	float: right;
	max-width: 206px;
}
.admin_add_student .col-lg-6 {
	text-align: right;
}
.admin_add_student .col-lg-6 label {
	padding-right: 10px;
}
.admin_add_student .expandable_section {
	margin: 0 auto;
	min-width: 750px;
	position: relative;
}
#admin_add_student_form h4 {
	display: inline;
	margin: 0 10px 0 0;
}
.info_button {
	/* Figure out which page this references and add a class or id. */
	background-color: #fff;
	border: 1px solid;
	border-radius: 4px;
	box-shadow: 0px 0px 3px 1px rgba(0,0,0,0.1);
	padding: 0.5px 4px;
}
.admin_add_student .dep_attribute {
	display: inline-block;
	margin: 10px 5px;
}
.admin_add_student .dep_attribute > label {
	display: block;
	margin-bottom: -1px;
}
.admin_add_student .dep_attribute > input {
	height: 33px;
	margin-bottom: 8px;
}
.admin_add_student .bottom_btn {
	display: inline-block;
	margin: 50px 10px 30px;
	padding-left: 50px;
}


/* Admin Users Setup: Jan 19, 2022 */
#user_profile_add_or_edit .profile_image {
	display: table;
	margin: 0 auto;
}
#user_profile_add_or_edit #profile-image-alert {
	margin-bottom: 10px;
}
#profile-existing-image {
	cursor: pointer;
	display: table;
	margin: auto;
}
.nimda_users_edit #update-and-create-account, #delete {
	display: inline-block;
	margin: 40px 10px 0;
}
.nimda_users_edit #update-and-create-account {
	border: 1px solid green;
}
.nimda_users_edit #delete {
	border: 1px solid red;
}


/* IFS Admin & Client Admin Pages */
.client-admin-dashboard #selected_plan,
.admin-waiver-setup #plan {
	width: 100%;
	max-width: 500px;
	display: table;
	margin: 0 auto;
}
#ifs_page_body {
	margin-top: 20px;
}
#help_buddy_btn {
	height: 38px;
	margin: 0 20px 0 5px;
}
#help_buddy_img {
	float: left;
	padding: 3px 2px;
	position: relative;
	top: -2px;
	background-color: rgb(255, 255, 255);
	margin-right: 12px;
	border-radius: 20px;
	box-shadow: 0px 1px 5px 0px rgba(47, 47, 47, 0.7);
	height: 23px;
	width: 25px;
}
#help_buddy_btn #help_buddy_text {
	background-color: transparent;
}
.user_pw_reset #user-registration h5 {
	font-size: 1.7em;
	margin-bottom: 20px;
}
.user_pw_reset #user-registration input {
	border-radius: 5px;
	height: 36px;
}
.row #help_button {
	display: table;
	font-size: initial;
	margin: 0 auto;
}
#admin_import_form .row.help_btn_row {
	margin-top: 50px;
}

.ajaxreg_message {
    background-color: #fff;
    border: 1px solid rgba(0,0,0,0.4);
    box-shadow: 1px 1px 10px;
    display: grid;
    padding: 5px 5px 5px 0;
    position: relative;
    text-align: center;
    width: 300px;
    z-index: 2;
}
.ajaxreg_message > a {
	text-decoration: underline;
}


body .administrators .alert {
	text-align: center;
}
.admin_label {
	font-size: 12.5px;
	font-style: italic;
	font-weight: 600;
	display: inline-block;
	max-width: 100%;
	margin-bottom: 5px;
}
textarea {
	font-weight: normal;
	font-style: normal;
}
.waiver_setup_inst {
	line-height: 20px;
	margin: 20px auto;
}
#copyplan {
	max-width: 500px;
	display: table;
	margin: 0 auto 16px;
}
.waiver_email textarea {
	width: 100%;
}
.waiver_setup_steps {
	display: block;
}
.administrators .help_row {
	margin: 25px auto 0;
}
.administrators #help_button::after {
	content: "";
}
#help_div {
	margin-top: 14px;
	border: 1px solid rgba(000,000,000,0.1);
	border-radius: 4px;
	padding: 10px 10px 4px;
	background-color: #fff;
}
.administrators #plan_waiver_start,
.administrators #plan_waiver_end {
	text-align: center;
}
.client-admin-dashboard #selected_plan,
.admin-waiver-setup #plan {
	width: 100%;
	max-width: 500px;
	display: table;
	margin: 0 auto;
}
#help_div {
	border: 1px solid rgba(000,000,000,0.1);
	border-radius: 4px;
	padding: 10px 10px 4px;
	background-color: #fff;
	margin-top: 14px;
}
.student_waiver_pages .col-single {
	clear: left;
}
#nav_row .nav_buttons {
	background-image: linear-gradient(to top, #148EDD, #5BBCFB);
	color: #fff;
	font-size: 13px;
	line-height: 16px;
	margin: 0 2px;
	max-height: 22px;
	padding: 2px 6px;
	position: relative;
}
#pages_label {
	font-size: 13px;
	padding-right: 10px;
}


/* IFS Admin Waiver Reporting Page */
.administrators h1.header_coded {
/*	position: relative;
	top: -30px; */
}


/* IFS Admin Waiver Report Page */
.admin_waiver_report #total_data_results {
	margin: 20px auto 50px !important;
}
.admin_waiver_report .filter,
.admin_waiver_report #btn_generate_parent {
	float: none;
	margin: 4px auto 8px;
}
.admin_waiver_report #btn_generate_parent {
	position: relative;
	top: -5px;
}
.additional-payments-container {
	background-color: #253762;
}
.additional-payments-container table {
	background-color: #dddddd;
	margin: 5px auto;
}
.additional-payments-container td {
	padding: 3px;
}
.additional-payments-container table {
	background-color: #fff;
}


/* Waiver Pages */
.waiver .nav-bottom button {
	height: 38px;
	padding: 10px 15px;
	text-transform: none;
}
.waiver_step_7 #help_buddy_btn {
	display: table;
	margin: 0 auto;
}


/* Student Dashboard (User Home) Page Additions */
#p_welcome {
	position: relative;
	top: -20px;
}


/* User Home Page Additions: Jan 10, 2022 */
.member-id-card #id_cards {
	display: table;
	margin: 0 auto;
}
.member-id-card #id_cards {
	display: table;
	margin: 0 auto;
}
.member-id-card #id_cards #list_header {
	margin-bottom: 30px;
}
.member-id-card #id_cards .fa-file-pdf::before,
.gbg_id_card_indi .fa-file-pdf::before {
	color: #d04d4d;
	font-size: 17px;
	padding-left: 15px;
	vertical-align: middle;
}
.member-id-card #id_cards #members {
	text-align: center;
}
.member-id-card #id_cards #members .pdf_card_btn {
	display: inline-block;
	margin: 8px 0;
}
.member-id-card #pdf_card_btn_parent {
	display: table;
	margin: auto;
}
.member-id-card #pdf_card_btn_parent .pdf_card_btn {
	display: block;
	position: relative;
	top: 16px;
}
.member-id-card #pdf_card_btn_parent .pdf_card_btn .fa-file-pdf,
.gbg_id_card_indi .fa-file-pdf {
	color: #b94949;
	font-size: 18px;
	padding-left: 10px;
}


/* Aetna Dental Direct */

#aetna_dental_direct {
	max-height: 46vw;
	border-bottom: solid 3px #1398EE;
}
.aetna-dental-direct #top_pic {
	background-clip: content-box;
	background-image: url('/images/aetna-dental-direct/hero3c.jpg');
	background-repeat: no-repeat;
	background-size: contain;
	height: 37vw;
	max-height: 468px;
	min-height: 200px;
	position: relative;
	text-shadow: 1px 1px 1px #fff;
	top: -30px;
}
#top_pic > .h3.text-center {
	padding: 10px;
	position: relative;
	width: 54%;
}
.aetna-dental-direct #btn-1 {
	margin-top: 19px;
}
.aetna-dental-direct .new_row {
	display: inline-block;
	width: 100%;
}
#find_the_best_plan > .col-sm-4 {
	display: table-cell;
	padding: 20px;
}
@media (max-width: 560px) and (min-width: 305px) {
	#aetna_dental_direct {
		margin-bottom: 50px;
	}
}
@media (max-width: 304px) {
	#aetna_dental_direct {
		margin-bottom: 100px;
	}
}
@media (max-width: 767px) {
	.aetna-dental-direct .col-sm-4 {
		border: none !important;
	}
	.col-sm-4 {
	border: none !important;
	}
}
@media (min-width: 612px) {
	#top_pic > .h3.text-center {
		font-size: 25px;
		top: 19%;
	}
}
@media (max-width: 611px) and (min-width: 455px) {
	#top_pic > .h3.text-center {
		font-size: 15px;
		top: 10%;
	}
}
@media (max-width: 454px) and (min-width: 370px) {
	#top_pic > .h3.text-center {
		font-size: 15px;
		top: -5%;
	}
}
@media (max-width: 369px) {
	#top_pic > .h3.text-center {
		font-size: 12px;
		top: -10%;
	}
	.spanWhite {
		white-space: normal !important;
	}
	#top_pic #subtitle {
		font-size: 3.75vw;
	}
}
.aetna-dental-direct #subtitle {
	top: 0;
}
#why_choose_aetna {
	margin-top: 75px;
	clear: left;
}
.footer {
	margin-top: 75px;
	border-top: 1px solid #ccc;
	display: block;
	padding-top: 25px !important;
}
h3 > img {
	margin: 0 auto;
}
@media (min-width: 801px) {
	.vision_coverage {
	background-image: url('/images/slider/mom-kid.png');
	}
}
@media (min-width: 715px) and (max-width: 800px) {
	.vision_coverage {
	background-image: linear-gradient(#e7eaf1, #b8bfc9);
	}
}
@media (max-width: 714px) {
	.vision_coverage > .container {
	background-image: linear-gradient(#e7eaf1, #b8bfc9);
	padding-bottom: 25px;
	}
	.aetna-dental-direct .hero3 {
	margin-top: 80px;
	}
}
@media (max-width: 800px) {
	.vision_coverage .hero-box {
	width: 100%;
	float: none;
	font-size: 94%;
	padding: 10px;
	}
}
.vision_coverage {
	background-repeat: no-repeat;
	background-size: contain;
	background-clip: content-box;
	height: 37vw;
	max-height: 468px;
	min-height: 200px;
	position: relative;
	margin: 60px 0;
}
@media (min-width: 1200px) {
	.vision_coverage .hero-box {
	width: 38%;
/*	float: right; */
	margin-right: 11vw;
	position: relative;
	top: 100px;
	}
}
@media (min-width: 997px) and (max-width: 1199px) {
	.vision_coverage .hero-box {
	width: 38%;
	float: right;
	margin-right: 11vw;
	position: relative;
	top: 8vw;
	}
}
@media (min-width: 992px) and (max-width: 996px) {
	.vision_coverage .hero-box {
	width: 45%;
	float: right;
	margin-right: 8vw;
	position: relative;
	top: 4vw;
	}
}
@media (min-width: 801px) and (max-width: 991px) {
	.vision_coverage .hero-box {
	width: 50%;
	float: right;
	margin-right: 4vw;
	position: relative;
	top: 0%;
	font-size: 94%;
	}
}


/* Dependent ID Cards Page
____________________________________________________________________________ */

.ifs-user-home #rl_modals {
	/* Disabling this for the Access Features and Tools For Your Program modal. Must review the effect this has on ID cards. */
/*	background-color: #fff; */
}


/* Personal Property Insurance Pages (Also at page bottom; must fix this.)
____________________________________________________________________________ */

.lb_damages {
	width: 20%;
	float: left;
	text-align: center;
	line-height: 20px;
	margin-bottom: 50px;
}
.lb_damages > img {
	display: inline;
}
@media (max-width: 418px) {
	.lb_damages {
		font-size: 3vw;
		line-height: 17px;
	}
}
@media (max-width: 499px) {
	.stud_property_ins {
	text-align: center !important;
	}
	.stud_property_ins .video {
	margin-bottom: 25px;
	}
	.column_box {
	background-color: #fff;
	border: 1px solid rgba(0,0,0,0.8);
	box-shadow: 0 0 6px 2px rgba(0,0,0,0.15);
	color: #333;
	display: inline-block;
	height: 250px;
	margin-top: 35px;
	position: relative;
	text-align: center;
	width: 30%;
	}
	.stud_property_ins .column_box {
	display: block;
	width: 100%;
	height: auto;
	}
	.checked_items {
	margin-top: 25px;
	}
	.column_box.box_1 .box_inner,
	.column_box.box_2 .box_inner {
	box-shadow: inset 0 0 3px rgba(0,0,0,0.5), 0 0 6px 2px rgba(0,0,0,0.15);
	height: calc(100% - 90px);
	}
	.column_box.box_3 .box_inner {
	box-shadow: inset 0 0 3px rgba(0,0,0,0.5), 0 0 6px 2px rgba(0,0,0,0.15);
	height: calc(100% - 58px);
	padding: 10px;
	}
	.price {
	font-size: 40px;
	}
	.price > span {
	font-size: 28px;
	position: relative;
	top: -8px;
	}
	.payment_frequency {
	position: relative;
	}
	.column_box.box_1 .payment_frequency {
	top: 14px;
	}
	.column_box.box_2 .payment_frequency {
	top: 20px;
	}
	.coverage_amount {
	font-weight: bold;
	}
	.box_description {
	background-color: #1398EE;
	box-shadow: 0 0 6px 2px rgba(0,0,0,0.15);
	color: #fff;
	font-weight: bold;
	position: relative;
	}
	.column_box.box_3 .box_description {
	height: auto;
	}
	.column_box.box_1 .box_description,
	.column_box.box_2 .box_description,
	.column_box.box_3 .box_description {
	padding: 6px;
	}
	.column_box.box_1 .box_inner, .column_box.box_2 .box_inner {
	height: 100%;
	position: relative;
	padding-top: 15px;
	}
	.buy_now {
	position: relative;
	top: 22px;
	}
	.stud_property_ins .new_line {
	margin-top: 30px;
	}
	.checked_items > .column_box {
	margin-top: 10px;
	}
	.stud_property_ins h3 {
	margin: 54px auto 34px !important;
	top: 13px !important;
	}
}
.image_group_1_l,
.image_group_1_r {
	padding-bottom: 24px;
	position: relative;
}
@media (min-width: 992px) {
	.image_group_1_l, .image_group_1_r {
		display: inline-block;
	}
	.image_group_1_l {
	float: left;
	}
	.image_group_1_r {
	float: right;
	}
}
@media (max-width: 991px) {
	.image_group_1_l,
	.image_group_1_r {
		display: table;
		margin: 0 auto;
		padding-bottom: 24px
	}
}



#member-profile > .controls {
	display: table;
	margin-top: 16px;
	max-width: 171px;
	text-align: center;
}
#member-profile > .controls > .btn.btn-default.button {
	margin-bottom: 10px;
}
#member-profile > .controls > .btn-secondary {
	font-size: 14px;
	padding: 7px 16px;
	text-transform: none;
}
#member-profile > .control-group > .controls {
	margin: 10px auto;
	text-align: center;
	width: 100%;
}


/* Home Page School Search Box
____________________________________________________________________________*/

select#student_type {
	border: 1px solid rgba(0,0,0,0.9);
	box-shadow: 0 0 4px 4px rgba(0,0,0,0.3);
	display: table;
	font-size: 17px;
	height: 35px;
	margin: 0 auto;
	width: 460px;
}
/* This line is commented out because it was causing the sliding elemsntd to place off-center
.students #slider .elementor-container.elementor-column-gap-default.elementor-534 {
	max-width: 100%;
} */
.students #slider .combobox-container .input-group {
	display: block;
}
.students #slider .elementor-element.elementor-element-74d1be66.elementor-widget.elementor-widget-elementskit-heading.animated.fadeInDown {
	margin-top: 110px;
}


/* All or Multiple Pages
____________________________________________________________________________*/
@media (min-width: 993px) {
	.body-wrapper.off-canvas-menu-wrap {
		background-color: #3e4748;
	}
}
.container {
	max-width: 99%;
}
.sp-contact-info {
	float: none;
	font-size: 15px;
}
.sp-contact-info li i {
	color: #5ed2ff;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}
.sp-contact-info li i:hover {
	color: #337ab7;
}
#sp-main-body {
	margin-top: 30px;
	padding-bottom: 20px;
}
.wide-space, .wide_space {
	padding-right: 0.3em;
}
.collapse {
	display: inline-block;
}
body:not(.is_fullwindow) .btn, .sppb-btn {
	padding: 11px 12px;
	white-space: normal;
}
.label {
	color: #333;
}
#sp-left {
	margin-bottom: 50px;
}
@media (min-width:1200px) {
	.container { width:1200px }
}
@media (min-width:1275px) {
	.container { width:1275px }
}
.ifs-content .intro {
	margin: 20px 0 30px;
}
div.ifs-content {
	clear: both;
}
ul, ol {
	list-style-position: outside;
}
.debug {
	background-color: #FFFFFF;
	border: 1px solid red;
	color: #000000 !important;
	font-family: Monaco;
	font-size: 10px;
	font-weight: normal;
	margin: 0;
	padding: 0;
	text-align: center;
	text-shadow: none !important;
}
.generate-url {
	display: block;
	text-align: center;
	color: rgba(0,0,0,0.4);
}
.mono-font {
	font-family: "Lucida Console", Monaco, Courier, monospace;
}
.ifs-highlight {
	color: red;
}
.program-tool-link > .coming_shortly {
	padding: 0;
}
.coming_shortly, .coming_soon {
	color: #337ab7;
	display: inline-block;
	padding: 5px 10px;
	position: relative;
}

.coming_shortly .tooltiptext, .coming_soon .tooltiptext {
	background-color: #414141;
	border: 1px solid rgba(255,255,255,0.5);
	border-radius: 6px;
	bottom: 125%;
	color: #fff;
	left: 50%;
	margin-left: -60px;
	opacity: 0;
	padding: 5px 0;
	position: absolute;
	text-align: center;
	transition: opacity 0.3s;
	visibility: hidden;
	width: 120px;
	z-index: 1;
}

.coming_shortly .tooltiptext::after, .coming_soon .tooltiptext::after {
	border-color: #555 transparent transparent transparent;
	border-style: solid;
	border-width: 5px;
	content: "";
	left: 50%;
	margin-left: -5px;
	position: absolute;
	top: 100%;
}

.coming_shortly:hover .tooltiptext, .coming_soon:hover .tooltiptext {
	opacity: 1;
	visibility: visible;
}
.footer_bottom {
	line-height: 18px;
}
.footer_bottom > p {
	margin-bottom: 5px;
}
.footer_bottom #trustwaveSealImage {
	margin-bottom: 12px;
}
.no_line_break {
	white-space: nowrap;
}
.sp-lr {
	margin-top: 10px;
}
#sch-name-hdr {
	color: #253762;
	font-size: 1.5rem;
	margin-bottom: 50px;
	text-align: center;
	text-transform: none;
}


/* Sidebar Modules
____________________________________________________________________________*/
.input-group-addon.hasTooltip {
	padding: 4px 2px;
	display: table-cell !important;
}
.sp-module .sp-module-title, .sppb-addon-module .sp-module-title {
	color: #253762;
}
.menuins-plans .current a {
	font-weight: bold;
}
.sidebar #google_translate_element {
	background: none;
	border: none;
	box-shadow: none;
	color: #fff;
	max-width: 100px;
}
.sidebar .skiptranslate.goog-te-gadget, .sidebar .goog-logo-link {
	color: #fff !important;
}
@media (max-width: 991px) {
	.sidebar .goog-te-combo {
	max-width: 130px;
	}
}
@media (max-width: 1199px) {
	.sidebar .goog-te-combo {
	max-width: 175px;
	}
}
.sp-module.welcome {
	text-align: center;
}
.sp-module.welcome > h3 {
	margin: 20px auto 15px;
	padding: 0 15px 0 0;
}
.sp-module.welcome .sp-module-content {
	font-size: 14.5px;
	line-height: 22px;
}


/* Home Page
____________________________________________________________________________*/
.ifs-home .select-year {
	display: table;
	margin: 0 auto -16px;
}
.sp-image-container {
	background-color: #000;
}
.sppb-addon h3.sppb-addon-title::after {
	background: #337ab7;
	width: 100%;
}
#contact-us-form .sppb-addon-content {
	color: #fff;
}
#contact-us-form .sppb-addon-gmap > .sppb-addon-content {
	border: 1px solid rgba(0,0,0,0.4);
}
.itemid-256 #sp-main-body {
	position: relative;
	top: -1px;
}
#home-page-parallax .sppb-addon-content {
	max-width: 1170px;
	margin: 0 auto;
}
#home-page-parallax .sppb-column {
	border-top: 5px solid rgba(150,150,150,0.7);
	border-bottom: 5px solid rgba(150,150,150,0.7);
}
#why-choose-us .sppb-addon.sppb-addon-text-block {
	max-width: 1170px;
	margin: 0 auto;
	text-align: justify;
}
#home-page-parallax p {
	font-size: 42px;
	line-height: 48px;
	margin: 72px 0 0;
	text-align: center;
}
#home-page-parallax .sppb-addon-title {
	text-align: center;
}
#about-ifs {
	background-image: url('/images/pagebuilder/backgrounds/blur-bckg-1.jpg');
	background-size: cover;
	line-height: 30px;
	text-align: center;
	text-shadow: 1px 1px 1px rgba(255,255,255,0.8);
}
#about-ifs .sppb-row {
	background: rgba(255,255,255,0.5);
	padding: 20px 20px 0;
}
#about-ifs p {
	margin: 22px 0;
}
#about-ifs p > em {
	font-size: 21px;
}
#about-ifs ul {
	list-style: none;
	padding: 0;
}
#contact-us-text .sppb-addon-title {
	text-align: center;
	margin-bottom: 20px;
}
#contact-us-text .sppb-column {
	color: #333;
	padding: 40px 2px 20px;
	text-align: justify;
	text-align-last: center;
}
.sign-off {
	border-top: 1px solid rgba(35,79,117,0.5);
	font-size: 16px;
	margin-top: 25px;
	padding-top: 20px;
}
#contact-us-text h3 {
	text-align: center;
	margin: 20px 0;
}
#contact-us-form .sppb-icon {
	display: inline-block;
	font-size: 36px;
	position: relative;
	top: -14px;
}
#contact-us-form .sppb-addon-text {
	display: inline-block;
}
#contact-us-form .column-middle-map {
	margin-top: 30px;
	box-shadow: 0 0 5px 1px rgba(0,0,0,0.7);
}
#contact-us-form .sppb-text-left {
	text-align: center;
}


/* Featured Plans Module (Home Page, User Home Page)
____________________________________________________________________________*/
#sp-featured-plans {
	background-color: #fff;
}
.ifs-home #sp-featured-plans {
	/* This is the Featured Plans module displaying for a 2nd time on the Home Page. */
	display: none;
}
.ifs-user-home #sp-divider-space-dark-diagonal-lines-down-right {
	margin-bottom: 0;
}


/* Main Menu
____________________________________________________________________________*/

.sp-dropdown.sp-dropdown-main.sp-menu-right {
	/* Keep the sub-menu items above the search text field */
	z-index: 3;
}
/* This limits the Main Menu levels to 1 and 2 */
#sp-menu .sp-dropdown-items > .sp-has-child > a ul,
#sp-menu .sp-dropdown-items > .sp-has-child > .sp-dropdown-sub,
#sp-menu .sp-dropdown.sp-dropdown-main > .sp-dropdown-inner > .sp-dropdown-items > .sp-menu-item.sp-has-child > .sp-dropdown.sp-dropdown-sub > .sp-dropdown-inner {
	display: none;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items .sp-has-child > a::after,
.sp-megamenu-parent .sp-dropdown .sp-dropdown-items .sp-has-child > a:hover::after {
	content: "";
}
.sp-menu-item.sp-has-child.active > a {
	font-weight: inherit;
}


/* Waiver & Opt-In Pages
____________________________________________________________________________ */

.enroll_form > .optin-button, .enroll_form > .waiver-button, .enroll_form > .enroll-button {
	margin: 20px 30px;
}
.school_585 .is_athlete.col-r {
	display: none !important;
}
.has_required_fields {
	border: 1px solid red !important;
}
.ifs-form-required {
	border: 1px solid red !important;
}
select,
textarea,
input[type="text"]:not(.el-select__input),
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	border: 1px solid #cacaca;
}
@media (min-width: 500px) {
	.school_585 #dob,
	.school_585 #phone_athlete {
		width: 46%;
		display: inline-block;
	}
	.school_585 #dob {
		display: inline-block;
	}
	.school_585 .phone_number.col-l {
		width: 100%;
		display: inline-block;
	}
	.school_585 #dob {
		padding-left: 7.5%;
	}
}
@media (min-width: 992px) {
	.school_585 #dob {
	width: 53.5%;
	}
}
@media (min-width: 500px) and (max-width: 991px) {
	.school_585 #dob {
		width: 51%;
	}
}


/* Colleges & Universities Page
____________________________________________________________________________*/

.ifs-schools.schools_list #fading-header #sp-header {
/* Hide the fading header on this page, as it renders the jump-menu useless. */
	display: none;
}
#year_selector {
	/* We're no longer hiding this for the start of the 2018-2019 school year. */
/*	display: none; */
}
.schools-not-listed > .sp-module-title {
	padding-right: 0;
	margin-bottom: 40px;
}
.ifs-schools .schools-not-listed li {
	border-bottom: none;
}
.schools-not-listed-2017 > .sp-module-title::after {
	background: transparent;
	content: "2017 - 2018 School Year";
	font-size: 90%;
	height: 24px;
	top: -7px;
	width: 100%;
}
.schools-not-listed-2018 > .sp-module-title::after {
	background: transparent;
	content: "2018 - 2019 School Year";
	font-size: 90%;
	height: 24px;
	top: -7px;
	width: 100%;
}
.sp-module.sidebar.schools-not-listed a {
	color: #fff;
}
.sp-module.sidebar.schools-not-listed a:hover {
	color: #d4d4d4;
}
.select-year {
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
	color: #333;
	margin-bottom: -16px;
	padding: 5px;
}
h3.select-year {
	margin-top: 5px;
	text-align: center;
}
.select-year {
	border: 1px solid rgba(0, 0, 0, 0.3);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
	color: #fff;
	margin-bottom: -16px;
	padding: 5px;
}
.select-year > form {
	display: table;
	margin: 0 auto;
	padding: 5px;
	text-align: center;
}
.select-year > div {
	text-align: center;
}
.schoolyear > label {
	font-size: 90%;
	padding: 0 15px;
}
h3.select-year {
	margin-top: 5px;
	text-align: center;
}
#school_year > div {
	margin: 40px 0 20px;
	text-align: center;
}
#school_year label:nth-child(1) {
	padding-right: 20px;
}
table.zebra {
	border: 1px solid rgba(0, 0, 0, 0.5);
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}
table.zebra .odd:first-child {
	border: 1px solid #989696;
}
table.zebra .odd {
	background: rgba(0, 0, 0, 0.05) none repeat scroll 0 0;
}
table.zebra .even {
	background: #fff none repeat scroll 0 0;
}
#colleges > tbody > .even:nth-child(2) {
/*	display: none; */
}
table.zebra tr {
	display: block;
	max-width: 94vw;
}
body ul.zebra > li, table.zebra tbody td {
	border-bottom: 1px solid rgba(0, 0, 0, 0.24);
	display: inline-block;
	padding: 5px;
	width: 100%;
}
table.zebra td {
	font-size: 13px !important;
}
.benefits-table-header, tr td {
	max-width: 100%;
	white-space: normal;
}
.ifs-schools table.zebra td * {
	vertical-align: bottom !important;
}
.jumpMenu {
	text-align: center;
	padding: 0 0 10px;
}
.jumpMenu p {
	color: #fff;
	font-style: italic;
	letter-spacing: 1px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}
.jumpMenu select {
	margin: 0 auto;
	max-width: 91vw;
	text-align: center;
}
.ifs-schools a.plan {
	display: block;
	white-space: nowrap;
	width: 100% !important;
}
.sch_name {
	color: #333;
	float: left;
}
.sch_type {
	float: right;
}
.ifs-schools .pad-and-center, .ifs-allied-health-career-school-plans .pad-and-center {
	font-size: 12px;
	padding-top: 20px;
	text-align: center;
}
.ifs-schools #sp-right .sidebar.schools-not-listed {
	display: block;
	float: left;
	max-width: 25%;
	padding: 1%;
	position: fixed;
	width: 290px;
}


/* Enrollment, International Student Plans & Details Pages
____________________________________________________________________________*/

.unique_login_notice {
	background-color: rgba(116, 222, 255, 0.05);
	border: 1px solid #148EDD;
	border-radius: 4px;
	font-size: 18px;
	line-height: 24px;
	margin: 20px auto;
	max-width: 750px;
	padding: 4px 14px;
	text-align: center;
}
.redirect-for-age.plans-group.margin-bottom {
	text-align: center;
}
h2.enroll-pages {
	text-align: center;
	display: table;
	margin: 20px auto;
}
.isp-cusblurb {
	margin: 25px 0;
}
.cov-rating {
	font-size: 90%;
}
#covrg-inner > #dates label {
	color: #333;
	display: inline-block;
	font-weight: bold;
	margin-bottom: 5px;
}
#coverage .subLabel {
	line-height: 14px;
}
.div-header h2 {
	color: #ffffff;
	display: table-cell;
}
.tbl-points > li {
	list-style: outside none none;
}
table.rate-tbl {
	background-color: #333333 !important;
	border-collapse: collapse;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.99);
	color: #fff;
	margin: 0 auto;
	text-rendering: optimizelegibility;
}
table.rate-tbl {
	border-collapse: collapse;
	color: #fff;
	text-rendering: optimizelegibility;
}
table.rate-tbl thead {
	background: #404d59 none repeat scroll 0 0;
	border: 1px solid rgba(255, 255, 255, 0.4);
	color: #fff;
	font-weight: bold;
	letter-spacing: 0.5px;
	text-shadow: none;
}
table.rate-tbl thead th, table.rate-tbl thead td {
	padding: 5px 8px;
}
table.rate-tbl > thead td, table.rate-tbl > thead th {
	line-height: 17px;
	vertical-align: bottom;
}
table.rate-tbl td {
	padding: 0 8px;
}
.benefits-table-header, tr td {
	max-width: 100%;
	white-space: normal;
}
table.rate-tbl tbody tr:not(:last-child) {
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
.rate-tbl > caption {
	color: #fff;
	font-size: 14px;
	padding: 2px 0;
	text-align: center;
}
.term-name {
	font-weight: bold;
}
.ifs-content .videos ul {
	margin-left: 0;
	padding-left: 0;
}
.btn-left > .btn.btn-primary,
.btn-right > .btn.btn-primary {
	margin-bottom: 10px;
}
.ifs-button .term {
	border-top: solid 0.5px rgba(255,255,255,1);
	display: block;
	margin-top: 3px;
}


/* Landing Pages
____________________________________________________________________________*/
.rate-tbl > caption {
	font-size: 12px;
	padding-bottom: 5px;
	white-space: nowrap;
}
.rate-tbl tbody td {
	white-space: nowrap;
}


/* Datepicker Popup Calendars
____________________________________________________________________________*/

.ui-datepicker-calendar {
	text-align: center;
}
.ui-widget-content {
	background: #414141;
/*	background: #668093; */
/*	background: #757575; */
}
.ui-datepicker-month, .ui-datepicker-year {
	max-height: 1.9em;
}
.ui-datepicker-calendar th > span {
	color: #fff;
}
.ui-datepicker-calendar .ui-state-default {
	color: #64a6cb;
}
.ui-state-default.ui-state-active {
	color: #fff;
}
#ui-datepicker-div {
	border: 0.5px solid rgba(0,0,0,0.9);
	box-shadow: 0 0 8px;
	font-size: 85%;
	line-height: 1.2em;
}
.ui-datepicker .ui-datepicker-calendar th {
	padding: .3em;
}
#ui-datepicker-div select,
textarea,
input[type="text"]:not(.el-select__input),
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
	padding: 1px 4px;
}


/* Acknowledgement Page
____________________________________________________________________________*/
#acknowledge > #submit {
	display: block;
	height: auto;
	margin: 24px auto 0;
	max-width: 100%;
	white-space: normal;
}
#acknowledge > input, #acknowledge > .btn {
	display: table;
	margin: 8px auto 0;
}


/* Forms
____________________________________________________________________________*/

select {
	font-size: 14px;
}
.subLabel {
	font-size: 80%;
	font-style: italic;
}
input[type="text"],
input[type="password"],
input[type="email"] {
	display: inline-block;
	font-size: 13.5px;
	height: 26px;
}
.skip_bs_adj input[type="text"],
input[type="password"],
.ifs-user-login input#username,
input[type="email"] {
	/* override the above rule and reset back to default bootstrap */
	height: 34px;
}
#coverage .inputbox {
	font-size: 13px;
}
input, textarea {
	color: #333;
}
input[type="button"], input[type="submit"] {
	background-color: #fff;
	border: 0 solid #fff;
	border-radius: 4px;
	box-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
	color: #000000;
}
div.avail-progs {
	clear: right;
	margin-top: 50px;
}
.form-actions, .label {
	background-color: transparent;
}
.ifs-button > input {
	display: block;
	margin: 0 auto;
}
/* Side-by-side yellow boxes */
@media (min-width: 640px) {
	.avail-progs.plan1of4, .avail-progs.plan2of4, .avail-progs.plan3of4, .avail-progs.plan4of4 {
		float: left;
		width: 24%;
	}
	.avail-progs.plan1of3, .avail-progs.plan2of3, .avail-progs.plan3of3 {
		float: left;
		width: 30%;
	}
	.avail-progs.plan1of2, .avail-progs.plan2of2 {
	float: left;
	width: 47.5%;
	}
	/* This must be rearanged when the order of linkid numbers is corrected for the 17-18 year. */
	.avail-progs.plan1of4, .avail-progs.plan2of4, .avail-progs.plan3of4 {
		margin-right: 1%;
	}
	.avail-progs.plan1of3, .avail-progs.plan2of3, .avail-progs.plan1of2 {
	margin-right: 5%;
	}
	.plan1of4 .ifs-button, .plan2of4 .ifs-button, .plan3of4 .ifs-button, .plan4of4 .ifs-button,
	.plan1of3 .ifs-button, .plan2of3 .ifs-button, .plan3of3 .ifs-button,
	.plan1of2 .ifs-button, .plan2of2 .ifs-button {
		display: table;
		float: none;
		margin: 10px auto 0;
		text-align: center;
	}
}
@media (min-width: 992px) {
	.plan1of1 .ifs-button {
/*		position: absolute; */
	}
	.plan1of1 .tbl-links {
	padding: 0 100px;
	}
	.plan1of1 > .plans-group > .td-highlight, .plan2of1 > .plans-group > .td-highlight {
		padding-left: 10%;
		padding-right: 10%;
	}
}
@media (min-width: 1200px) {
	.plan1of1 > .plans-group > .td-highlight, .plan2of1 > .plans-group > .td-highlight {
		padding-left: 20%;
		padding-right: 20%;
	}
}
.js-calendar {
/* This is the default Joomla calendar, which we replace with jQuery Datepicker. */
/*	display: none !important; */
}
.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
	color: #555;
	display: inline-block;
	margin: 1px 1px;
	width: 48%;
}
.validate-date {
/*	max-width: 7em; */
}
input, select {
	max-width: 100%;
}
form dt {
	max-width: 50%;
}
.checkbox input[type="checkbox"], .checkbox-inline input[type="checkbox"], .radio input[type="radio"], .radio-inline input[type="radio"] {
	position: relative;
}

/* 220731: This works for Joomla User Profile Update. Must watch that it's not problematic elsewhere. */
.checkbox label, .radio label {
	padding-left: 5px;
	padding-right: 15px;
}
#member-profile .radio input {
	position: relative;
	top: -2px;
}

fieldset.radio label {
	margin-right: 0;
}


/*	Registration/Login Page
____________________________________________________________________________*/
.ifs-content > #login-link {
	font-style: italic;
	text-align: center;
}
#personal > h3 {
	margin-top: 40px;
	text-align: center;
}
#rows-additional, #row-name-f, #rows-password, #rows-email, #rows-additional > dl {
	margin: 0;
}
#ifs-enroll #member-registration dl {
	display: block;
	margin: 0 auto;
	max-width: 450px;
}
#member-registration dt label {
	float: right;
	line-height: 14px;
	margin-top: 9px;
	padding-right: 10px;
	text-align: right;
}
#member-registration label {
/*	white-space: nowrap; */
}
#member-registration #rows-password {
	margin: 1px auto 14px;
}
#member-registration > h4 {
	display: table;
	margin: 20px auto;
}
.registration .ifs-alert {
	margin: 10px auto;
	text-align: center;
	display: table;
}
#member-registration .button {
	float: none !important;
}
@media (min-width: 768px) {
	#login-link {
	display: none;
	}
}
#member-registration > #fields-loop-13 > .control-group {
	display: inline-block;
	position: relative;
	left: -98px;
}


/* User Registration Page & Forms
____________________________________________________________________________*/
.ifs-user-login .login-wrapper > .col-sm-6.col-sm-offset-3 {
	display: table;
	margin: 0 auto;
	width: 100%;
}
#login_link,
#usa_based_address_blurb {
	border-bottom: 1px solid #148EDD;
	margin: 5px 0;
	padding-bottom: 7px;
}
.mod-login-logout .add-on label {
	line-height: 24px;
}
#register_link,
#login_link,
#usa_based_address_blurb,
#school_email_required_blurb {
	border-top: 1px solid #148EDD;
	font-size: 14px;
	line-height: 20px;
	margin: 0;
	padding: 5px 20px;
	text-align: center;
	text-transform: none;
}
h4#school_email_required_alert {
	font-size: 16px;
	font-weight: 500;
	line-height: 22px;
	margin: 0 auto 10px;
	max-width: 800px;
	padding: 0 1px;
	text-align: center;
	text-transform: none;
}
#school_email_required_alert span {
	font-weight: bold;
	padding: 0 1px;
}
.blurb_login_register {
	background-color: rgba(0, 0, 0, 0.02);
	border-bottom: 1px solid #148EDD;
	border-top: 1px solid #148EDD;
}
#member-registration .msg.error.email-domain-message {
	display: contents;
}

#member-registration dd .radio.gender input:first-child,
#member-registration dd .radio.stud_id_bool input:first-child {
	margin-left: 5px !important;
}
@media (min-width: 1200px) {
	#loop-1310 fieldset, #loop-1311 fieldset {
		display: flex !important;
		width: 175px;
	}
}
@media (max-width: 1199px) {
	#loop-1310 fieldset, #loop-1311 fieldset {
		display: flex !important;
		width: 135px;
	}
}
#loop-1311 > dt > label {
	max-width: 100px;
	white-space: normal;
}
#member-registration .radio label {
	padding-left: 0;
}
.login-register.student {
	background-color: #f2f2f2;
}
.registration.login-register.student {
	background-color: #fbfbfb;
}
.login-register #sp-component #member-registration dt,
.login-register #sp-component #member-registration dd {
	margin: 5px 0 0 0;
}
.login-register #sp-component #member-registration fieldset {
	display: contents;
	margin-top: 0;
}
.login-register #sp-component #member-registration input[type="text"],
.login-register #sp-component #member-registration input[type="password"],
.login-register #sp-component #member-registration input[type="email"],
.login-register #sp-component #member-registration select {
	border-radius: 3px;
	height: 33px;
	max-width: 100%;
	width: 190px;
}
.login-register #sp-component #member-registration #captcha {
	border-radius: 3px;
	height: 33px;
}
.registration.login-register > h3 {
	text-align: center;
}
.registration {
	background-color: #fff;
	border-radius: 5px;
	box-shadow: 0 0 6px 2px rgba(0,0,0,0.15);
	width: 50%;
}
.login-register .registration {
	float: right;
}
.itemid-319 .sp-page-title-no-img {
	height: auto;
	padding: 50px 0 25px;
}
.itemid-319 #sp-main-body {
	padding-top: 0;
}
.itemid-319 .registration {
	display: table;
	margin: 0 auto;
	padding-top: 50px;
}
sp-component .registration.login-register {
	display: table-footer-group;
	float: right;
	margin: 25px 0;
}
@media (max-width: 767px) {
	.login-register .mod-login-logout,
	.login-register .registration {
		float: none;
		left: 0;
		width: auto;
	}
	.login-register .mod-login-logout {
	padding: 2vw;
	}
	.login-register .registration {
	display: table;
	margin: 25px auto;
	}
	padding: 0;
}
@media (max-width: 500px) {
	.login-register .mod-login-logout {
		left: 0;
		margin: auto;
		padding: 3vw;
	}
}
#member-registration input {
	width: 226px;
}
#member-registration .gender > input {
	margin: 9px 2px 0 0 !important;
	width: auto;
}
#member-registration .gender > label {
	font-size: 13px;
	margin-top: 6px;
	padding-right: 5px;
}
#member-registration .stud_id_bool input {
	width: 14px;
}
#member-registration .stud_id_bool input:nth-of-type(2) {
	margin-left: 5px !important;
}
#member-registration label .red {
	color: red;
}
@media (min-width: 1275px) {
	#member-registration #loop-1310 > dd > .valid,
	#member-registration #loop-1311 > dd > .valid {
		display: inline-block;
		margin: 11px 0 0 33px !important;
	}
}
@media (max-width: 1274px) {
	#member-registration #loop-1310 > dd > .valid,
	#member-registration #loop-1311 > dd > .valid {
		display: inline-block;
		margin: 11px 0 0 22px !important;
	}
}
#member-registration .required_fields_notice dd {
	display: none;
}
#member-registration .required_fields_notice > dt {
	width: 100% !important;
}
#member-registration .required_fields_notice > dt label {
	font-size: 13px;
	padding: 0 0 15px;
}
#member-registration legend {
	display: none;
}
#member-registration fieldset dt {
	clear: left;
	margin: 6px 0;
	float: left;
	width: 13em;
}
.field-calendar {
/*	float: left; */
}
.field-calendar button {
	background-color: #009ae0;
	line-height: 24px;
}
dd .icon-calendar {
	color: #fff;
	font-size: 17px;
	line-height: 18px;
	width: 13px;
}
#member-profile select {
	height: 30px;
}
#member-registration {
	display: table;
	margin: 10px auto;
	padding: 10px 25px;
}
.ifs-user-login #member-registration {
	/* Generic Registration Page Only */
	max-width: 100%;
	width: 600px;
}
.enrollment_2 #member-registration #loop-extra2 > dd,
.optin-step-two #member-registration #loop-extra2 > dd,
.waiver-step-two #member-registration #loop-extra2 > dd {
	/* Enrollment 2, Opt-in 2, Waiver 2: 'My address is in the US' checkbox */
	margin-top: 0 !important;
	top: -5px;
}
#member-registration fieldset {
	max-width: 95vw;
}
#member-registration .student_profile {
	margin-top: 20px;
}
#member-registration .buttons.form-actions {
	text-align: center;
}
#member-registration dd > input, #member-registration dd > select, #member-registration dd > label {
	display: table-cell;
}
#member-registration dd > input, #member-registration dd > select {
	color: #444;
	max-width: calc(100% - 1.8em);
	min-height: 33px;
	width: 226px;
}
#member-registration dd > .combobox-container input {
	max-width: none;
	width: 123px;
}
#member-registration #captcha {
	width: 150px !important;
}
#member-registration #loop-1310 .radio.gender {
	margin: 2px;
	width: 141px;
}
#member-registration dd {
	float: left !important;
	margin: 3px 0;
	max-width: 50%;
}
#member-registration dd > label {
	max-width: 1.5em);
}
#member-registration .field_go_green dd fieldset {
	display: block !important;
	width: 190px;
}
#member-registration .field_go_green dd fieldset .go_green {
	display: block;
	margin: 5px auto -5px;
	width: 100%;
}
#member-registration .field_go_green dd fieldset .go_green .form-check {
	display: inline-table;
	width: 60px;
}
#member-registration .field_go_green dd fieldset .go_green .form-check input {
	width: 15px !important;
}
#sp-component #member-registration .msg.error {
	background: none;
	border: none;
	color: #f03c3c;
	display: table;
	float: none !important;
	font-size: 13px;
	font-weight: normal;
	margin: 0 !important;
	position: initial;
	padding: 1px 0 0 0;
	text-indent: 0;
	transform: none;
	white-space: nowrap;
}
#member-registration .non_usa_address {
	max-width: 14px;
	min-height: 14px;
	position: relative;
	top: 7px;
}
#member-registration .ar-info p a {
	/* Password Reset button */
	max-width: 144px;
	padding: 5px;
}
.user_pw_reset .form-validate input.required {
	border-radius: 5px;
	width: 300px;
}
#fs-loop-fields-0 > a {
	/* Privacy Policy link */
	float: left;
	max-width: 197px;
	text-align: right;
	width: 47%;
}


/*	User Home Page
____________________________________________________________________________*/
.ifs-user-home #system-message > .alert.alert-error {
	display: none;
}
#system-message-container .alert-error {
	color: #444;
	background-color: #fdfdfd;
	border-color: #a49f9f;
	text-align: center;
}
.alert.alert-warning {
	margin-bottom: 0;
}
.ifs-user-home .item.item-page.item-featured {
	display: table;
	text-align: center;
}
.ifs-user-home .entry-header > h2 {
	margin: 0 auto;
	padding-right: 0;
}
.ifs-user-home .item-page div:nth-child(3) {
	display: table;
	text-align: center;
}
.ifs-user-home .item-page div:nth-child(3) ul {
	list-style: none none outside;
	margin-left: 0;
	padding-left: 0;
}
.ifs-user-home #sp-main-body {
	padding-bottom: 0;
}
.ifs-user-home #sp-component hr {
	margin-bottom: 0;
}

#sp-divider-space-dark-diagonal-lines-down-right {
	left: -0.5%;
	margin-bottom: 50px;
	position: relative;
	width: 101%;
}
#sp-divider-space-dark-diagonal-lines-down-right > .container {
	width: inherit;
}
#sp-position2 {
	background-attachment: inherit;
	background-color: #2e2e2e;
	background-image: url(/images/svg/section-background-stripes2.svg);
	background-position: 50% 50%;
	background-repeat: repeat;
	background-size: inherit;
	color: #ffffff;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	margin-left: 0px;
	padding-bottom: 25px;
	padding-left: 25px;
	padding-right: 25px;
	padding-top: 25px;
}
#policy_pdf {
	border: 1px solid #ddd;
}
@media (min-width: 992px) {
	.ifs-user-home .col-md-8 {
		position: relative;
	}
}
.ifs-user-home .col-md-8 .text-link {
	display: grid;
}
@media (max-width: 991px) {
	.dashboard_img {
		display: table;
		margin: 0 auto;
		max-width: 172px;
	}
	#ifs_page_body > .row > .col-md-6,
	.administrators .row > .col-md-6 {
		margin-bottom: 20px;
	}
	#ifs_page_body > .row > .col-md-12,
	.administrators .row > .col-md-12 {
		display: none;
	}
	.col-md-8 > p {
		margin: 0;
	}
}
#sp-page-builder .sp-pagebuilder-page-edit {
	/* Hide front-end editing option from User Administrator users (IFS staff). */
	display: none;
}
.ifs-user-home .edit-article.pull-right {
	/* Hide the article-edit tool, which displays when the page width is under 500px. */
	display: none;
}


/* User Login Page, IFS Administrators User Manager Login Page
____________________________________________________________________________*/
/* Main User Login Page (/login) */
.ifs-user-login .loginifs-user-login {
	display: table;
	margin: auto;
}
.ifs-user-login .loginifs-user-login .form-links {
	display: none;
}
.ifs-user-login .loginifs-user-login .login-description {
	display: table-footer-group;
}
.ifs-user-login .loginifs-user-login .login-description .main_login_link {
	background-color: #1398EE;
	display: block;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-align: center;
}

.loginifs-user-login input, .loginifs-admin-login input {
	padding: 3px 5px;
}
.loginifs-user-login input#remember, .loginifs-admin-login input#remember {
	margin-left: 0;
}
.loginifs-user-login #username, .loginifs-user-login #password {
	background-color: #f2f2f2;
}
.ifs-user-login .form-validate, .ifs-admin-login .form-validate {
	margin: 50px 0;
}
.loginifs-user-login .btn {
	display: table;
	margin: 10px auto !important;
}
.loginifs-user-login .checkbox {
	display: table;
	margin: 10px auto;
}
.loginifs-user-login .checkbox label {
	padding: 0 5px;
}
.ifs-user-login .form-footer { /* Hide 'New Here? Create an account' */
	display: none;
}
#sp-main-body .loginifs-user-login input {
	border-radius: 3px;
	margin: 10px auto;
	max-width: 100%;
}
.loginifs-admin-login .form-footer {
	display: none;
}
.ifs-admin-login .form-validate, .ifs-user-login .form-validate {
	background-color: #fff;
	border: 1px solid rgba(0,0,0,0.4);
	box-shadow: 0 0 10px 6px rgba(0,0,0,0.3);
	margin: 50px auto 50px auto;
	max-width: 400px;
	padding: 20px 35px 13px 35px;
	text-align: center;
}
.ifs-administrators .item-page > div {
	display: table;
	text-align: center;
}
.ifs-administrators .school-logo {
	margin: auto;
}
.ifs-administrators input {
	margin: 25px auto;
}
.ifs-administrators input[type="text"], .ifs-administrators input[type="password"] {
	min-width: 275px;
	text-align: center;
}
.ifs-administrators #password {
	margin: 50px 0 0;
}
.ifs-administrators #submit_password {
	margin-top: 10px;
}
.ifs-administrators .enroll-link {
	border-top: 1px solid rgba(0,0,0,0.15);
	margin: 60px auto 10px;
	padding-top: 25px;
}
.ifs-administrators .enroll-link > a {
	color: #444;
	font-size: 40px;
	font-weight: 200;
	line-height: 40px;
}
.ifs-administrators .enroll-link > a:hover {
	color: #337ab7;
}
.ifs-receipts-list h4.user-pages {
	margin-bottom: 50px;
}
.ifs-receipts-list #back-btn {
	margin-top: 50px;
}
.ifs-receipts-list .user_receipt {
	display: inline-block;
	line-height: 17px;
	letter-spacing: 0.5px;
	font-size: 15px;
}
.ifs-receipts-list img.receipts {
	display: inline;
	position: relative;
	top: -5px;
}


/* Header Tags, Site-wide */

.ifs-user-login h2.title {
	color: #253762;
	display: table;
	font-size: 30px;
	font-weight: 400;
	margin: 0 auto 10px;
	text-align: center;
	text-shadow: 1px 1px 1px #fff;
}
.ifs-user-login h2.title::after {
	background: #253762 !important;
	content: "" !important;
	float: left !important;
	height: 1px !important;
	margin: 6px 30% 0 0 !important;
	width: 100% !important;
}
h2#subtitle, #contact-us-text h2 {
	background-clip: text;
	color: #6c6b6b;
	font-size: 21px;
	letter-spacing: 0.2em;
	position: relative;
	text-align: center;
	text-shadow: 1px 1px 2px rgba(255,255,255,0.5);
	top: -30px;
}
h2#subtitle::before, #contact-us-text h2::before {
	content: "\2014\00a0";
}
h2#subtitle::after, #contact-us-text h2::after {
	content: "\00a0\2014";
}
#contact-us-text h2 {
	margin-top: 50px;
}
#contact-us-form h3 {
	color: #fff;
	padding-right: 0;
}
.sub_header {
	color: #253762;
	display: block;
	margin: 30px auto;
	text-align: center;
}


/*	All Pages
____________________________________________________________________________*/

body label {
	font-size: 14px;
	font-style: italic;
	font-weight: 600;
}
blockquote {
	border-left: none;
	font-size: inherit;
	margin: 0;
}
body input.focus, .required_field_empty {
	border: 1px solid red !important;
	box-shadow: inset 0 1px 4px rgba(131, 0, 0, 0.5) !important;
}
@media (max-width: 500px) {
	h2#subtitle {
		font-size: 18px;
	}
	padding: 0;
}

label > .star,
.h3_subtext > .star,
.gdpr_reg_checkbox span /* for GDPR extension */ {
	color: red;
	font-weight: normal;
}
.h3_subtext > .star {
	font-size: 1.5em;
	position: relative;
	top: 5px;
}
.body-innerwrapper > #sp-top-bar {
	background-color: #253762 !important;
	border-bottom: 0.5px solid rgba(255,255,255,0.5);
}
body:not(.is_fullwindow) .btn, body .btn-success {
	border: 0.5px solid #253762;
	box-shadow: 0 0px 8px 1px rgba(0,0,0,0.25),inset 0 -1px 0 0 #148EDD,inset 0 0 0 1px #39719663,0 0.5px;
	color: #fff;
	margin: auto 3px;
	text-shadow: none;
}
body .old_plp_layout .btn, body .old_plp_layout .btn-success {
	background-image: linear-gradient(to top, #148EDD, #5BBCFB);
}
body .new_plp_layout .btn, body .new_plp_layout .btn-success {
	background-color: var( --e-global-color-quaternary );
}
#approved_waiver_fake_btn {
	box-shadow: 0 0px 8px 1px rgba(0,0,0,0.25),inset 0 -1px 0 0 #148EDD,inset 0 0 0 1px #5BBCFB,0 0.5px;
}
.btn.non-btn {
	/* This provides a consistent display with buttons for non-clickable text */
	pointer-events: none;
	box-shadow: none;
	background-image: none;
	background-color: #253762;
}
body .btn-primary, .view-profile a[title="Cancel"] {
	font-size: var( --e-global-typography-1d5fde3-font-size );
	letter-spacing: var( --e-global-typography-1d5fde3-letter-spacing );
}
.logout > form {
	text-align: center;
}
.page-header {
	border-bottom: none;
}
#sp-header, #sp-footer, #sp-position2 {
	background-color: #fff !important;
}
#sp-header {
	border-bottom: 0.5px solid rgba(255,255,255,0.5);
}
.page_intro {
	text-align: center;
	font-style: italic;
}
/* Breadcrumps Section */
section#sp-breadcrumbs {
	background: #dff0ff;
	border-bottom: 1px solid #fff;
	position: relative; /* for child pseudo-element */
	margin: 0 -600rem;
	/* add back negative margin value */
	padding: 0.25rem 600rem;
	z-index: 0;
}
section#sp-breadcrumbs ol.breadcrumb { margin-bottom: 1px; }
section#sp-breadcrumbs ol.breadcrumb > li + li::before { color: #999; }
article > div > h2 {
	text-transform: capitalize;
	margin: 0 auto;
/*	text-align: center; */
}
.btn:hover {
/*	background-color: #E0E0E0; */
	background-color: #fff;
}
.text-label {
	font-size: 13px;
	font-style: italic;
	font-weight: bold;
}
.ifs-enrollment-receipt #system-message-container > #system-message > .error.message {
	background: rgba(0, 0, 0, 0) linear-gradient(#009ae0, #3e4748) repeat scroll 0 0;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 4px;
	color: #fff;
	margin-bottom: 40px;
	padding: 2px;
	position: relative;
	text-align: center;
	top: -20px;
}
.ifs-enrollment-receipt #system-message-container > #system-message > .error.message ul {
	list-style: none;
	margin: 0;
	padding: 0 10px 4px;
}
.ifs-update-user-profile #sp-main-body h1 {
	color: #253762;
	text-align: center;
}
.ifs-update-user-profile .alert .alert-heading {
	background-color: #1398EE;
	color: #fff;
	padding: 6px;
}
#member-profile .controls {
	max-width: 300px;
	width: 200px;
}
#member-profile select option,
#member-profile select {
	color: #333;
}
#member-profile > fieldset {
	margin: 0 auto !important;
}
#member-profile > fieldset > .control-group {
	margin-top: 0;
}
#member-profile .control-label {
	font-size: 14px;
	padding-right: 15px;
	display: inline-block;
	width: 180px;
	text-align: right;
}
#member-registration dd .icon-calendar, #member-profile .icon-calendar {
	display: inline-block;
	position: relative;
	top: -6px;
}
#member-registration .icon-calendar::before, #member-profile .icon-calendar::before {
	color: #333;
}
#member-registration .js-calendar .table, #member-profile .js-calendar .table {
	table-layout: auto;
}
#member-profile #loop-117 {
/* Home Country field */
	background-color: #253762;
	border: 1px solid rgba(0,0,0,0.3);
	border-radius: 5px;
	color: #fff;
	display: inline-block;
	margin-bottom: 5px;
	padding: 5px 0;
	width: 100%;
}
#member-profile #loop-117 > .controls > .chzn-container {
	padding-right: 10px;
}
#loop-118 .field-calendar {
	float: right;
}
#member-profile legend {
	display: none;
	border-bottom: 0.5px solid #e3c852;
}
#member-profile input,
#member-profile select {
	background-color: #f9f9f9;
	border-radius: 4px;
	height: 30px;
	min-height: 29px;
}
#member-profile input {
	width: 250px;
}
#member-profile .user_email_pass a.btn {
	/* Red border around Log Out & Reset Password button */
	border: 1px solid red;
}
.profile-edit.ifs-update-user-profile h1 {
	text-shadow: none;
}
#member-profile .user-update-disable {
	background-color: rgba(75, 97, 132, 0.2);
	color: #848484;
}
.customupdate_user_profile_h1_h2 .sub_header {
	text-align: center;
	padding: 15px 0;
}
body:not(.enrollment_3) #member-profile #loop-118 > .controls {
	/* Excluding from the Enrollment 3 Profile Update modal */
	width: 100%;
}
#member-profile .controls {
	margin-left: 0;
	max-width: 100%;
	display: inline-block;
}
#member-profile .btn {
	border-radius: 8px;
	padding: 12px;
	text-decoration: none;
	text-transform: initial;
}
/* Start Enrollment page 3 iframe Content */
.profile-edit #member-profile fieldset {
	border: none;
}
.profile-edit #member-profile fieldset .control-group.cg-loop.fs_row {
	display: table;
	margin: 25px auto 0;
}
.ifs-update-user-profile .profile-edit #member-profile fieldset .control-group.cg-loop.fs_row {
	margin: 1px auto;
}
.profile-edit #member-profile .btn:hover, .profile-edit #member-profile a:hover {
	border-radius: 8px;
	padding: 12px;
}
.contentpane #member-profile > fieldset {
	border: none;
	margin: 0 auto;
	padding: 0;
}
.contentpane #member-profile > fieldset .control-group {
	margin-bottom: 5px;
}
.contentpane #member-profile > fieldset .control-group select {
	width: 250px;
	max-width: 250px;
}
.contentpane #member-profile > fieldset .control-group input {
	width: 240px;
	max-width: 240px;
}
.contentpane #member-profile .fld_reset_password, /* Hide Change Password option */
.contentpane #member-profile > .controls { /* Hide Delete and Export Profile options */
	display: none;
}
.contentpane #member-profile .btn {
	background-color: var(--primary-color);
}
.contentpane #member-profile a.btn[title="Cancel"] {
	padding-top: 12px;
}
.profile-edit form#member-profile #fs-loop-extra .fld_gender {
	display: flex;
	position: relative;
	top: 7px;
	width: fit-content;
}
.profile-edit form#member-profile #fs-loop-extra .fld_gender .controls {
	display: inline-block;
	min-width: fit-content;
}
.profile-edit form#member-profile #fs-loop-extra .fld_gender .controls fieldset.radio label {
	font-size: 13px;
	padding: 0 6px 0 3px;
}
.profile-edit form#member-profile #fs-loop-extra .fld_gender fieldset.radio input[type="radio"] {
	margin-right: 0 !important;
	top: -7px;
	width: 12px;
}
/* End Enrollment page 3 iframe Content */
.control-group > .controls > .btn {
	margin-top: 15px;
}
#member-profile > .control-group > .controls a.btn[title="Cancel"] {
	line-height: var( --e-global-typography-1d5fde3-line-height );
}
#sp-footer, #sp-footer a {
	color: #bbb !important;
	font-size: 12px;
}
#sp-footer a:hover {
	color: #337ab7 !important;
}
body .btn:hover {
	background-color: rgba(0,0,0,0.1) !important;
}
@media (max-width: 599px) {
	body #sp-top-bar {
	display: none;
	}
	body .litebox-overlay .litebox-container {
	top: 1%;
	}
}
#system-message .close {
	display: none;
}
.alert.alert-notice {
	background-color: #fff;
	text-align: center;
}
.alert.alert-notice .alert-heading {
	color: #148EDD;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}


/*	Main Menu
____________________________________________________________________________*/

body #sp-header #sp-menu .sp-dropdown .sp-dropdown-inner {
	background: #fff;
}
.sticky .sticky__wrapper {
	background-color: #fff;
}
body #sp-header a {
	color: #242962 !important;
/*	text-shadow: 1px 1px 1px rgba(255,255,255,0.5); */
}
body #sp-header a:hover {
	color: #1398EE;
}
body #sp-footer a:hover {
	color: #1398EE !important;
}
body #sp-header #sp-menu .sp-dropdown body .sp-dropdown-inner li.sp-menu-item > a {
	color: #333;
}
body #sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item > a, body #sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item.active > a, body #sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item.current-item.active:hover > a, body #sp-header #sp-menu .sp-megamenu-parent .sp-dropdown li.sp-menu-item a:hover {
	color: #fff;
	background-color: #1398EE;
	text-shadow: none;
}
.sp-menu-item .sp-menu-item > a {
/*	color: #333 !important; */
}
@media (min-width: 992px) and (max-width: 994px) {
	body .sp-megamenu-parent > li > a {
	padding: 0 3px;
	}
}
.sp-menu-item.current-item.active > a {
	color: #ccc !important;
}
.sp-menu-item .sp-menu-item > a:hover,
.sp-menu-item.current-item.active > a:hover,
.sp-menu-item.current-item.active > a:focus {
	color: #fff !important;
}
#sp-menu > .sp-column > .sp-megamenu-wrapper > ul > .active > a {
	/* This is to affect only the Home menu item while on the Home Page */
/*	color: #fff !important; */
}
@media (min-width: 992px) and (max-width: 1199px) {
	body .container {
	width: 985px;
	}
}


/*	Home Page
____________________________________________________________________________*/

body .major_color_bckg-90, body .sp-page-builder .page-content #contact-us, body .sp-page-builder .page-content #section-contact {
	background-color: #253762;
	margin-bottom: -1px;
}
body #sp-top-bar a {
	color: #ccc;
}
.match-height.animated_headline {
	color: #fff;
}
body .sp-page-builder .page-content #featured-plans {
	height: auto;
}
.sp-page-builder .page-content #contact-us-text {
	background-color: #f2f2f2 !important;
}
.tagline {
	color: #fff;
	font-size: 32px;
	font-style: italic;
	font-weight: lighter;
}
.sp-page-builder .page-content #contact-us-form {
	top: 1px;
}


/*	Home Page Slider
____________________________________________________________________________*/

.n2-ss-button-container {
	box-shadow: 0 0 150px 100px rgba(0,0,0,0.6);
	border-radius: 5px;
}
.ifs-home .body-wrapper #schoolText {
	border: 1px solid rgba(0,0,0,0.9);
	box-shadow: 0 0 4px 4px rgba(0,0,0,0.3);
	font-size: 20px;
	height: 32px;
	padding-left: 8px;
}


/*	Unclear where this applies
____________________________________________________________________________*/

.combobox-container .input-group {
	width: 100%;
}
@media (max-width: 500px) {
	.sticky__wrapper #sp-logo .logo {
		max-height: 45px;
	}
	body #sp-main-body {
		padding: 0;
	}
}


/*	Enrollment Page 3 Update User Profile Popup (modal, popup)
____________________________________________________________________________*/

#billing-address-block label {
	line-height: 14px;
	padding: 6px;
}
#rl_modals hr {
	display: none;
}
#rl_modals {
	background-color: #253762;
	border-radius: 4px !important;
}
#rl_modals .page-header {
	padding-bottom: 0;
	margin: 0;
}
#rl_modals h1 {
	color: #fff;
	position: relative;
	top: 5px;
}
#rl_modals #member-profile {
	margin-bottom: 0;
}
#rl_modals_loaded_content {
	padding: 6px;
}
.contentpane > article > .clearfix, #rl_modals_loaded_content > article > .clearfix {
	display: none;
}
.litebox-container {
/*	border-radius: 10px;
	max-width: 500px;
	margin: 0 auto; */
}
.dropdown-toggle > .caret {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #333;
	vertical-align: middle;
}
.dropdown-toggle > .icon-remove {
	font-size: 12px;
	color: #333;
}
.typeahead.typeahead-long.dropdown-menu > li,
.typeahead.typeahead-long.dropdown-menu > li a {
	line-height: 20px;
	padding-bottom: 2px;
	white-space: normal;
	word-wrap: break-word;
}


/*	Plans Landing Page
____________________________________________________________________________*/
.page_header_subtext {
	margin-top: 25px;
	border-top: solid 1px #444;
	padding-top: 25px;
}
.hide_term_name {
	display: none;
}
form#dob {
	display: table;
	margin: 27px auto 20px;
	text-align: center;
}
.landing-pg #date_of_birth,
.landing-pg #input_date_effective,
.landing-pg #input_date_termination,
.landing-pg #calculate_premium_button {
	margin: 4px 8px;
	max-width: 160px;
	text-align: center;
}
.landing-pg article > div > form {
	text-align: center;
	margin: 20px auto;
}
.old_plp_layout .row.plan_calculate_premium > form {
	text-align: center;
	margin: 20px auto 0;
}
#body-landing-page form > input, article > div > form > input {
	height: 38px;
	padding-bottom: 7px;
	text-align: center;
}
#ensure_dob {
	color: #9c9c9c;
	font-size: 13px;
	font-style: italic;
	margin: 2px auto 10px;
}

/* School Logos */


.ifs-alert {
	background-color: #fff;
	border: 1px solid;
	border-radius: 4px;
	box-shadow: 0 0 2px 2px rgba(0,0,0,0.2);
	color: #E64838;
	margin-bottom: 15px;
	padding: 7px;
	text-align: center;
}


/* Hide the Main Menu */
.hide_menu #sp-menu,
.hide_menu .n2-ss-layer.n2-ow {
	display: none;
}


/*	School Landing Page
____________________________________________________________________________*/

@keyframes color {
	0% {
	background-color: #000;
	}
	50% {
	background-color: #752323;
	}
	100 {
	background-color: #000;
	}
}


/* Enrollment Pages (2019 Redevelopment)
____________________________________________________________________________*/

#click-prepopulate-billing {
	display: table;
	margin: 30px auto 15px;
}
#confirm_and_pay:not(#profile_info_modal) input:not([type=radio]),
#confirm_and_pay:not(#profile_info_modal) select {
	height: 38px;
	text-align: center;
}
#confirm_and_pay input:not([type=radio]),
.optin_or_waiver_page input:not([type=radio]),
.optin_or_waiver_page select {
	display: block;
	margin: 0 auto 10px;
	text-align: center;
}
#confirm_and_pay .radio-group label:not(.active) {  /* override Bootstrap defaults */
	background-image: linear-gradient(to top, #d4d4d4, #d4d4d4);
	box-shadow: none;
	border-color: #BFBFBF;
}
#premium_base > .plan_info_data,
#proc_fee > .plan_info_data,
#premium_total > .plan_info_data,
.recurring-billing .installment_amount {
	background-color: #fff;
	border-left: 1px solid rgba(0,0,0,0.4);
	border-right: 1px solid rgba(0,0,0,0.4);
	margin-left: 0.5em;
	padding-bottom: 3px;
	padding-right: 0.5em;
	padding-top: 3px;
	text-align: right;
	width: 6.5em;
}
#premium_base {
	margin-top: -5px;
}
#premium_base > .plan_info_data {
	border-top: 1px solid rgba(0,0,0,0.4);
}
#proc_fee > .plan_info_data {
	border-bottom: 1px solid rgba(0,0,0,0.2);
}
#premium_total > .plan_info_data {
	border-bottom: 1px solid rgba(0,0,0,0.4);
	border-top: 0.5px solid rgba(0,0,0,0.4) !important;
}
#premium_base, #proc_fee {
	margin-bottom: 0 !important;
}
@media (min-width: 555px) {
	.billing_inputs .col-l, .billing_inputs .col-r {
		display: inline-grid;
		width: 45%;
		margin-bottom: 10px;
	}
	.billing_inputs .col-both {
		max-width: 97.75%;
	}
	.billing_inputs .col-single {
/*		float: left; */
		width: 100%;
	}
/*	#waiver_form_page .billing_inputs .col-l, */
	.billing_inputs .col-l {
		margin-right: 7.5%;
	}
	#optin_form .phone_number.col-l {
		margin-top: 3px;
	}
	.billing_inputs .col-r {
/*		float: right; */
	}
	.card_number, .card_verification, .expiration_date {
		display: inline-block;
	}
	#card_number {
		width: 100% !important;
	}
	.card_verification, .expiration_date {
		width: 22.75% !important;
		max-width: 212px;
	}
	#card_verification {
		width: 100px !important;
	}
	#expiration_combined {
		margin: 0 !important;
		width: 100%;
	}
}
.billing_inputs #billing_country {
	margin-top: 0;
}
.nav-bottom {
	clear: right;
	display: table;
	margin: 40px auto;
	text-align: center;
}
#waiver_form .billing_inputs .nav-bottom {
	margin-top: 100px;
}
.back.btn-primary::before,
.back.non_btn_link::before {
	content: "\02190\0020";
}
.waiver-step-1 #submit::after,
.forward.btn-primary::after,
.forward.non_btn_link::after,
.mod-login-logout .btn-primary::after,
#member-registration .btn-primary::after {
	content: "\0020\02192";
}
.nav-bottom > .back,
.nav-bottom > .forward {
	margin: 0 20px;
	min-width: auto;
}
.back.non_btn_link,
forward.non_btn_link {
	font-style: italic;
	padding: 20px;
}
.nav-bottom > form {
	display: inline;
}
@media (max-width: 500px) {
	.nav-bottom > .back, .nav-bottom > .forward,
	.nav_top .back.non_btn_link::before {
	margin: 6px 10px;
	width: auto;
	padding-left: 10px;
	padding-right: 10px;
	}
}
.sp-module.welcome {
	left: 0;
}
.sp-module-content > .mod-login-logout {
	left: 0;
}
.mod-login-logout h3 {
/*	margin-bottom: 45px; */
}
#jform_extra_3_btn {
/*	background-color: rgba(0,0,0,0.1);
	border: 2px;
	height: 27px; */
	display: none;
}
.btn.sppb-btn-default {
	display: none;
}
.user-login-hdr {
	text-align: center;
}
#member-registration .buttons.form-actions {
	border: none;
}
.mod-login-logout .activate_link,
.mod-login .activate_link{
	font-size: 90%;
}
.pw_reset_required {
	display: block;
	padding-top: 10px;
	text-align: center;
}
.pw_reset_required .btn {
	display: table;
	margin: 10px auto;
}


/* Enrollment Page 4 */
.plan_info_label {
	text-align: right;
	font-weight: bold;
	padding-right: 0.5em;
}
.plan_info_label, .plan_info_data {
	width: 49%;
	display: inline-block;
	padding-left: 0.5em;
	vertical-align: top;
}
#plan_info_group > .plan_info_parent {
	line-height: 32px;
}
##premium_base > .plan_info_data,
#proc_fee > .plan_info_data,
#premium_total > .plan_info_data,
.recurring-billing .installment_amount {
	background-color: #fff;
	border-left: 1px solid rgba(0,0,0,0.4);
	border-right: 1px solid rgba(0,0,0,0.4);
	margin-left: 0.5em;
	padding-bottom: 3px;
	padding-right: 0.5em;
	padding-top: 3px;
	text-align: right;
	width: 6.5em;
}
#confirmed_and_paid #page_top_headers {
	text-align: center;
}
#confirmed_and_paid #premium_base {
	margin-top: 0;
}
#confirmed_and_paid #premium_base > .plan_info_data,
#confirmed_and_paid #proc_fee > .plan_info_data,
#confirmed_and_paid #premium_total > .plan_info_data,
#confirmed_and_paid #installment_deposit_container > .plan_info_data,
#confirmed_and_paid #installment_first_container > .plan_info_data {
	border-top: 0;
	display: inline-block;
	line-height: inherit;
	margin-left: 0;
	padding-bottom: 0;
	padding-top: 0;
}
#confirmed_and_paid #premium_base > .plan_info_data {
	border-top: 1px solid rgba(0,0,0,0.4);
}


/* __________ Regenerate Activation Link Page __________ */

.activation_link_form {
	display: table;
	margin: 0 auto;
}
.activation_link_form > .form-control {
	padding: 0;
	margin: 40px 0;
}
#activation_link #email {
	height: 100%;
}
#activation_link .btn.btn-primary {
	display: table;
	margin: 26px auto 0;
}
.activation_link_form #email {
	width: 300px;
	max-width: 100%;
}
#activation_page_body {
	margin-top: 30px;
	text-align: center;
}
.activation-success.alert-success > p {
	margin-bottom: 30px;
	padding: 5px;
	text-align: center;
}


/* __________ Enrollment Page 3 (& 4): Confirm & Pay __________ */

#confirm_and_pay h3,
#confirmed_and_paid h3 {
	text-align: center;
	margin-bottom: 10px;
	text-transform: initial;
}
#confirm_and_pay #plan_info_group > .plan_info_parent,
#confirmed_and_paid #plan_info_group > .plan_info_parent {
/*	margin-bottom: -6px; */
}
#review_issues {
	background-color: #fff;
	border: 4px solid #c40000;
	border-radius: 4px;
	display: table;
	font-weight: bold;
	margin: 10px auto 0;
	padding: 5px 15px;
}
.opt_card_container {
	display: table;
	margin: 30px auto;
}
#have_you_received_opt {
	font-weight: bold;
}
.opt_card_container label {
	display: table;
	margin: 0 auto;
}
#received_opt_card {
	margin-bottom: 10px !important;
}
#received_opt_card_radios {
	display: table;
	margin: 0 auto;
}
.received_opt_card input, .received_opt_card label {
	display: inline-block !important;
}
.received_opt_card {
	display: inline-block;
	white-space: nowrap;
	position: relative;
	top: -10px;
}
#received_opt_card_radio_l {
	margin-right: 20px;
}
.received_opt_card_container input {
	position: relative;
	top: 12px;
}
.received_opt_card_container label {
	padding-left: 8px;
}

/* Recurring Billing */
#confirm_and_pay .recurring-billing {
	text-align: center;
}
.recurring-billing .recur-billing-info-parent {
	left: -0.5em;
	margin-top: 20px;
	position: relative;
	
}
.recurring-billing .installment_due_date {
	display: inline-block;
	text-align: right;
	font-weight: 600;
	width: 90px;
}
.recurring-billing #due_on {
	padding: 0 6px;
}
.recurring-billing .installment_amount {
	border-bottom: 1px solid rgba(0,0,0,0.2);
	display: inline-block;
	line-height: 24px;
}
.recurring-billing .installment_first,
#installment_deposit {
	border-top: 1px solid rgba(0,0,0,0.4);
}
.recurring-billing .installment_last,
#installment_deposit {
	border-bottom: 1px solid rgba(0,0,0,0.4);
}
#confirm_and_pay .recurring-billing .installment_amount {
	left: -0.5em;
	position: relative;
}
#num_of_installments {
	width: 6.5em;
	display: inline-block;
	text-align: center;
}
.transaction_date .no_recurring_payments_yet {
	background-color: green;
	border-radius: 8px;
	display: inline-block;
	height: 15px;
	vertical-align: middle;
	width: 15px;
}
.additional-payments-container .recurring_payments_list {
  background-color: #fff;
}
.additional-payments-container .recurring_payments_list tr {
  border-bottom: 1px solid rgba(0,0,0,0.2);
}
.additional-payments-container .recurring_payments_list td {
	padding: 3px;
}


/* __________ Enrollment Page 4: Thank You __________ */


/* Rates Table
____________________________________________________________________________*/

.rates_table tbody {
	border-top: 0 !important;
}
td .rates_table_rate {
	border: 1px solid rgba(0,0,0,0.4);
}
.rates_table .table {
	background-color: #fff;
	border: 1px solid rgba(0,0,0,0.4);
	margin: 0;
}
.table > tbody > tr > td, .table > tbody > tr > th,
.table > tfoot > tr > td, .table > tfoot > tr > th,
.table > thead > tr > td, .table > thead > tr > th {
	border-top: 1px solid rgba(0,0,0,0.4);
}
.rates_table_rate, .col-l.age {
	background-color: #E3E3E3;
}
.rates_table_title {
	font-weight: bold;
	white-space: nowrap;
}
.rates_table th {
	background-color: #253762;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	padding: 8px 2px !important;
	text-align: center;
}
.rates_table td {
	border: 1px solid rgba(0,0,0,0.4);
	font-size: 12px;
	padding: 4px 8px !important;
}
.rates_table .col-l, .rates_table col-r {
	width: 50%;
}
.rates_table .col-l {
	text-align: right;
}
.rates_table .col-r {
	text-align: left;
	border-left: 1px solid rgba(0,0,0,0.4);
}
.rates_table td.student, .rates_table td.depend {
	font-weight: bold;
}
.rates_table .col-l span {
	min-width: 4em;
	display: inline-block;
	padding-right: 9px;
}
.rates_table_rate > span {
	min-width: 4em;
	display: inline-block;
	text-align: right;
}
.rates_table tr.current-age > td.col-l {
	border-bottom: 2px solid #1398EE;
	border-left: 2px solid #1398EE;
	border-top: 2px solid #1398EE;
}
.rates_table tr.current-age > td.col-r {
	border-bottom: 2px solid #1398EE;
	border-right: 2px solid #1398EE;
	border-top: 2px solid #1398EE;
}


/* Program Tools Pages
____________________________________________________________________________*/

.program_tool_page {
	display: table;
}
.app_store_link {
	display: table;
	margin: 30px auto 0;
}
.program_tool_page h4 {
	font-size: 15px;
	font-weight: bold;
	margin: 22px 0 7px;
}
.nurseline li {
	list-style-type: disclosure-closed;
}
.link_disable > .program-tool-link {
	pointer-events: none;
}


/* Medical Evacuation Page
____________________________________________________________________________*/

.itemid-564 #sp-footer {
	display: none;
}
.itemid-564 iframe {
	background-color: #fff;
}
.itemid-564 #sp-main-body {
	margin-bottom: 1000px;
}



/* How to File Claims - UnitedHealthcare
____________________________________________________________________________*/

body .container blockquote > h3 {
	padding: 5px 20px;
}
.itemid-487 .container h2 {
	margin: 25px 0;
	text-align: left;
}


/* User Pages
____________________________________________________________________________*/

/* Update User Profile Form (2 Pages) */
#member-profile h4 {
	margin: 30px 0 20px 30px;
}
#member-profile div[id^="loop-"] {
	line-height: 16px;
	margin-bottom: 7px;
}
#member-profile div[id^="loop-"] .chzn-container {
	max-width: 100%;
	min-width: auto;
	width: auto;
}
.login-greeting {
	font-size: 15px;
	margin-top: 10px;
	text-align: center;
	text-shadow: 1px 1px 1px #fff;
}
.ifs-user-home .mod-login-logout .login-greeting,
.ifs-user-home .mod-login-logout .logout-button .btn,
.ifs-receipts-list .mod-login-logout .logout-button .btn {
	max-width: 100%;
	min-width: 180px;
	text-align: center;
	width: 180px;
}

/* User Home, Admin Home */
.ifs-user-home h1,
.administrators h1 {
	display: table;
	margin: 0 auto;
}
.ifs-user-home h1 {
	padding: 0;
}
.sp-module.log-out > .sp-module-title {
	color: #253762;
	padding: 0;
	display: table;
	margin: 0 auto;
}
.ifs-user-home h3.sp-module-title::after {
	background: none;
}
#ifs_page_body .user-pages,
.administrators .user-pages {
	margin: 10px 0 0 0;
	list-style: none;
	display: inline;
}
.ifs-update-user-profile #sp-bottom {
	height: 0;
}
.ifs-receipts-list li {
	padding: 10px 0;
}
#receipts_view_top_btns > .btn {
	display: table;
	margin-bottom: 10px;
}


/* Landing Page instances
____________________________________________________________________________*/

/* Study Abroad Landing Page, K-12 Landing Page */
.plan_info_parent input {
	max-width: 206px;
}


/* Student Waiver System & Student Health Plan Opt In System Pages
____________________________________________________________________________*/

.student_online_waiver_system h1,
.stud-waiver > h1 {
	margin-bottom: 60px !important;
}
#waiver_form #dob,
#optin_form #dob {
	clear: right;
}
.fake-btn {
	background-color: #444;
	border: solid 1px rgba(255,255,255,0.5);
	border-radius: 3px;
	font-weight: bold;
	padding: 0 5px;
}
.ui-dialog-titlebar-close {  /* TODO: should be refactored so we don't enforce this on ALL dialogs */
/*	display: none; */
}
.plan-tool-waiver-confirm-term .ui-dialog-titlebar-close {
	right: .1em;
	width: 18px;
	height: 18px;
	border-radius: 4px;
}
.plan-tool-waiver-confirm-term .ui-dialog-titlebar-close::after {
	content: "X";
	color: #555;
	position: relative;
	top: -5.5px;
	font-weight: normal;
	font-size: 13px;
}
.ui-dialog.ui-corner-all.ui-widget.ui-widget-content.ui-front {
	background-color: #1582C8;
}
#ui-id-2 {
	float: none;
	display: table;
	margin: 0 auto;
	text-align: center;
}
.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > .ui-dialog-buttonset {
	float: none;
	display: table;
	margin: 0 auto;
}
.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > .ui-dialog-buttonset > button {
	padding: 4px 20px;
	border-radius: 6px;
	border: 1px solid #aeaeae;
}
.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > .ui-dialog-buttonset > button:nth-child(1) {
	background: #900000 none repeat scroll 0 0;
}
.ui-dialog-buttonpane.ui-widget-content.ui-helper-clearfix > .ui-dialog-buttonset > button:nth-child(2) {
	background: #006300 none repeat scroll 0 0;
}
#waiver-certify > .buttons {
	margin-bottom: 10px;
}
input#certify {
	display: inline-block;
	height: inherit;
	margin-right: 10px;
}
#affirmation_text {
	display: inline;
}
#affirmation_text > p {
	display: inline;
}
.student_online_waiver_system .back-btn {
	margin-top: 30px;
}
.itemid-532 .ui-widget-content {
	background: #656D75;
}
.itemid-532 #ui-datepicker-div {
	box-shadow: 0px 0px 12px rgba(0,0,0,0.5);
}
#waiver-certify, #optin_certify {
	border-top: 1px solid rgba(0, 0, 0, 0.15);
	margin-top: 30px;
	padding-top: 15px;
}
#waiver-certify, #optin_certify > label {
	padding-left: 5px;
	font-size: 14px;
}
#optin_thankyou_page > p {
	text-align: center;
	padding-top: 20px;
}
#optin_h3 {
	text-align: center;
	margin-bottom: 50px;
}
#waiver_form_page h3,
#optin_form_page h3 {
	text-align: center;
	margin: 33px 0 20px;
}
#waiver_form_page .h3_subtext,
#optin_form_page .h3_subtext {
	display: block;
	font-size: 14px;
	line-height: 18px;
	margin-top: 5px;
}
#waiver_form_page #date_of_birth,
#optin_form_page #date_of_birth {
	width: 100%;
}
.ifs_signature {
	font-size: 110%
	font-style: italic;
	font-weight: bold;
	padding-top: 20px;
}
#ins-address-2 {
	margin-bottom: 10px;
}
#optin_certify #submit {
	margin-top: 0;
}
/*
@media (min-width: 500px) {
	/* This deals with the waiver form's step 4 & 5 fields, but there must be a better way.
	.is_athlete.col-r {
	position: relative;
	top: -77px;
	margin-bottom: -77px;
	}
	.mobiscroll_dob.col-r {
	position: relative;
	top: -68px;
	margin-bottom: -68px;
	}
} */
@media (min-width: 500px) {
	.billing_inputs > div {
	}
}
#optin_certify > label {
	display: inline;
}
#plan_eff_date, #primary_ph_dob, #plan_ter_date {
	width: 100%;
}
#policy-group-id-numbers {
	clear: both;
}


/* How to File Claims - UHC
____________________________________________________________________________*/

.how_to_file_claims_uhc_2018 h3 {
	background-color: #FFF9DF;
	margin-left: -20px !important;
}


/* GDPR Extension
____________________________________________________________________________*/

.cc-revoke.cc-bottom {
	font-family: Open Sans, sans-serif;
}
#gdpr_privacy_policy_checkbox {
	position: relative;
	top: 0;
	width: 35px !important;
}
.cc-window.cc-banner.cc-type-opt-in.cc-theme-block {
	font-family: Raleway, sans-serif;
	background-color: #253762;
	border-top: 0.5px solid rgba(255,255,255,0.5);
	box-shadow: 0 -2px 14px rgb(0, 0, 0);
}
.cc-message-text, .cc-link {
	margin: 0 2px !important;
	padding: .2em .1em !important;
	text-align: center !important;
}
#member-profile > .controls {
	width: 100%;
}


/* Have I been pwned? Joomla extension */
.com-ajaxregister .alert-error > div > p > a {
	text-transform: capitalize;
}


/* Two-Factor Authentication Plugin (Only in use if we activate 2FA for Joomla Users)
____________________________________________________________________________

#loop-31 > .control-label {
	display: none;
}
#loop-31 > .controls {
	clear: left;
	float: none;
	max-width: 100%;
}
#tfa_setup label {
	float: left;
	font-size: 12.5px;
	max-width: 45%;
	padding-right: 10px;
	padding-top: 5px;
	text-align: right;
	width: 160px;
}
#tfa_username, #tfa_secret {
	float: right;
	clear: right;
}
#tfa_newsecret {
	clear: both;
	display: block;
	margin: 0 auto;
}
#tfa_qr_get {
	margin: 0 auto;
	display: block;
}
#tfa_setup label:last-of-type {
	width: 100%;
	clear: both;
	max-width: 100%;
}*/


/* Website Notice
____________________________________________________________________________ */

.website_notice {
	color: #cd0e0e;
	font-size: 18px;
	margin: -14px 0 10px !important;
	text-align: center;
}


/* IFS Administrators User Manager Page
____________________________________________________________________________ */

#check_account {
	display: table;
	margin: 50px auto;
	text-align: center;
}
#check_account #submit_email {
	margin: 20px;
}
#pass_reset, .account-status {
	text-align: center;
}
#pass_reset > div {
	margin: 20px 0;
}
.edit-article.pull-right {
	display: none;
}


/* Plans Unavailable Page
____________________________________________________________________________ */

#plan-unavailable h3 {
	display: table;
	margin: 0 auto;
}


/* Easy File Uploader Module
____________________________________________________________________________ */

#file_uploader {
	margin: 60px auto;
	text-align: center;
	padding: 30px;
	background-color: #fff;
	border-top: 1px solid rgba(000,000,000,0.2);
	border-bottom: 1px solid rgba(000,000,000,0.2);
}
.upload_module {
	display: table;
	margin: 0 auto;
}
#file_uploader label {
	font-size: 130%;
	padding-bottom: 20px;
}

  
  /*--------------------------------------------------------------
# Portfolio
--------------------------------------------------------------*/
.portfolio #portfolio-flters {
  padding: 0;
  margin: 0 auto 25px auto;
  list-style: none;
  text-align: center;
  background: white;
  border-radius: 50px;
  padding: 2px 15px;
}
.portfolio #portfolio-flters li {
  cursor: pointer;
  display: inline-block;
  padding: 8px 20px 10px 20px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  color: #444444;
  margin: 0 4px 8px 4px;
  transition: 0.3s;
  border-radius: 50px;
  border: 1px solid #fff;
}
.portfolio #portfolio-flters li:hover, .portfolio #portfolio-flters li.filter-active {
  color: #4154f1;
  border-color: #4154f1;
}
.portfolio #portfolio-flters li:last-child {
  margin-right: 0;
}
.portfolio .portfolio-wrap {
  transition: 0.3s;
  position: relative;
  overflow: hidden;
  z-index: 1;
  background: rgba(255, 255, 255, 0.75);
}
.portfolio .portfolio-wrap::before {
  content: "";
  background: rgba(255, 255, 255, 0.75);
  position: absolute;
  left: 30px;
  right: 30px;
  top: 30px;
  bottom: 30px;
  transition: all ease-in-out 0.3s;
  z-index: 2;
  opacity: 0;
}
.portfolio .portfolio-wrap img {
  transition: 1s;
}
.portfolio .portfolio-wrap .portfolio-info {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  z-index: 3;
  transition: all ease-in-out 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.portfolio .portfolio-wrap .portfolio-info::before {
  display: block;
  content: "";
  width: 48px;
  height: 48px;
  position: absolute;
  top: 35px;
  left: 35px;
  border-top: 3px solid rgba(1, 41, 112, 0.2);
  border-left: 3px solid rgba(1, 41, 112, 0.2);
  transition: all 0.5s ease 0s;
  z-index: 9994;
}
.portfolio .portfolio-wrap .portfolio-info::after {
  display: block;
  content: "";
  width: 48px;
  height: 48px;
  position: absolute;
  bottom: 35px;
  right: 35px;
  border-bottom: 3px solid rgba(1, 41, 112, 0.2);
  border-right: 3px solid rgba(1, 41, 112, 0.2);
  transition: all 0.5s ease 0s;
  z-index: 9994;
}
.portfolio .portfolio-wrap .portfolio-info h4 {
  font-size: 20px;
  color: #012970;
  font-weight: 700;
}
.portfolio .portfolio-wrap .portfolio-info p {
  color: #012970;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  padding: 0;
  margin: 0;
}
.portfolio .portfolio-wrap .portfolio-links {
  text-align: center;
  z-index: 4;
}
.portfolio .portfolio-wrap .portfolio-links a {
  color: #fff;
  background: #4154f1;
  margin: 10px 2px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  transition: 0.3s;
}
.portfolio .portfolio-wrap .portfolio-links a i {
  font-size: 24px;
  line-height: 0;
}
.portfolio .portfolio-wrap .portfolio-links a:hover {
  background: #5969f3;
}
.portfolio .portfolio-wrap:hover img {
  transform: scale(1.1);
}
.portfolio .portfolio-wrap:hover::before {
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 1;
}
.portfolio .portfolio-wrap:hover .portfolio-info {
  opacity: 1;
}
.portfolio .portfolio-wrap:hover .portfolio-info::before {
  top: 15px;
  left: 15px;
}
.portfolio .portfolio-wrap:hover .portfolio-info::after {
  bottom: 15px;
  right: 15px;
}

/*--------------------------------------------------------------
# Portfolio Details
--------------------------------------------------------------*/
.portfolio-details {
  padding-top: 40px;
}
.portfolio-details .portfolio-details-slider img {
  width: 100%;
}
.portfolio-details .portfolio-details-slider .swiper-pagination {
  margin-top: 20px;
  position: relative;
}
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #4154f1;
}
.portfolio-details .portfolio-details-slider .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #4154f1;
}
.portfolio-details .portfolio-info {
  padding: 30px;
  box-shadow: 0px 0 30px rgba(1, 41, 112, 0.08);
}
.portfolio-details .portfolio-info h3 {
  font-size: 22px;
  font-weight: 700;
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
.portfolio-details .portfolio-info ul {
  list-style: none;
  padding: 0;
  font-size: 15px;
}
.portfolio-details .portfolio-info ul li + li {
  margin-top: 10px;
}
.portfolio-details .portfolio-description {
  padding-top: 30px;
}
.portfolio-details .portfolio-description h2 {
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 20px;
}
.portfolio-details .portfolio-description p {
  padding: 0;
}


/* Custom school logo sizes */
#sp-component .school-id-9 .logo_parent .school-logo {
	max-height: 300px;
}

.page_cover {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	display: flex;
	justify-content: center; /* Centers content horizontally */
	align-items: center; /* Centers content vertically */
	flex-direction: column;
	height: 100vh;
	width: 100vw;
	background-color: #657a8d88;
	color: white;
	font-size: 45px;
}
.page_cover .countdown {
	margin-top: 15px;
	font-size: 35px;
}


/* Permanent Residency Confirmation (Cigna only thus far) */
.permanent_residency_confirmation .page-header h1 {
	color: var( --e-global-color-secondary );
}


/* Custom Modal */
.custom-overlay {
	background: rgba(0,0,0,.6);
	display: none;
	position: fixed; top: 0; left: 0;
	width: 100%; height: 100%;
	z-index: 1000;
}
.custom-modal {
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0,0,0,.3);
	display: none;
	max-width: 90%; max-height: 90%;
	overflow: auto;
	padding: 1.5em;
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1001;
}
.close-btn {
	background: none; border: none;
	cursor: pointer;
	font-size: 1.5em; line-height: 1;
	position: absolute; top: .5em; right: .5em;
}
#login_redirect_msg p {
	color: initial;
	font-size: initial;
}


/* Excel Export Progress Tracker */
#excel_export_progress_tracker {
	background-color: #f2f2f2;
	font-family: Verdana, Sans-serif;
	padding: 0;
	text-align: center;
}
#excel_export_progress_tracker #export_hdr {
	background-color: rgba(0,0,0,0.8);
	color: #fff;
	margin: 0 0 40px;
	padding: 20px;
}
#excel_export_progress_tracker #download_link {
	margin-top: 50px;
	text-decoration: none;
}
#excel_export_progress_tracker #download_link a {
	text-decoration: none;
}
#excel_export_progress_tracker #download_link a:hover {
	color: #929292;
	text-decoration: none;
}
#excel_export_progress_tracker #export_bar {
	width: 450px;
	max-width: 100%;
}
#excel_export_progress_tracker #export_percent {
	background-color: #fff;
	border: 1px inset rgba(0,0,0,0.4);
	display: table;
	margin: 20px auto;
	padding: 8px;
}