/* UNDERLINE PSEUDO-ELEMENTS
 * We often like to add an underline to a header element to give it a little
 * more attention. These classes are perfect for that since they use the after
 * pseudo element to create a bottom underline which doesn't take up the whole
 * width of the element.
 */

.underline-blue::after,
.underline-green::after,
.underline-red::after {
	border-bottom-style: solid;
	border-width: 2px;
	content: "";
	display: block;
	margin: 5px auto 25px auto;
	max-width: 30%;
	padding: 3px 0;
}
.underline-blue::after {
	border-color: #4D9DB3;
}
.underline-green::after {
	border-color: #4DA394;
}
.underline-red::after {
	border-color: #F53D57;
}


/* BORDER COLORS
 * By adding these classes to <hr> elements we can create a colored horizontal
 * rule to help break up the page, but with more visual interest or more
 * noticeably than a simple grey horizontal rule.
 */

.border-blue {
	border-color: #4D9DB3;
}
.border-green {
	border-color: #4DA394;
}
.border-red {
	border-color: #F53D57;
}

hr.red-divider {
  border-top: 3px solid #ff0000;
}


/* INPUT OVERLAYS
 * Input overlays allow certain elements to appear to be overlaid on top of
 * form controls without needing to do a bunch of fancy position magic. It
 * works by making a wrapping div behave as the form control while displaying
 * the contained elements in a flexbox.
 *
 * Most of the time this will be used to display a currency label. The
 * currency label will be aligned according to the language defined on the
 * <html> tag.
 *
 * Alternatively the field can display some text, such as a "&times;"
 * character. Text formatted like this will always be displayed on the left
 * side of the input.
 */

.input-overlay {
	align-items: center;
	background-color: #FAFAFA;
	border: 1px solid #D2D2D2;
	border-radius: 3px;
	-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
	color: #555555;
	display: flex;
	-webkit-transition: border-color ease-in-out 0.15s,
											-webkit-box-shadow ease-in-out 0.15s;
	-o-transition: border-color ease-in-out 0.15s,
								 box-shadow ease-in-out 0.15s;
	transition: border-color ease-in-out 0.15s,
							box-shadow ease-in-out 0.15s;
}
.input-overlay:focus-within {
	border-color: #66AFE9;
}
.input-overlay.disabled {
	background-color: #EEEEEE;
	cursor: not-allowed;
}
.input-overlay > .input-overlay-currency {
	order: 2;
	padding-left: 12px;
}
.input-overlay > .input-overlay-text {
	order: 1;
	padding-left: 12px;
}
.input-overlay > .input-overlay-text,
.input-overlay > span.input-overlay-currency {
	font-size: inherit;
	font-weight: 900;
}
.input-overlay > .form-control {
	background-color: transparent;
	border: none;
	border-radius: 0;
	height: 34.4px;
	-webkit-box-shadow: none;
	box-shadow: none;
	order: 3;
}
.input-group > .input-overlay {
	border-radius: 0;
}
.input-group > .input-overlay:first-child {
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
}
.input-group > .input-overlay:last-child {
	border-bottom-right-radius: 3px;
	border-top-right-radius: 3px;
}
.input-group.input-group-sm > .input-overlay > .input-overlay-currency,
.input-overlay.input-overlay-sm > .input-overlay-currency,
.input-group.input-group-sm .input-overlay > .input-overlay-text,
.input-overlay.input-overlay-sm > .input-overlay-text {
	padding-left: 10px;
}
.input-group.input-group-sm > .input-overlay > .form-control,
.input-overlay.input-overlay-sm > .form-control {
	height: 28.4px;
	padding: 5px 10px;
	font-size: 12px;
	line-height: 1.5;
}
.input-group > .input-overlay {
	border-radius: 0;
}
.input-group > .input-overlay:first-child {
	border-bottom-left-radius: 3px;
	border-top-left-radius: 3px;
}
.input-group > .input-overlay:last-child {
	border-bottom-right-radius: 3px;
	border-top-right-radius: 3px;
}

/* Certain languages display the currency label on the right side of the value
 * instead of the left. By switching the flex order and a little bit of
 * padding we can properly render the donation field for all languages.
 *
 * Any languages added or removed here should also be updated in the Django
 * settings: `settings.CURRENCY_RIGHT_ALIGN`.
 */
html[lang="de"] .input-overlay > .input-overlay-currency,
html[lang="fi"] .input-overlay > .input-overlay-currency,
html[lang="fr"] .input-overlay > .input-overlay-currency,
html[lang="sv"] .input-overlay > .input-overlay-currency {
	order: 3;
	padding-left: 0;
	padding-right: 12px;
}
html[lang="de"] .input-overlay > .form-control,
html[lang="fi"] .input-overlay > .form-control,
html[lang="fr"] .input-overlay > .form-control,
html[lang="sv"] .input-overlay > .form-control {
	order: 2;
}
html[lang="de"] .input-overlay.input-overlay-sm > .input-overlay-currency,
html[lang="fi"] .input-overlay.input-overlay-sm > .input-overlay-currency,
html[lang="fr"] .input-overlay.input-overlay-sm > .input-overlay-currency,
html[lang="sv"] .input-overlay.input-overlay-sm > .input-overlay-currency {
	padding-right: 10px;
}

/* Patch the button in the same input group as an input overlay so that the
 * background color transitions instead of jumping to its hover state. The
 * input overlay transitions its border nicely and having the two match seems
 * good.
 */
.input-overlay + .input-group-btn > .btn {
	-webkit-transition: background ease-in-out 0.15s;
	-o-transition: background ease-in-out 0.15s;
	transition: background ease-in-out 0.15s;
}

/* Patch buttons in input groups to a height which matches the form control.
 * Whether from GFA's modifications to Bootstrap or natively in Bootstrap they
 * don't line up nicely.
 */
.input-group-btn > .btn {
	line-height: 24px;
}


/* DONATION FIELDS
 * The donation field is a pretty simple wrapper around an input group native
 * to Bootstrap. Just convert it to a flexbox so we can control the sizing
 * more precisely and set a maximum width on the whole form.
 */

.donation-field {
	max-width: 450px;
	width: 100%;
}
.donation-field > .input-group {
	display: flex;
	flex-wrap: wrap;
}
.donation-field > .input-group > .input-overlay {
	flex: 2;
}
.donation-field > .input-group > .input-overlay:focus-within,
.donation-field > .input-group > .form-control:focus {
	z-index: 3;
}
.donation-field > .input-group > .input-overlay + .form-control {
	flex: 1;
	left: -1px;
}
.donation-field > .input-group > .input-overlay > .form-control {
	font-size: 1em;
	font-weight: 500;
}
.donation-field > .input-group > .input-group-btn {
	flex-shrink: 0;
	width: auto;
}
.donation-field > .input-group > .input-group-btn:nth-child(3) {
	margin-top: 10px;
	width: 100%;
}
.donation-field > .input-group > .input-group-btn > .btn {
	width: 100%;
	white-space: nowrap;
}
@media (max-width: 767px) {
	/* When a recurrence dropdown is included in the donation field the button
	 * drops to a second line and needs to regain the rounded left corners.
	 */
	.donation-field > .input-group > select.form-control + .input-group-btn > .btn {
		border-bottom-left-radius: 3px;
		border-top-left-radius: 3px;
	}
	.donation-field > .input-group > .input-overlay + .form-control {
		border-bottom-right-radius: 3px;
		border-top-right-radius: 3px;
	}
}
@media (min-width: 768px) {
	.donation-field > .input-group > .input-group-btn:nth-child(3) {
		margin-top: 0;
		width: auto;
	}
}


/* DONATION BOXES AND RIBBONS
 * Donation boxes create a form where a series of three buttons allow donors
 * to give a pre-suggested donation amount with a single click, while also
 * allowing them to enter a donation amount of their own choosing.
 * Donation ribbons are pretty similar in function, but are laid out a little
 * differently, usually outside of a container element.
 */

.donation-box {
	border-bottom: 1px solid #D2D2D2;
	border-top: 1px solid #D2D2D2;
	padding: 15px 0;
}
.donation-box > h3:first-child {
	margin-top: 0;
}

.donation-ribbon {
	margin-bottom: 0;
	padding: 1.5rem 0;
}
.donation-ribbon > .container > .donation-title {
	color: #FFF;
	font-weight: 600;
	margin: 0 0 1.5rem 0;
	text-align: center;
	width: 100%;
}
.donation-ribbon > .container > .donation-options {
	width: 100%;
}
.donation-ribbon .btn,
.donation-ribbon .input-overlay {
	background-color: rgba(0, 0, 0, 0.3);
	border-color: transparent;
	color: white;
	transition: background-color 0.15s ease-in-out;
}
.donation-ribbon .btn:focus,
.donation-ribbon .btn:hover,
.donation-ribbon .input-overlay:focus-within,
.donation-ribbon .input-overlay:hover {
	background-color: rgba(0, 0, 0, 0.18);
}
.donation-ribbon .input-overlay .input-overlay-currency,
.donation-ribbon .input-overlay .form-control {
	color: rgba(255, 255, 255, 0.8);
}
.donation-ribbon .donation-input-group {
	display: flex;
}
.donation-ribbon .donation-input-group .input-overlay {
	flex-grow: 1;
	border-bottom-right-radius: 0;
	border-top-right-radius: 0;
	border-right-color: rgba(255, 255, 255, 0.5);
}
.donation-ribbon .donation-input-group .btn {
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}

.donation-box .donation-btn-group,
.donation-ribbon .donation-btn-group {
	display: flex;
}
.donation-box .donation-btn-group > .btn,
.donation-ribbon .donation-btn-group > .btn {
	margin: 0 3px;
	flex-grow: 1;
	-webkit-transition: background ease-in-out 0.15s;
	-o-transition: background ease-in-out 0.15s;
	transition: background ease-in-out 0.15s;
}
.donation-box .donation-btn-group > .btn:first-child,
.donation-ribbon .donation-btn-group > .btn:first-child {
	margin-left: 0;
}
.donation-box .donation-btn-group > .btn:last-child,
.donation-ribbon .donation-btn-group > .btn:last-child {
	margin-right: 0;
}
.donation-box .donation-btn-group + .donation-input-group,
.donation-ribbon .donation-btn-group + .donation-input-group {
	margin-top: 15px;
}
.donation-box .input-group > .input-overlay > .form-control,
.donation-ribbon .donation-input-group > .input-overlay > .form-control {
	height: 40px;
}
.donation-box .input-group > .input-group-btn > .btn,
.donation-ribbon .donation-input-group > .input-group-btn > .btn {
	height: 41.6px;
}
@media (min-width: 768px) {
	.donation-ribbon {
		position: relative;
	}
	.donation-ribbon-arrow::before {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		right: 50%;
		top: 0;
		background-color: rgba(255, 255, 255, 0.4);
		clip-path: polygon(0% 0%, 89% 0%, 100% 50%, 89% 100%, 0 100%);
		mix-blend-mode: overlay;
		pointer-events: none;
	}
	.donation-ribbon > .container {
		align-items: center;
		display: flex;
	}
	.donation-ribbon > .container > .donation-title {
		margin-bottom: 0;
		margin-right: 10rem;
		text-align: right;
	}
	
	.donation-box .donation-btn-group {
		margin-bottom: 0;
		margin-right: 3px;
		width: 100%;
	}
	.donation-box .input-group {
		margin-left: 3px;
		max-height: 42px;
	}
	.donation-box > .donation-options {
		display: flex;
	}
}
@media (min-width: 992px) {
	.donation-ribbon-arrow::before {
		clip-path: polygon(0% 0%, 93% 0%, 100% 50%, 93% 100%, 0 100%);
	}
	.donation-ribbon .donation-btn-group {
		margin-bottom: 0;
		margin-right: 3px;
		width: 100%;
	}
	.donation-ribbon .donation-input-group {
		margin-left: 3px;
	}
	.donation-ribbon .donation-input-group .input-overlay {
		border-bottom-right-radius: 3px;
		border-top-right-radius: 3px;
		border-right-color: transparent;
		margin-right: 3px;
	}
	.donation-ribbon .donation-input-group .btn {
		background-color: rgba(255, 255, 255, 0.35);
		border-bottom-left-radius: 3px;
		border-top-left-radius: 3px;
		margin-left: 3px;
		opacity: 0;
		pointer-events: none;
		transition: background-color 0.15s ease-in-out,
			opacity 0.15s ease-in-out;
	}
	.donation-ribbon .donation-input-group .btn:focus,
	.donation-ribbon .donation-input-group .btn:hover {
		background-color: rgba(255, 255, 255, 0.25);
	}
	.donation-ribbon .donation-input-group .btn.active {
		opacity: 1;
		pointer-events: auto;
	}
	.donation-ribbon > .container > .donation-options {
		display: flex;
	}
	
	.donation-box .donation-btn-group + .donation-input-group,
	.donation-ribbon .donation-btn-group + .donation-input-group {
		margin-top: 0;
	}
}
@media (min-width: 1200px) {
	.donation-ribbon > .container > .donation-title {
		font-size: 28px;
		margin-right: 10rem;
	}
}


/* FORM FIELDSETS
 * By wrapping two or more `.form-group` elements with a `<fieldset>` tag they
 * can be displayed inline with each other. The spacing between the inline
 * form groups matches the bottom margin that form groups already have.
 *
 * On mobile devices the inline fieldset switches to display each form group
 * as its own full-width block.
 */

fieldset {
    display: flex;
    flex-direction: column;
    margin: 0 -5px 0 -5px;
}
fieldset > .form-group {
    margin: 0 5px 10px 5px;
}
@media (min-width: 768px) {
    fieldset {
        flex-direction: row;
    }
    fieldset > .form-group {
        width: 100%;
    }
}


/* FLOATING FIELD LABELS
 * Floating field labels display the label over the input as a
 * pseudo-placeholder which then floats up to the top when the user focuses on
 * the input or a value is assigned.
 */

.form-group-float {
  position: relative;
}
.form-group-float > .form-control {
  height: 46px;
  padding-bottom: 1px;
  padding-top: 12px;
}
.form-group-float > input.form-control::placeholder {
  color: transparent;
}
.form-group-float > .form-control + .form-label {
  color: #999999;
  left: 12.5px;
  position: absolute;
  transition: all 0.15s ease-in-out;
}
.form-group-float > input.form-control + .form-label {
  font-size: 14px;
  font-weight: normal;
  pointer-events: none;
  top: 12px;
}
.form-group-float > .form-control:focus + .form-label {
  color: inherit;
}
.form-group-float > select.form-control + .form-label,
.form-group-float > input.form-control:focus + .form-label,
.form-group-float > input.form-control:not(:placeholder-shown) + .form-label {
  font-size: 12px;
  font-weight: 600;
  transform: translateY(-11px);
}


/* CATALOG ITEM LIST
 * The list of all donation items, which is used in both the donation catalog
 * and the Christmas Gift Catalog pages, needs a few styles. These mostly
 * aren't controlling alignment - that's done with Bootstrap rows and columns.
 *
 * The most technical styles are the ones applied to `div.messages` and the
 * child elements thereof. Together with a bit of JavaScript these classes
 * allow the messages to be displayed for a short duration to the user on 
 * triggering an event.
 */

.catalog-item {
	border-bottom: 1px solid #EEE;
	padding-bottom: 20px;
	margin-bottom: 20px;
}
.catalog-item h3 {
	font-size: 20px;
	margin: 0;
}
.catalog-item .catalog-item-body > p,
.catalog-item .collapse-body > p:last-child {
	margin-bottom: 0;
}
.catalog-item .catalog-item-body > p:last-of-type {
	margin-top: 10px;
}
.catalog-item .collapse-body {
	background-color: #EAEDF2;
	border-radius: 3px;
	padding: 20px;
}
.catalog-item a > .fa {
	margin-left: 5px;
}
.messages > p {
	display: none;
	margin: 0;
	opacity: 0;
	transition: opacity 0.15s ease-in-out;
}
.messages > .btn + p {
	padding: 4.4px 0;
}
.messages.showing-success > .btn,
.messages.show-success > .btn {
	display: none;
}
.messages.showing-invalid > p.message-invalid,
.messages.show-invalid > p.message-invalid,
.messages.showing-minimum > p.message-minimum,
.messages.show-minimum > p.message-minimum,
.messages.showing-success > p.message-success,
.messages.show-success > p.message-success {
	display: block;
}
.messages.show-invalid > p.message-invalid,
.messages.show-minimum > p.message-minimum,
.messages.show-success > p.message-success {
	opacity: 1;
}


/* SECTION NAVBAR
 * A flex-based navbar for the local section of the website. By combination
 * with the following display rules this navbar is highly controllable and
 * responsive.
 */

.navbar-section-banner,
.navbar-section-simple {
	min-height: unset;
}
.navbar-section-banner .navbar-nav,
.navbar-section-simple .navbar-nav {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	width: 100%;
}
.navbar-section-simple .navbar-nav {
	border-bottom: 1px solid #ccc;
}
.navbar-section-banner .container > .navbar-nav {
	margin: 0 -15px;
	width: calc(100% + 30px);
}
.navbar-section-banner .navbar-nav > li.active,
.navbar-section-simple .navbar-nav > li.active {
	display: none;
}
.navbar-section-banner .navbar-nav > li > a,
.navbar-section-simple .navbar-nav > li > a {
	font-weight: 600;
	font-size: 0.9em;
	padding: 10px 28px;
	text-align: center;
	text-shadow: none;
	transition: background-color 0.15s ease-in-out;
}
.navbar-section-banner .navbar-nav > li > a {
	color: #FFFFFF !important;
}
.navbar-section-banner .navbar-nav > li.active > a,
.navbar-section-banner .navbar-nav > li.open > a,
.navbar-section-banner .navbar-nav > li > a:active,
.navbar-section-banner .navbar-nav > li > a:focus,
.navbar-section-banner .navbar-nav > li > a:hover {
	background-color: rgba(255, 255, 255, 0.2) !important;
}
.navbar-section-simple .navbar-nav > li > a {
	color: #333333;
	border-radius: 3px;
}
.navbar-section-simple .navbar-nav > li > a.dropdown-toggle {
	background-color: #D9D9D9;
}
.navbar-section-simple .navbar-nav > li.open > a,
.navbar-section-simple .navbar-nav > li > a:active,
.navbar-section-simple .navbar-nav > li > a:focus,
.navbar-section-simple .navbar-nav > li > a:hover {
	background-color: #EEEEEE;
}
.navbar-section-simple .navbar-section-toggle,
.navbar-section-simple .navbar-nav > li.active > a {
	color: #FFFFFF !important;
	background-color: #777777;
}
.navbar-section-simple .navbar-section-toggle {
	margin-bottom: 22px;
}
.navbar-section-simple .navbar-section-toggle:active,
.navbar-section-simple .navbar-section-toggle:focus,
.navbar-section-simple .navbar-section-toggle:hover,
.navbar-section-simple .navbar-nav > li.active > a:active,
.navbar-section-simple .navbar-nav > li.active > a:focus,
.navbar-section-simple .navbar-nav > li.active > a:hover {
	background-color: #9F9F9F !important;
}
.navbar-section-banner .navbar-section-toggle:after,
.navbar-section-banner .dropdown-toggle:after,
.navbar-section-simple .navbar-section-toggle:after,
.navbar-section-simple .dropdown-toggle:after {
	font-family: FontAwesome;
	content: "\f0d7";
}
.navbar-section-banner .navbar-section-toggle:after,
.navbar-section-simple .navbar-section-toggle:after {
	position: absolute;
	right: 20px;
	transition: transform 0.15s ease-in-out;
}
.navbar-section-banner .dropdown-toggle:after,
.navbar-section-simple .dropdown-toggle:after {
	margin-left: 5px;
}
.navbar-section-banner .navbar-section-toggle:not(.collapsed):after,
.navbar-section-simple .navbar-section-toggle:not(.collapsed):after {
	transform: rotate(180deg);
}
.navbar-section-banner .collapse,
.navbar-section-banner .collapsing
.navbar-section-simple .collapse,
.navbar-section-simple .collapsing {
	margin: 0 -15px;
}
@media screen and (min-width: 480px) {
	.navbar-section-banner .navbar-nav,
	.navbar-section-simple .navbar-nav {
		flex-direction: row;
		margin: 0;
		width: 100%;
	}
	.navbar-section-simple .navbar-nav {
		padding-bottom: 22px;
	}
	.navbar-section-banner .navbar-nav > li.active,
	.navbar-section-simple .navbar-nav > li.active {
		display: block;
	}
	.navbar-section-banner .navbar-nav > li > a {
		padding: 10px 13px;
	}
	.navbar-section-simple .navbar-nav > li > a {
		padding: 5px 15px;
		margin: 0 10px;
	}
	.navbar-section-banner .navbar-nav > li.open > .dropdown-menu,
	.navbar-section-simple .navbar-nav > li.open > .dropdown-menu {
		position: absolute;
		top: 100%;
		left: unset;
		min-width: 160px;
		padding: 5px 0;
		background-color: #ffffff;
		border: 1px solid #cccccc;
		border: 1px solid rgba(0, 0, 0, 0.15);
		border-radius: 3px;
		-webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
		box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
		-webkit-background-clip: padding-box;
		background-clip: padding-box;
		list-style: none;
		font-size: 14px;
		text-align: left;
	}
	.navbar-section-banner .navbar-nav > li.open > .dropdown-menu {
		right: 0;
	}
	.navbar-section-simple .navbar-nav > li.open > .dropdown-menu {
		right: 10px;
	}
	.navbar-section-banner .navbar-nav .dropdown-menu > li > a,
	.navbar-section-simple .navbar-nav .dropdown-menu > li > a {
		display: block;
		padding: 3px 20px;
		clear: both;
		font-weight: normal;
		line-height: 1.6;
		color: #333333;
		white-space: nowrap;
		text-decoration: none;
	}
	.navbar-section-banner .navbar-nav .dropdown-menu > li > a:focus,
	.navbar-section-banner .navbar-nav .dropdown-menu > li > a:hover
	.navbar-section-simple .navbar-nav .dropdown-menu > li > a:focus,
	.navbar-section-simple .navbar-nav .dropdown-menu > li > a:hover {
		background-image: -webkit-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
		background-image: -o-linear-gradient(top, #f5f5f5 0%, #e8e8e8 100%);
		background-image: -webkit-gradient(linear, left top, left bottom, from(#f5f5f5), to(#e8e8e8));
		background-image: linear-gradient(to bottom, #f5f5f5 0%, #e8e8e8 100%);
		background-repeat: repeat-x;
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#ffe8e8e8', GradientType=0);
		background-color: #e8e8e8;
	}
	.navbar-section-banner .collapse,
	.navbar-section-simple .collapse {
		display: block;
		height: auto !important;
	}
}


/* DISPLAY RULES
 * These rules are borrowed from later versions of Bootstrap. By combining a
 * couple of these rules when and how elements are displayed can be granularly
 * controlled.
 */

.d-block {
	display: block !important;
}
.d-none {
	display: none !important;
}
@media screen and (min-width: 480px) {
	.d-sm-block {
		display: block !important;
	}
	.d-sm-none {
		display: none !important;
	}
}
@media screen and (min-width: 768px) {
	.d-md-block {
		display: block !important;
	}
	.d-md-none {
		display: none !important;
	}
}
@media (min-width: 992px) {
	.d-lg-block {
		display: block !important;
	}
	.d-lg-none {
		display: none !important;
	}
}
@media (min-width: 1200px) {
	.d-xl-block {
		display: block !important;
	}
	.d-xl-none {
		display: none !important;
	}
}


/**************** Margin Classes ***********/
.append-bottom-half {
  margin-bottom: 10px; }

.append-bottom {
  margin-bottom: 20px; }

.append-bottom2 {
  margin-bottom: 40px; }

.append-bottom3 {
  margin-bottom: 60px; }

.append-bottom4 {
  margin-bottom: 80px; }

.append-bottom-none {
  margin-bottom: 0; }

.append-top-half {
  margin-top: 10px; }

.append-top {
  margin-top: 20px; }

.append-top2 {
  margin-top: 40px; }

.append-top3 {
  margin-top: 60px; }

.append-top-none {
  margin-top: 0; }

.append-both {
  margin-top: 20px;
  margin-bottom: 20px; }

.append-both2 {
  margin-top: 40px;
  margin-bottom: 40px; }

.pad-top {
  padding-top: 20px; }

.pad-top2 {
  padding-top: 40px; }

.pad-top-half {
  padding-top: 10px; }

.pad-bottom {
  padding-bottom: 20px; }

.pad-bottom2 {
  padding-bottom: 40px; }

.pad-bottom-half {
  padding-bottom: 10px; }

.pad-right {
  padding-right: 20px; }

.pad-right2 {
  padding-right: 40px; }

.pad-right-half {
  padding-right: 10px; }

.pad-left {
  padding-left: 20px; }

.pad-left2 {
  padding-left: 40px; }

.pad-left-half {
  padding-left: 10px; }

.top {
  margin-top: 0;
  padding-top: 0; }

.top-nudge {
  margin-top: 3px; }

.bottom {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important; }

.bottom-nudge {
  margin-bottom: 3px; }


@media (max-width: 999px) {

  .mobile-append-top-half { margin-top: 10px; }
  .mobile-append-bottom-half { margin-bottom: 10px; }
  .mobile-append-bottom { margin-bottom: 20px; }
  .mobile-append-bottom2 { margin-bottom: 40px; }
  .mobile-append-top { margin-top: 20px; }
  .mobile-append-top2 { margin-top: 40px; }
  .mobile-append-top3 { margin-top: 60px; }
  .mobile-append-top4 { margin-top: 80px; }
  .mobile-append-both { margin-bottom: 20px; margin-top: 20px; }
  .mobile-append-both2 { margin-bottom: 40px; margin-top: 40px; }

  .mobile-pad-bottom { padding-top: 20px; }
  .mobile-pad-top { padding-top: 20px; }
  .mobile-pad-both { padding-top: 20px; padding-bottom: 20px; }
}


.color-grey {
  color: #484848; }

.grey {
  color: #484848; }

.white {
  color: white; }

.text-gray {
    color: #484848;
}

.float-right {
  float: right;
}

.float-left {
  float: left;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.center-img {
    margin: 0 auto;
}

.img-center{
    margin: 0 auto;
}

.no_margin {
  margin: 0px;
}

.unlink, .unlink:visited, .unlink:hover, .unlink:active {
  color: inherit;
  text-decoration: none;
}

/* ------------- Brightcove popup -----------*/
.brightcove-popup {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 10001; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}

/* Modal Link */
.modal-link:focus {
  outline: 0;
}

/* Modal Content */
.brightcove-popup-content {
    position: relative;
    margin: auto;
    padding: 0;
    width: 60%;
    -webkit-animation-name: animatetop;
    -webkit-animation-duration: 0.4s;
    animation-name: animatetop;
    animation-duration: 0.4s
}

@media (max-width: 1000px) {
    .brightcove-popup-content {
        position: relative;
        margin: auto;
        padding: 0;
        width: 85%;
        -webkit-animation-name: animatetop;
        -webkit-animation-duration: 0.4s;
        animation-name: animatetop;
        animation-duration: 0.4s
    }
}

/* Add Animation */
@-webkit-keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

@keyframes animatetop {
    from {top:-300px; opacity:0}
    to {top:0; opacity:1}
}

/* The Close Button */
.brightcove-popup-close {
    color: white;
    float: right;
    margin-right: -30px;
    font-size: 38px;
    font-weight: bold;
}

.brightcove-popup-close:hover,
.brightcove-popup-close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}

html {
    overflow-x: hidden;
}

body {
    overflow-x: hidden;
}

/************ Banner Text ***********/

.text-shadow {
/* Shade border around picture header text */
   text-shadow: 1px 1px 0 #000,
    -1px 1px 0 #000,
    1px -1px 0 #000,
    -1px -1px 0 #000,
    0px 1px 0 #000,
    0px -1px 0 #000,
    -1px 0px 0 #000,
    1px 0px 0 #000,
    2px 2px 0 #000,
    -2px 2px 0 #000,
    2px -2px 0 #000,
    -2px -2px 0 #000,
    0px 2px 0 #000,
    0px -2px 0 #000,
    -2px 0px 0 #000,
    2px 0px 0 #000,
    1px 2px 0 #000,
    -1px 2px 0 #000,
    1px -2px 0 #000,
    -1px -2px 0 #000,
    2px 1px 0 #000,
    -2px 1px 0 #000,
    2px -1px 0 #000,
    -2px -1px 0 #000;
}

@media screen and (max-width: 375px) {
    .mainmenu-text {
        display: none;
    }
}

/**** Webkit fixes  for iphone ****/
@media (-webkit-min-device-pixel-ratio: 0) and (max-width:767px) {
    .nav-noimage {
        position: relative !important;
        width: 100%;
    }

    #bs-navbar-collapse {
        padding: 0;
    }

    .navbar-collapse.collapse.in > ul.navbar-nav.nav {
        background-color: #333333;
    }
}


/************* Sub nav ***************/

.sub-navbar {
    min-height: 30px !important;
    background-color: #313445;
    position: relative;
    top: -25px;
    border: none;
    border-radius: 0px;
    z-index: 10;
    padding-bottom: 0px;
    margin: 0px !important;
}

.sub-navbar > .nav > li > a {
    color: white !important;
    background-color: #313445;
}

.sub-navbar > .nav > li > a:hover {
    color: white !important;
    background-color: #212435;
}

/************ Content Area **********
.content-area {
    position: relative;
    top: -130px;
}

@media (max-width: 767px) {
    .content-area {
        position: relative;
        top: -100px;
    }
}

/************ Footer ************/

.footer-container {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center center !important;
    color: white !important;

}

.footer-nav > li > a {
    color: white !important;
}

/************* Dropdown Storiess ***********/
.dropdown-title {
		margin-right: 10px;
		margin-left: 10px;
		color: black;
    text-decoration: none;
}

.dropdown-title:hover {
		cursor: pointer;
		color: #23527c;
}

/************* Sponsor Dropdown ***********/
.sponsor-dropdown {
    background: none !important;
    border: none !important;
    background-color: none !important;
}
.sponsor-dropdown > li > a {
    color: #white;
}

/*# sourceMappingURL=base.css.map */

/************* Wells ***********/

.awell {
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  border-radius: 6px;
  padding: 20px;
}

.awell-tan {
  background: #eeeee7;

}

a:hover .awell-tan {
  background-color: #dfdbd6;
}

.awell-light {
  background: #fbfbfb;

}

a:hover .awell-light {
  background-color: #dfdbd6;
}

.ie7 .awell-light,
.ie8 .awell-light {
  background: #eee;
}

.awell-wrw {
  background: #faf8f5;
}

a:hover .awell-wrw{
  background-hover: #dfdbd6;
}



.youtube-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px; height: 0; overflow: hidden;
}

.youtube-container iframe,
.youtube-container object,
.youtube-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


/************ Utility Classes ************/

/** push **/

.column-push-10 { margin-left: 10px; }
.column-push-20 { margin-left: 20px; }
.column-push-40 { margin-left: 40px; }
.column-push-60 { margin-left: 60px; }
.column-push-80 { margin-left: 80px; }
.column-push-100 { margin-left: 100px; }

@media screen and (min-width: 768px) and (max-width: 999px) {
.column-10 { width: 7px; }
.column-20 { width: 15px; }
.column-40 { width: 31px; }
.column-60 { width: 47px; }
.column-80 { width: 62px; }
.column-100 { width: 78px; }
}

@media screen and (max-width: 767px) {
.column-push-10 { margin-left: auto; }
.column-push-20 { margin-left: auto; }
.column-push-40 { margin-left: auto; }
.column-push-60 { margin-left: auto; }
.column-push-80 { margin-left: auto; }
.column-push-100 { margin-left: auto; }
.mobile-column-push-10 { margin-left: 10px; }
.mobile-column-push-20 { margin-left: 20px; }
.mobile-column-push-40 { margin-left: 40px; }
.mobile-column-push-60 { margin-left: 60px; }
.mobile-column-push-80 { margin-left: 80px; }
.mobile-column-push-100 { margin-left: 100px; }
}

/******* Google Translate box ********/
div #google_translate_element {
  display: inline;
  margin-left: 20px;
}

div .goog-te-gadget {
  display: inline;
}

div #google_translate_element img {
  display: inline;
}

div .goog-te-gadget-simple {
  font-size: 9pt;
  padding-bottom: 1px;
}

/****** Forms *****/
.checkbox > label {
  font-size: 90%;
  color: #444;
  font-weight: 600;
}

.footer .checkbox > label {
  color: white;
}

div.checkbox input {
  position: relative;
  top: 4px;
}

form.submitted input:invalid,
form.submitted input:invalid:focus {
  border: 1px solid red;
}

.js-error-notice {
  color: red;
}

/* Footnotes */
.bigfoot-footnote__content {
    word-break: break-word;
}

div.row .bigfoot-footnote__button {
  border-radius: 6px;
}

div.row .bigfoot-footnote__button::after {
  content: attr(data-footnote-number);
  display: inline-block;
  padding: 3px 6px;
}

div.row .bigfoot-footnote__button__circle {
  display: none;
}
