.ui-widget {
	font-family: "Source Sans Pro";
}

.node-type-pfp .form-item label {
	font-weight: 400;
}

body.node-type-pfp #wrapper {
	background: #e6f4f6;
	border-top: 1px solid #a3f4ff;
}

#block-alsf-pfp-alsf-pfp-header.block {
	margin: 0;
}

.hide-submit-processing,
#content p, 
.description {
	
	font-size: 16px;
}

.node-type-pfp input, 
.node-type-pfp input.form-text, 
.node-type-pfp select, 
.node-type-pfp .js-select select, 
.node-type-pfp textarea.form-textarea {
	border: 1px solid #ccc;
	color: #222;
	font-size: 17px;
	height: auto;
	padding: 8px;
}

.node-type-pfp .js-select select:hover {
	background: #fed233;
	color: #222;
}

.node-type-pfp #edit-billing-zip,
.node-type-pfp #edit-billing-street-address,
.node-type-pfp #edit-billing-supplemental-address-1,
.node-type-pfp #edit-billing-city,
.node-type-pfp #edit-mailing-fields input.form-text {
	width: 90%;
}


.form-item-billing-address .form-item.form-type-radios,
.form-item-mailing-address .form-item.form-type-radios {
	margin: 0;
}

#edit-mailing-new-address, 
#edit-billing-new-address {
	margin: 20px 0 0;
}

.form-type-select.form-item-restriction-options {
    background: transparent;
    clear: left;
    float: left;
    margin: -10px 0 20px;
}

#edit-contribution-details .form-type-select.form-item-restriction-options label {
	display: none;
}

.form-type-select.form-item-restriction-options select {
    display: table;
    margin: 0 auto;
}

.form-item-mailing-set-default label.option,
.form-item-billing-set-default label.option {
	font-size: 16px;
}

.form-item.form-item-first-name {
	clear: left;
}

.not-logged-in .form-item.form-item-mailing-phone {
	margin-top: -75px;
}

.form-item.form-item-first-name input, 
.form-item.form-item-last-name input, 
.form-item.form-item-mailing-phone input, 
#edit-billing-new-address div.form-item input, 
#edit-mailing-new-address div.form-item input, 
.form-item.form-item-current-employer input {
	max-width: 90%;
}

.page-node-pledge .alsf-payment-form .form-item .form-item.form-item-billing-address label,
.page-node-pledge .alsf-payment-form .form-item label,
.page-node-pledge .alsf-payment-form #edit-authorize-fields .form-item.form-item-card-number label,
.page-node-donate.node-type-pfp .form-item-payment-method label:first-of-type,
.node-type-pfp .form-item-custom-18 label,
.form-item-billing-same-as-mailing label.option,
#edit-ecards label.option {
	color: #222;
    font-size: 18px;
	font-weight: 600;
    line-height: 130%;
	margin: 0 0 5px;
}

.page-node-pledge .alsf-payment-form .form-item .form-item.form-item-billing-address .form-item-billing-address label,
.page-node-pledge .alsf-payment-form .form-item .form-item label {
	font-size: 16px;
	font-weight: 500;
}

.node-type-pfp #edit-expiration {
	clear: both;
	margin: 0;
}

.node-type-pfp .form-item-cvv label {
	margin-top: 11px;
}

.node-type-pfp input#edit-amount-recurring,
.node-type-pfp input#edit-amount {
	width: 150px;
}

#edit-authorize-fields .form-item-cvv .description {
	margin: 11px 0 0 5px;
}

#edit-authorize-fields .form-item-cvv input {
	height: 22px;
}

div.form-type-radios.form-item-recurring-frequency, 
div.form-type-radios.form-item-honor-choice, 
div.form-type-radios.form-item-recurring-toggle, 
div.form-type-checkbox.form-item-restriction, 
div.form-type-checkbox.form-item-company-matching, 
div#edit-amount-wrapper, 
div.form-type-radios.form-item-honor-notification, 
div#edit-amount-recurring-wrapper, 
div#edit-display-wrapper, 
div#edit-display-options-wrapper .form-item.form-item-pcp-is-anonymous {
    border-top: 2px solid #eee;
	clear: both;
    padding-top: 20px;
    width: 100%;	
}

div#edit-display-options-wrapper .form-item.form-item-pcp-is-anonymous .form-item-pcp-is-anonymous {
	border: none;
	clear: none;
	width: 90px;
}

div.no-border#edit-display-options-wrapper .form-item.form-item-pcp-is-anonymous {
	border-top: none;
	padding-top: 0;
}

#edit-contribution-details .fieldset-subsection#edit-amount-wrapper .form-type-radio label, #edit-contribution-details .fieldset-subsection#edit-amount-recurring-wrapper .form-type-radio label, #edit-contribution-details .fieldset-subsection label,
#alsf-payment-form-wrapper div.form-radios.buttonize label {
	color: #025c95;
}

#alsf-payment-form-wrapper div.form-radios.buttonize input[type="radio"]:checked + label, #edit-contribution-details .fieldset-subsection#edit-amount-wrapper input[type="radio"]:checked + label, #edit-contribution-details .fieldset-subsection#edit-amount-recurring-wrapper input[type="radio"]:checked + label {
	background: #025c95;
}


#edit-contribution-details .fieldset-subsection#edit-amount-wrapper input[type="radio"]:hover + label, #edit-contribution-details .fieldset-subsection#edit-amount-recurring-wrapper input[type="radio"]:hover + label, #alsf-payment-form-wrapper div.form-radios.buttonize input[type="radio"]:hover + label {
	background: #57c8dc;
}

#edit-recurring-toggle-nudge-container {
    background: #fcf9c2;
    clear: both;
    display: block;
    text-align: center;
    margin-bottom: 20px;
    padding: 7px;
}

.recurring-toggle-nudge {
	color: #025c95;
	font-size: 14px;
}

.recurring-toggle-nudge a {
	border-bottom: 1px dotted;
	font-weight: 900;
}

.recurring-toggle-nudge a:hover {
	border-bottom: 1px solid;
}

.node-type-pfp .form-type-radios label.option {
	float: left;
	
	width: 87%;
}

#alsf-payment-form-wrapper div.form-radios.buttonize label {
	height: 20px;
}

#edit-contribution-details .form-item.form-item-share-name-with-owner label.option,
.page-node-pledge .alsf-payment-form .form-item-hide-name label.option,
#edit-echeck-fields label,
#edit-ecards .form-item-ecard-recipients label,
#edit-ecards .form-item-ecard-message label,
#edit-contribution-details .form-item.form-item-pcp-roll-nickname label,
#edit-contribution-details .form-item.form-item-pcp-personal-note label {
	color: #003150;
	
	font-size: 16px;
}

.page-node-donate.node-type-pfp .form-item label {
	
}

.form-item-mailing-address label:first-of-type {
	color: #003150;
}

.form-item-mailing-zip,
.form-item-billing-zip {
	clear: left;
}

#edit-authorize-fields #edit-expiration .form-item.form-item-expiration-month {
	margin-right: 3px;
}

.company-matching-details {
	
	font-size: 16px;
}

.node-type-pfp input.js-checkbox {
	height: auto;
	margin: 0;
	width: 18px;
}

.node-type-pfp input.form-submit {
    background: #003150;
    border-radius: 3px;
	clear: both;
    color: #fff;
	display: table;
    font-family: "Source Sans Pro", sans-serif;
	font-size: 22px;
	height: auto;
    margin: 0 auto;
    padding: 12px 30px;
    text-decoration: none;
}

.node-type-pfp input.form-submit:hover {
	background: #57c8dc;
}

.page-node-pledge .main-block #content,
.pfp-page .main-block #content {
    float: none;
	margin: 0 auto 40px;
}

#content .description p, 
.form-item.form-item-pcp-is-anonymous .description {
	clear: both;
	
	font-size: 14px;
}

.form-item.form-item-pcp-is-anonymous .description {
	float: left;
	margin: -10px 0 10px;
}

.page-node-pledge #edit-authorize-fields {
	margin: 20px 0;
}

.page-node-pledge #alsf-pledge-create-incomplete-form,
.page-node-pledge .alsf-payment-form {
	background: #fff;
	border: 2px dashed #e82433;
	clear: both;
	margin: 0 0 12px;
    padding: 30px 36px;
}

.counter {
	font-family: latoitalic;
	font-size: 13px;
	margin: 5px 0 0;
}

div#edit-echeck-fields,
.form-item-pcp-roll-nickname label {
	clear: both;
}

div.form-radios.buttonize div.form-item {
	height: 44px;
}

#content #donate-header h2 {
	color: #e82433;
	float: left;
	font-size: 40px;
	font-weight: 900;
	margin: 0 0 10px;
}

#donate-header .pfp-page-title {
	color: #003150;
	float: right;
	font-size: 21px;
	font-weight: 700;
	margin: 16px 0 10px;
}

.form-item.form-type-radios.form-item-profile-choice {
	margin: 0;
}

.form-item-billing-address .form-radios .form-type-radio,
.form-item-profile-choice .form-radios .form-type-radio {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 8px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    float: left;
    margin: 0 15px 15px 0;
    min-height: 50px;
    padding: 15px;
    width: 55%;
}

.page-node-pledge .address-options .form-type-radio input,
.form-item-profile-choice input.form-radio {
	float: left;
	margin-right: 10px;
}

.page-node-pledge .alsf-payment-form .form-item-billing-address .form-type-radio label,
.page-node-pledge .alsf-payment-form .form-item-profile-choice .form-type-radio label {
	font-size: 15px;
	line-height: 140%;
}

.form-item-hide-name,
.form-item-roll-nickname {
	clear: both;
}

.alsf_hide_name_message {
	margin-bottom: 15px;
}

.page-node-pledge #crm-container fieldset, .page-node-pledge fieldset {
	background: none;
	margin: 0;
	padding: 0;
	position: relative;
	top: 15px;
}

#pledge-details-wrapper h3, 
.page-node-pledge #crm-container fieldset legend, .page-node-pledge fieldset legend {
	color: #003b73;
    font-size: 26px;
	font-weight: 700;
	margin: 0 0 10px;
	padding: 0;
}

.page-node-pledge #edit-profile-data p:last-child {
    background: #fef9b5;
    margin: 0 0 35px;
	padding: 20px;	
}

.page-node-pledge .fieldset-wrapper {
	padding: 0;
}

fieldset.form-wrapper {
	clear: both;
}

.page-node-pledge .alsf-payment-form .form-item.form-item-cvv label {
    font-size: 11px;
    margin-top: 20px;
    margin-bottom: 4px;
}

#edit-matching-wrapper {
	margin-bottom: 20px;
}

.form-item-billing-country {
	clear: left;
}

/* Accordion behavior 
-------------------------------------------------*/

.ui-accordion {
	clear: both;
}

.ui-state-disabled {
	opacity: 0.9;
}

.ui-accordion .ui-accordion-header .ui-accordion-header-icon {
	display: none;
}

.pfp-page #content h3.ui-accordion-header {
	background: #fff;
    border: 2px dashed #fed233;
	color: #018ba8;
	
	font-size: 26px;
	font-weight: 600;
    margin: 0 0 12px;
    padding: 20px 2.2em 20px;
}

.pfp-page #content h3.ui-accordion-header:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 9px;
	border-color: transparent transparent transparent #018ba8;
	left: 36px;
	position: absolute;
	top: 30px;
}

.pfp-page #content h3.ui-accordion-header.ui-state-disabled {
	background: #fff;
	border: 2px dashed #aaa;
	color: #999;
	
	font-size: 26px;
    margin: 0 0 12px;
    padding: 20px 2.2em 20px;
}

.pfp-page #content h3.ui-accordion-header.ui-state-disabled:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8px 0 8px 9px;
	border-color: transparent transparent transparent #aaa;
	left: 36px;
	position: absolute;
	top: 30px;
}

.pfp-page #content h3.ui-accordion-header.ui-accordion-header-active {
    border: 2px dashed #fed233;
	border-bottom: none;
	color: #003b73;
	margin: 0;
	position: relative;
}

.pfp-page #content h3.ui-accordion-header.ui-accordion-header-active:before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 9px 8px 0 8px;
	border-color: #003b73 transparent transparent transparent;
	left: 36px;
	position: absolute;
	top: 34px;
}

.ui-accordion-content.ui-widget-content {
    border: 2px dashed #fed233;	
	border-top: none;
	margin: 0 0 12px;
	padding: 0 36px 30px;
}

.node-type-pfp a.next-section-button {
    background: #018cb8;
    border-radius: 3px;
	clear: both;
    color: #fff;
	display: table;
    
    margin: 0 auto;
    padding: 12px 30px;
    text-decoration: none;
}

.node-type-pfp a.next-section-button:hover,
.node-type-pfp a.next-section-button:active {
	background: #003150;
}

.node-type-pfp input.alsf-payment-submit-element:disabled,
.node-type-pfp a.next-section-button.disabled {
	background: #ccc;
	clear: both;
}

/* Ecards
-----------------------------------------------------*/

#ecard-style-wrapper {
	float: left;
	margin: 0 0 20px;
}

#edit-style .form-item.form-item-style,
div.invitation-style-radios .form-item.form-item-style,
div.invitation-style-radios .form-item.form-item-ecard-style {
	clear: none;
	float: left;
	margin: 0 5px 0 0;
}

.form-type-radio.form-item-ecard-style input.form-radio {
	position: absolute;
}

.form-type-radio.form-item-ecard-style label.option {
	cursor: pointer;
	margin-left: 0;
	margin-right: 5px;
	position: relative;
}

.form-item-ecard-recipients {
	clear: both;
}

#edit-ecard-style input.form-radio {
	cursor: pointer;
	height: 116px;
	margin-left: 10px;
	opacity: 0;
	position: absolute;
	width: 160px;
	z-index: 3;
}

#ecard-style-wrapper .form-radios .form-item.form-item-ecard-style {
	height: 220px;
}

.form-type-radio.form-item-ecard-style input + label>img {
	border: 3px solid #fef735;
}

.form-type-radio.form-item-ecard-style input:checked + label>img {
	border: 3px solid #018ba8;
}

/* Confirmation page
----------------------------------------------------*/

#content .contribution-results h2 {
	color: #003b73;
	
    font-size: 26px;
	margin: 0 0 15px;
}

.contribution-share,
.contribution-results .confirmation {
	background: #fff;
	border: 2px dashed #fed233;
	clear: both;
	margin: 20px 0;
	padding: 25px 40px;
}

.contribution-share {
	padding: 20px 20px 40px;
}

.contribution-share .item-list {
	float: none;
}

.contribution-share p {
	color: #003b73;
	margin: 0 0 15px !important;
	text-align: center;
}

.contribution-share ul {
	display: table;
	margin: 0 auto;
}

.contribution-share .item-list .share-links li {
	display: inline;
	list-style: none;
	margin: 0;
}

.contribution-share .share-links li a {
	background: url("/sites/all/themes/alsf_adaptive/images/donate/donate-share.png"); 
	display: inline-block;
	height: 32px;
	margin: 0 15px;
	text-indent: -9999px;
	width: 40px;
}

.contribution-share .share-links li.facebook a {
	background-position: 10px 0;
}

.contribution-share .share-links li.facebook a:hover {
	background-position: 10px -39px;
}

.contribution-share .share-links li.twitter a {
	background-position: -45px 0;
}

.contribution-share .share-links li.twitter a:hover {
	background-position: -45px -39px;
}

.contribution-share .share-links li.linkedin a {
	background-position: -100px 0;
}

.contribution-share .share-links li.linkedin a:hover {
	background-position: -100px -39px;
}

.contribution-share .share-links li.email a {
	background-position: -160px 0;
}

.contribution-share .share-links li.email a:hover {
	background-position: -160px -39px;
}

.contribution-back-link {
	border-bottom: 1px dotted;
	display: inline-block;
	font-size: 15px;
	font-style: italic;
    margin: 0 0 15px;
    text-align: center;
}

.node-type-pfp #content table th {
	font-size: 16px;
    padding: 11px;
	text-transform: none;
	vertical-align: top;
    width: 25%;
}

.node-type-pfp #content table td {
	
	font-size: 16px;
}

.contribution-tax-notice {
	
	font-size: 13px;
}

.form-item-restriction-presets .form-required {
	display: none;
}

input#edit-field-pledge-rate {
	width: 100px;
}

#block-system-main .alsf-payment-form strong {
	font-weight: 600;
}

.donation-summary-type {
	text-align: center;
}

.donation-summary-amount {
    color: #000;
    display: block;
    font-size: 48px;	
    font-weight: 600;	
    line-height: 1.3;
	text-align: center;
}

.donation-summary-honor, 
.donation-summary-memorial,
.donation-summary-designation {
	display: flex;
	font-size: 15px;
	margin: 6px 0;
}

.form-item-cover-fees {
	align-items: flex-start;
	background: #FEED7F;
    display: flex;	
    margin: 20px -35px !important;
    padding: 20px 40px;
}

.page-node-donate.node-type-pfp .form-item-cover-fees label.option {
	font-weight: 600 !important;
}

.form-item-cover-fees input[type="checkbox"] {
	margin-top: 5px;
    margin-right: 5px;
}

.form-item-cover-fees:hover,
.form-item-cover-fees:has(input:checked) {
	background: url("/sites/all/themes/alsf_adaptive/images/bg-lemons-yellow.png");
	background-size: 300%;
	cursor: pointer;
}

.form-item-cover-fees label {
	cursor: pointer;
}

#donation-summary-honor-label,
#donation-summary-memorial-label,
#donation-summary-designation-label {
    margin-right: 3%;	
    text-align: right;
	width: 28%;	
}

#donation-summary-honor-value,
#donation-summary-memorial-value,
#donation-summary-designation-value {
	font-weight: 600;
	width: 69%;
}


/* Responsive
-----------------------------------------------------*/

@media screen and (max-width:767px) {
	textarea.form-textarea {
		width: 100%;
	}
	
	.form-item-profile-choice .form-radios .form-type-radio {
		width: 90%;
	}
	
	#donate-header .pfp-page-title {
		display: none;
	}
	
	.not-logged-in .form-item.form-item-mailing-phone {
		margin-top: 0;
		margin-bottom: 15px;
	}
	
	.form-item-cover-fees input[type="checkbox"] {
		margin-top: 3px;
	}
	
	.form-item-cover-fees {
		margin: 15px -35px !important;
	}
}

@media screen and (max-width:660px) {
	.page-node-pledge #alsf-pledge-create-incomplete-form, 
	.page-node-pledge .alsf-payment-form {
		padding: 20px;
	}
	
	.page-node-pledge .alsf-payment-form .form-item label, .page-node-pledge .alsf-payment-form #edit-authorize-fields .form-item.form-item-card-number label, .page-node-donate.node-type-pfp .form-item-payment-method label:first-of-type, .node-type-pfp .form-item-custom-18 label, .form-item-billing-same-as-mailing label.option, #edit-ecards label.option {
		font-size: 16px;
	}
	
	.form-item-field-pledge-rate span.field-prefix {
		float: left;
		padding: 9px 5px 0 0;
	}
	
	input#edit-field-pledge-rate.form-text {
		width: 77%;
	}
	
	.page-node-pledge #edit-authorize-fields {
		margin: 15px 0;
	}
	
	#content #donate-header h2 {
		font-size: 30px;
	}
	
	.page-node-pledge #crm-container fieldset legend, .page-node-pledge fieldset legend {
		font-size: 22px;
	}
	
	#edit-donation-display .form-item.form-item-share-name-with-owner {
	    line-height: 120%;
		margin: -10px 0 20px;
	}
	
	#mailing-state-wrapper {
		clear: left;
		width: 100%;
	}
}

@media screen and (max-width:640px) {
	.pfp-page #content h3.ui-accordion-header.ui-accordion-header-active,
	.pfp-page #content h3.ui-accordion-header.ui-state-disabled,
	.pfp-page #content h3.ui-accordion-header {
		font-size: 20px;
		padding: 16px 1.5em 16px;
	}
	
	.pfp-page #content h3.ui-accordion-header.ui-state-disabled:before,
	.pfp-page #content h3.ui-accordion-header:before {
		border-width: 6px 0 6px 7px;
		left: 15px;
		top: 20px;
	}
	
	.page-node-donate.node-type-pfp .form-item-payment-method label:first-of-type, 
	.node-type-pfp .form-item-custom-18 label, 
	.form-item-billing-same-as-mailing label.option, 
	#edit-ecards label.option {
		font-size: 19px;
	}
	
	.pfp-page #content h3.ui-accordion-header.ui-accordion-header-active:before {
		border-width: 7px 6px 0 6px;
		left: 10px;
		top: 23px;
	}
	
	.node-type-pfp a.next-section-button {
		padding: 10px 30px;
	}
	
	.ui-accordion-content.ui-widget-content {
		padding: 0 24px 30px;
	}
	
	#pfp-subpage-links .back-link,
	#pfp-subpage-links .pfp-id {
		float: none;
		text-align: center;
	}
	
	.contribution-share, 
	.contribution-results .confirmation {
		padding: 25px;
	}
	
	#content .contribution-results h2 {
		font-size: 22px;
	}
	
	.node-type-pfp #content table th, 
	.node-type-pfp #content table td {
		float: left;
		font-size: 14px;
		padding: 10px 0 0;
		width: 100%;
	}
	
	.node-type-pfp #content table td {
		padding: 0 0 10px;
	}
	
	.form-item.form-item-pcp-is-anonymous .description {
		float: left;
		margin: -25px 0 10px;
	}
	
	.page-node-donate.node-type-pfp .form-item label {
		font-size: 16px;
	}
	
	.contribution-share .share-links li a {
		margin: 0 8px;
	}
	
	.form-type-select.form-item-custom-18 {
		margin-top: 0;
	}
}

@media screen and (max-width:380px) {
	.form-item-cover-fees {
		padding: 20px 25px;
	}
}