/*===========================================
RECRUITER STYLES (used with AngularJS recruiters) - updated 05/06/2017 - DT

This is the master recruiter stylesheet for use with AngularJS recruiters.
All pages contained inside the recruiter will be most accurately presented here.
Please customize styles using the local recruiter_styles.php instead of this file
This stylesheet can be used across multiple systems and instances.

===========================================
Table of Contents
===========================================
1) Standard HTML Elements
2) Format Defaults
*/


/* Standard HTML Elements
==========================================*/


/**** Headers & Text ****/

fieldset {
	margin-top:40px;
	margin-bottom:20px;
	border:0;
	padding: 0;
}
legend {
	color: #444444;
    font-size: 22px;
	padding-top:0;
	padding-bottom:10px;
	border-bottom:1px solid #ddd;
}
h1 {
	font-size:2.3em;
	line-height:1.2em;
}
h2 {
	font-size:2em;
	line-height:1em;
}
h3 {
	font-size:1.5em;
	line-height:1.2em;
}
h4 {
	font-size:1.25em;
	line-height:1.2em;
}
h5 {
	font-size: 1.1em;
	line-height:1.2em;
}
a {
	cursor:pointer;
	text-decoration:underline;
}


.view-container {
    position: relative;
    /*min-height: 100vh;*/
}
#search_result_listings{
	min-height: 25vh;
}


/* Footer */
footer{
	position: absolute;
    bottom: 0;
    width: 100%;
}
.samaritan-footer{
	text-align: center;
	font-size:14px;
	background:#444;
	padding:5px;
	margin:0;
	color: #ddd;
}

/**** Notices and Helper Text ****/

input.ng-invalid-uid-taken  {border: 2px solid #e85c41;}
.error {color: #db3a1b;}

.helper-text {
	color: #676767;
	font-size: 1.1em;
}
.subtle-notice {
	color:#444 !important;
	font-size:0.9em !important;
	font-style: italic;
}
#toast-container .toast{
	opacity:1;
	box-shadow: 0 0 3px rgba(0,0,0,.25);
	border-radius:2px;
	padding:20px 20px 20px 55px;
}
#toast-container .toast.toast-default {
	background-color: #f0f0f0;
	color: #222;
	padding:20px;
}
.toast.toast-default .toast-close-button{
	color:#2b2b2b;
}

#toast-container .toast.toast-warning {
    background-color: #ffe891;
    color: #4e271c;
    background-image: none !important;
    padding: 10px 20px;
}

.applied-filters-header{
	/* copied from bootstrap .sr-only */
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	border: 0;
}
button.btn.applied-filter-btn{
	border-radius:12px;
	background:#f4f4f4;
	border:0 none;
	margin-right:5px;
	margin-bottom:5px;
}
button.btn.applied-filter-btn:hover{
	border-radius:12px;
	background:#ddd;
	border:0 none;
}
button.btn.applied-filter-btn .fa-times-circle{
	opacity:0.25;
	font-size:1.1em;
}
button.btn.applied-filter-btn:hover .fa-times-circle{
	opacity:1;
	color:#d34545;
}
.applied-filters-container{
	padding:10px 0;
	border-bottom:1px dashed #f7f7f7;
	margin-bottom:10px;
}


/* Format Defaults
===========================================*/

html, body {
	color: #2D3538;
	font-family: 'Open Sans',Arial,sans-serif;
	font-size: 100%;
	line-height: 1.5;
	margin: 0 auto;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
	font-weight:bold;
}

.pagename {
	padding-top:40px;
}
.pagename h1, .pagename h2, .pagename h3 {
	margin-top:0;
}
.pagename.login-panel {
	padding-bottom:20px;
}

.pagename a.back-btn{
	z-index:999;
}

iframe{
	min-height: 250px;
}

.recaptcha iframe {
	min-height: unset;
}

/* @media all and (min-width: 768px){
.pagename a.back-btn{
	position: absolute;
	right:8px;
}
} */
@media all and (max-width:767px){
.pagename {
	padding-top:10px;
}
.pagename.login-panel {
	padding-bottom:0;
}
}


/* login page */
.login-form .recaptcha{
	text-align:center;
}
.login-form .recaptcha div{
	display: inline-block;
}
@media all and (max-width:350px){
	.login-form .recaptcha > div > div{
		transform: scale(0.95);
		-webkit-transform: scale(0.95);
		transform-origin: 0 0;
		-webkit-transform-origin: 0 0;
	}
}
.login-forgot-pw-link, .login-new-vol-link, .login-new-org-link, .login-org-forgot-pw-link {
	font-size:1.1em;
	margin-bottom: 5px;
}
.btnFacebook{
	background-color: #4867aa;
	color: #fff;
	border-color: #4867aa;
}

.btnTwitter{

	background-color: #1da1f2;
	color: #fff;
	border-color: #1da1f2;
}

/* Button adjustment for font awesome classes */
.input-group .fa {
	line-height: inherit;
}


/*New Required indication explanation text*/
.requiretext {
	color: #C91019;
    font-size: 1.2em;
    padding-top: 20px;
	float:left;
}
.requireIndicator {
    color: #C91019;
    display: inline-block;
    font-weight: bold;
	font-size:1.1em;
	line-height:15px; /*To match label line height*/
    padding: 0 3px 0 0;
	position:relative;
	top:2px;
}

/* used for invalid format icon */
.warningIndicator {
	color: #E38E17;
    display: inline-block;
    font-weight: bold;
	font-size: 1.1em;
	line-height: 15px; /* To match label line height */
    padding: 0 3px 0 0;
	position:relative;
	top: 2px;
}

.login-register-text{
	text-align: center;
}
.login-left-info-panel{
	max-width: 400px;
}
.login-left-info-panel .form-group{
	margin-bottom:30px;
}

#login_user-type {
	display: flex;
	flex-direction: column;
}

.panel_back-nav button{
	font-size: 1.2rem;
	color: #7e7e7e;
	text-decoration: none !important;
	padding: 0.5rem 0.5rem 0.5rem 0
}

@media all and (max-width:768px){
	.login-right-info-panel{
		padding:40px 0 0 0;
		border:0 none;
	}
}

/* Opportunity Results and Details
=============================================*/

.result_record {
	padding:20px 0;
	border-bottom:1px solid #dedede;
}
.result_record:hover {
	/* background:#fcfcfc; */
}
.result_record + .result_record{
	border-top:0 none;
}
.result_record.active {
    background: none repeat scroll 0 0 #FCF8E3;
    border: 3px solid #3071a9;
    padding: 10px;
	margin-left:-10px;
}
.opp-details-opp-title{
	margin-bottom:30px;
	font-size: 1.5em;
	line-height: 1.2em;
}
@media all and (min-width:768px){
	.opp-details-opp-title{
		margin-top:0;
	}
}
@media all and (max-width:768px){
	.opp-details-description-heading{
		margin-top:20px;
	}
}
.refer-place-list-org-title{
	font-size: 0.8em;
	margin-left:10px;
	color: #555;
}

.opp-details-location-description {
	margin-top: 20px;
}


/* Opportunity Results and Details
=============================================*/
.org-details-org-title {
	font-size: 2.0em;
	margin-bottom: 10px;
}

.org-details-description {
	margin-top: 10px;
}

.opp-info-in-org {
	border: 4px solid #c5d6df;
	background: #eff3f7;
}

.opp-details-in-org-title {
	line-height: 1.5;
	margin: 30px 0 20px;
}

.opp-in-org-link:hover {
	box-shadow: 0 0 15px rgb(51 51 51 / 35%);
	transition: none !important;
}
.opp-in-org-link {
	display:block;
	margin-bottom:20px;
}

.org-details-url {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #eeeeee;
	display: inline-block
}

/* Profile
=================================== */

/* Language Field */

#LANGUAGE_OPTIONS_LIST, #LANGUAGE_LIST{
	width:100%;
}
.ipt-size4 #LANGUAGE_OPTIONS_LIST{
	width:308px !important;
}
.ipt-size5 #LANGUAGE_OPTIONS_LIST{
	width:359px !important;
}
.ipt-size6 #LANGUAGE_OPTIONS_LIST{
	width:391px !important;
}
#LANGUAGE_OPTIONS_LIST{
    padding: 0;
    list-style: none;
}
#LANGUAGE_OPTIONS_LIST li{
	padding:10px;
	background:#f4f4f4;
	cursor:pointer;
}
#LANGUAGE_OPTIONS_LIST li:hover{
	background:#fffad6;
	font-weight:bold;
}
.language-usage-header{
	float:left;
	font-weight:bold;
	margin-right:2em;
	min-width:3em;
}
.language-list-item-header{
	font-size:1.2em;
}
.language-list-item label{
	display:inline-block;
	margin-right:1em;
}
@media all and (max-width:468px){
	.language-usage-header{
		float:none;
		margin-right:0;
	}
	.language-list-item label{
		width:auto !important;
	}
}

.sign-in-station .alt-login-option-list{
	padding:0;
	margin:0;
	list-style:none;
}

.sign-in-station .alt-login-option-list li {
    background: #f4f4f4;
    padding: 5px 0;
    border-top: 1px solid #eee;
    text-align: center;
}




/* Redirect Object */
.selected-opp .image_area img{
	max-width:100%;
	max-height:16em;
	margin-bottom:20px;
}



/* Search */
#search_options .sort-disabled{
	opacity: 0.6;
	cursor:not-allowed;
}

.search-highlight {
	background: #f9f3bd;
}

.filter-header{
	font-size:1.25em;
	line-height:1.2em;
	margin: 10px 0;
	font-weight: bold;
}

.filter-header-btn {
    width: 100%;
    text-align: left;
    border: 0;
    line-height: 1.5em;
    padding: 0;
    background: #f0f0f0;
}
.filter-header-btn .open-indicator {
    font-size: 0.7em;
    float: right;
    padding-top: 0.3em;
}
.filter-group {
    border-top: 1px solid #e0e0e0;
    padding: .6em 0 .6em 0;
}

.search-filter-sub-header{
	font-weight:bold;
	display: block;
	margin:8px 0;
}
.options-filter-result-list-container{
	height: 1px;
	position: relative;
}
.options-filter-result-list-backdrop{
	position: fixed;
	height: 100vh;
	width:100%;
	left:0;
	top:0;
}
.options-filter-result-list {
	max-height: 200px;
	overflow-y: auto;
	background: #e0e0e0;
	border: 1px solid #fafafa;
	border-radius: 0 0 4px 4px;
	position: relative;
	z-index: 1000;
	box-shadow: 1px 1px 5px rgba(0,0,0,0.1);
}
.options-filter-result-list .option-filter-list-item {
	padding: 5px;
	background: #f8f8f8;
	margin: 0;
	border-bottom: 1px solid #ddd;
}

.toggling-left-bar .left-bar-filter-inner{
	/*box-shadow: 3px 0 2px 0 rgba(0,0,0,0.2);
	border-right: 1px solid #aaa;*/
	padding: 10px;
	background: #f0f0f0;
	color: #000;
	/*border-radius: 0 2px 2px 0;*/
}


.left-bar-toggler{
  display:none;
  float:left;
  width:10%;
}
.toggling-left-bar .left-bar-toggler{
  display:block;
}
.left-bar-toggler button{
	font-size:1.3em;
	padding:30px 12px;
	background: #333;
    color: #fff;
    border: 0 none;
    margin-top: 80px;
    box-shadow: 3px 3px 2px 0 rgba(0,0,0,0.1);
}
.left-bar-toggler button .fa.fa-angle-left{
	color:#fff;
	font-size:1.6em;
}
.left-bar-toggler button .fa.fa-search{
	color:#fff;
	font-size:1.4em;
}
.left-bar-toggler .left-bar-toggle-sort-buttons a.button{
	padding:8px;
	margin-top:5px;
	font-size:1.1em;
	color:#fff;
	background:#333;
	display:inline-block;
	box-shadow: 3px 3px 2px 0 rgba(0,0,0,0.1);
	width:35px;
}
.refer-place-message{
	font-weight: bold;
}
@media all and (min-width:768px){
	#left_bar_toggler{
		display:none;
	}
}

@media all and (max-width:768px){
	.toggling-left-bar .left-bar-filter-inner{
	  width:100%;
	  /*float:left;*/
	}
}


/* Grouped Calendar Slot */
@media all and (max-width:900px){
  .fc-time-grid-event .fc-title {
    white-space: normal;
  }
  .fc-time-grid-event .fc-title .calendar-group-description{

  }
}





/* Map Directive */
.map-container{
	height:75vh;
}
/* overrides google maps styling for record images */
.gm-style img.img-responsive {
    width: 100% !important;
}
.gm-style-iw>div{
	max-height: 329px !important;
	max-width: 500px !important;
}



/* Organization Manager */
#org_manager_container{
	border-top: 1px solid #ccc;
}

.opp-manager-option-link{
	font-size:1.2em;
	padding:40px 20px;
	background: #f3f3f3;
	color:#337ab7;
	text-decoration:none;
	margin-right:5px;
	display: inline-block;
}

#edit_area {
	list-style: none;
}

.org-manager-opp-details-view {
	overflow: scroll;
}









/* Upcoming schedule widget */
.upcoming-schedule-heading-container:before{
	display: table;
	content: " ";
}
.upcoming-schedule-heading-container:after {
	clear: both;
	display: table;
	content: " ";
}
.upcoming-schedule-heading-container{
	margin-bottom:10px;
}
.upcoming-schedule-heading{
	float:left;
}
.upcoming-schedule-view-link{
	float: right;
}





/*Modals*/
#timeout_overlay{
	position: fixed;
	width: 100%;
	height: 100vh;
	top:0;
	z-index: 10003 !important;
}
.modal-timeout-warning{
	z-index:10002 !important;
}
.fixed-modal-footer{
	position: fixed;
	bottom: 0;
	z-index: 10000;
	background: #eee;
	border-top:1px #ddd;
	color: #444;
	text-align: center;
	width: 100%;
	padding: 15px;
}

.fixed-modal-footer .close {
	font-size: 1.8em;
	padding:10px;
}

.modal-header .modal-title{
	padding-top:15px;
	padding-left:15px;
}
.modal-dialog {
    height: 101%;
}
.modal-body{
	overflow-x: auto;
}

.group-modal-steps{
	margin-bottom:10px;
	margin-top:10px;
	display: flex;
}
.group-participant-list{
	padding:0;
	margin:0;
	list-style: none;
}
.group-participant-list li{
	padding: 10px;
	border-bottom: 1px solid #ddd;
	font-weight: bold;
}




/* Forgot Password */
.reset-password-step-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: calc(1.5rem - 10px) 1.5rem 1.5rem;
}

.reset-password-step-indicator .rp-step-indicator {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	color: #696969;
	background: lightgrey;
	border-radius: 50%;
}

.reset-password-step-indicator .rp-step-bar {
	width: 30px;
	height: 4px;
	margin: 0 3px;
	border-radius: 5px;
	background: lightgrey;
}

.reset-password-step-indicator .rp-step-bar-complete {
	width: 30px;
	height: 4px;
	margin: 0 3px;
	border-radius: 5px;
	background: #337ab7;
}

.reset-password-step-indicator span{
	font-weight: bold;
	font-size: 1.5rem;
}

.rp-step-indicator-complete {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	background: #337ab7;
	color: #ffffff;
}

.rp-step-indicator-email {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 4px solid #40ca40;
	border-radius: 50%;
	color: #40ca40;
	font-size: 1.3rem;
}

.rp-step-indicator-error {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 4px solid #a94442;
	border-radius: 50%;
	color: #a94442;
	font-size: 2rem;
}

.rp-step-indicator-password {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	border: 4px solid #cdb153;
	border-radius: 50%;
	color: #cdb153;
	font-size: 2rem;
}

.pr-email-list{
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-weight: bold;
}

/*.pr-email-list > ul > li:first-child{*/
/*	border-top: 1px solid #ccc; padding:10px;*/
/*}*/

.pr-email-list > ul > li{
	margin-bottom: 5px;

}

.pr-email-list > ul > li > div{
	font-size: 1.2rem;
}

.pr-email-list > ul > li > div:hover{
	cursor: pointer;
	border-radius: 5px;
	background-color: #337ab7;
	color: #fff;
	font-weight: normal;
}

/* Logbook */
.logbook-entry-org-title{
	margin-left: 10px;
}






/* Single Slot Record */
.slot-availability{
	padding:6px;
	text-align: center;
}
.slot-date-thumb {
    width: 76px;
    text-align: center;
    color: #444;
    background-color: rgba(0,0,0,0.05);
    border-radius: 4px;
    text-transform: uppercase;
    font-family: 'Source Sans Pro', Calibri, Arial, sans-serif;
    position: relative;
    border-right: 1px solid #aaa;
    border-bottom: 1px solid #aaa;
}
.slot-date-thumb .s-day{
	padding:3px 0;
	margin:0;
	border-top:1px dotted #ccc;
}
.slot-date-thumb .s-month{
	padding:2px 0;
	background: #337ab7;
    border-radius: 4px 4px 0 0;
    color: #fff;
    margin-bottom:0;
}
.slot-date-thumb .s-date{
	font-weight: bold;
	font-size: 2em;
	line-height: 1em;
	padding: 14px 0 14px;
	margin:0;
}
.slot-date-thumb .multi-date{
	display: none;
}
.slot-date-thumb.multi-day .s-date{
	font-size:1.4em;
	padding: 18px 0 18px;
}
.slot-date-thumb.multi-day .multi-date{
	display: inline;
}
.slot-date-thumb.multi-day:before{
    border-right: 2px solid #aaa;
    border-bottom: 2px solid #aaa;
    border-radius: 5px;
    content: " ";
    width: 100%;
    height: 100%;
    display: block;
    left: 5px;
    top: 5px;
    position: absolute;
}
.slot-date-thumb.multi-day:after{
    border-right: 2px solid #aaa;
    border-bottom: 2px solid #aaa;
    border-radius: 6px;
    content: " ";
    width: 100%;
    height: 100%;
    display: block;
    left: 9px;
    top: 9px;
    position: absolute;
}
.slot-record .multi-day-time-date{
    font-weight: normal;
    display: inline-block;
    background: rgba(0,0,0,0.1);
    padding: 0 5px;
    margin-left: 7px;
    margin-top:10px;
    border-radius: 3px;
}
.slot-record .slot-time-zone{
	font-weight: normal;
    font-style: italic;
}
.slot-record .local-time-zone{
	display: none;
}
.slot-record .slot-start-time{
	font-weight:bold;
}

.slot-record .media-heading{
	font-weight: bold;
	font-size: 1.25em;
}

.slot-record .slot-opp-org{
	display: none;
}

.group-invite-share{
	padding:5px 5px 5px 20px;
}
.group-invite-share-heading{
	margin:0;
	padding:0;
	font-weight:bold;
}


/* Confirm Invite Modal */
.group-invite-group-name{
	font-weight:bold;
}

/* Slot lists */
.slot-list-opp-grouping .slotlist-sub-filters, .slot-list-opp-grouping .slot-apply-filter-btn {
	display: none;
}
.slot-list-filter-date-message{
	padding:10px 0;
	font-weight:bold;
}







/* Bootstrap Overrides */
.btn.btn-link{
	text-decoration:underline;
}
.tooltip-inner{
	font-size:14px;
	max-width:320px;
}
.input-group-btn .glyphicon, .btn .glyphicon, .input-group-btn .fa, .btn .fa{
	line-height: inherit;
}

/* default recruiter overrides */
.rec-panel {
    border: 0 none;
    background-color: white;
    width: 100%;
}
.rec-panel .toggler{
	display: none;
}

/* Affiliation Action Button */
.affButton1 {
	height: 6em;
	font-size: 1.3em;
	width: 100%;
}
.affButton2 {
	width: 100%;
}

/* Registration Success */
.register-opp-selection .register-opp-icon{
	float:left;
	font-size:2em;
	padding-right:15px;
}
.register-opp-selection .register-opp-msg{
	float: left;
}



/* Social Media Connection */
/* TODO move this to forms styles? */
.sm-connection-icon {
	display: inline-block;
	width: 50px;
	height: 50px;
	text-align:center;
	border-radius: 50%;
	color:#fff;
}
.sm-connection-icon .fa{
	line-height: 50px;
	font-size:24px;
}
.sm-VOL_FACEBOOK_ID-status .social-media-connection-status-connected .sm-connection-icon{
	background: #3b5998;
}
.sm-VOL_TWITTER_ID-status .social-media-connection-status-connected .sm-connection-icon{
	background: #00aced;
}
.social-media-connection-status-disconnected .sm-connection-icon{
	background: #aaa;
}

/* Secure Messages */
#dashboard_secure_messages {
	margin-top: 50px;
}
#dashboard_secure_messages_login {
	margin-top: 50px;
}

/* WCAG Accessibility Standards */
:focus {
    outline-color: #FF0000 !important;
    outline-style: solid !important;
    outline-width: 2px !important;
}
.btn.btn-link.dark-link {
	color: #24557F;
}




/* Miscellaneous */

.subtle {
	color:#999;
}
.long-text-wrap{
    word-wrap: break-word;
}
@media (max-width: 486px) {
	.back-btn{
		margin-bottom:20px;
	}
}
.step-indicator {
	padding:15px;
	background: #eee;
	color: #444;
	border:1px solid #ddd;
	border-left-color:#eee;
	flex-grow:1;
	margin:auto;
}
.step-indicator.step-active{
	background:#fffcd1;
}
.fa-check-square{
	color: #3c933c;
	font-size: 1.7em;
}

.system-message-warning {
	z-index: 99999999;
	position: fixed;
	width: 600px;
	left: 0;
	top: 10px;
	margin: 0 auto;
	right: 0;
	background: white;
	color: #555555;
	height: auto;
	border-radius: 2px;
	font-size: 14px;
	padding: 14px;
	box-shadow: 0 2px 5px 0 rgba(0,0,0,.26);
}

.system-message-warning .incompat-browser-icon-1 {
	background: #E06D3C;
	font-size: 45px;
	font-weight: bold;
	line-height: 36px;
	margin: 14px;
	padding: 10px;
	color: #ffffff;
	text-align: center;
	border: 0 none;
	width: 50px;
	height: 50px;
	display: block;
	float: left;
}

.system-message-warning .system-message-close{
	font-weight: 900;
	position: absolute;
	top: 20px;
	right: 20px;
	width: 20px;
	height: 20px;
	text-align: center;
	cursor: pointer;
}

/* Video modal */
.videoSettingsMessage {
	padding: 25px;
}

/* aff details */
.aff-details-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.aff-details-img-container {
	height: 300px;
}

/* aff records in Org Details Page
=============================================*/
.aff-info-in-org {
	border: 4px solid #c5d6df;
	background: #eff3f7;
}

.aff-details-in-org-title {
	line-height: 1.5;
	margin: 30px 0 20px;
}

.aff-in-org-link:hover {
	box-shadow: 0 0 15px rgb(51 51 51 / 35%);
	transition: none !important;
}
.aff-in-org-link {
	display:block;
	margin-bottom:20px;
}

.aff-image-in-org-container {
	height: 200px;
}
.aff-image-in-org {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
