/*
Theme Name: Blue Star Families
Theme URI: https://bluestarfam.org;
Version: 1.2.1
Description: Customized Beaver Builder Child Theme for Blue Star Families.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
Text Domain: blue-star-families-edge
template: bb-theme
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------

# Normalize
# Typography
# Structure
	## Header
	## Footer
# Navigation
	## Header Menu
# Posts and Pages
	## Team Members
	## Events
		### Events Single
	## Location Taxonomy Archive Stling for Jobs/Events
# Images
# Buttons
# Forms
# Modals
# Woocommerce
# Templates
# Misc Styling



--------------------------------------------------------------*/

:root {
	transition-duration: .25s;
}

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/
html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	font-size: 16px;
}

body {
	margin: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

/*h1 {
	font-size: 2em;
	margin: 0.67em 0;
}*/

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

.no-margin {
	margin: 0;
}

dfn, cite, em, i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code, kbd, tt, var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr, acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark, ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

.hero-text-med p {
	font-size: 41px !important;
	line-height: 55px !important;
}

/*--------------------------------------------------------------
# Structure
--------------------------------------------------------------*/

.fl-page {
	height: 1vh !important;
}

footer {
	position: relative;
	z-index: -1;
}

/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

header .inner .fl-col-group {
	display: flex;
	align-items: center;
	width: 100%;
}

.site-header .fl-row-content .fl-col-group:last-child {
	background-color: #0e76bd;
}

.search-box {
	overflow: hidden;
}

.search-box-trigger:hover {
	text-decoration: none;
}

.search-box .fl-col-content {
	text-align: center;
}

.search-box .search-form label {
	width: 60%;
	margin-right: 10px;
}

.search-box-trigger {
	font-size: 1.1em;
}

.search-form {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
}

.search-box .search-field {
	font-size: 16px;
}

@media (min-width: 768px) {

	.search-box .search-form label {
		width: 25%;
	}

}

/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

/*footer:before, footer:after {
	display: table;
	content: " ";	
}

footer:after {
	clear: both;
}*/

footer p {
	margin-bottom: 0;
}

.footer-menu {
	font-size: 0.95rem;
}

.footer-menu .menu-item {
	margin-right: 20px;
}

.footer-menu .menu-item:last-child {
	margin-right: 0;
}

.footer-social .social-link {
	margin-right: 30px;
}

.footer-social .social-link:last-child {
	margin-right: 0;
}

/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Header Menu
--------------------------------------------------------------*/

.header-menu,
.header-menu .fl-col,
.header-menu .fl-module-content,
.header-menu .fl-menu,
.header-menu .menu {
	display: flex;
	height: 52px;
	width: 100% !important;
	align-items: center;
	justify-content: flex-end;
	padding-right: 20px;
}


@media (min-width: 769px ) {

/*	.header-menu,
	.header-menu .fl-module-content,
	.header-menu .fl-menu,
	.header-menu .menu {
		display: flex;
		height: 52px;
		width: 100%;
		align-items: center;
		justify-content: flex-end;
		padding-right: 20px;
	}*/

	.header-menu .menu-item a {
		padding-top: 8px;
		padding-bottom: 8px;
	}

}

@media (min-width: 993px) {

	.header-menu,
	.header-menu .fl-module-content,
	.header-menu .fl-menu,
	.header-menu .menu {
		justify-content: flex-end;
		padding-right: 10px;
	}

}

/*.header-menu .menu-item a:hover {
	color: #1f77b5 !important;
}
*/

.header-menu .sub-menu {
	background-color: #f1f1f1;
	font-size: .8rem;
}

.header-menu .sub-menu .menu-item a,
.header-menu .sub-menu .menu-item a:visited {
	background-color: #f1f1f1 !important;
	padding: 20px 10px;
}

.header-menu .sub-menu .menu-item a:hover {
	background-color: #bcc1c7 !important;
}

.horizontal-menu .menu-item {
	margin-right: 30px;
}

.horizontal-menu .menu-item a {
	line-height: 1.5rem !important;
}

.horizontal-menu .menu-item:last-child {
	margin-right: 0;
}

/* Mobile Menu */
/* This is ugly with many !important, but had to use to overcome button classes being used
/* in header for donate and join buttons. Probably need to render those buttons a different way
/* than using additional classes. */

#mega-menu-wrap-header .mega-menu-toggle {
	background: none;
}

@media ( max-width: 768px ) {

	.header-menu .fl-menu-horizontal {
		margin-top: 30px;
		background-color: #FFF !important;
	}

	.header-menu .fl-menu-horizontal a,
	.header-menu .fl-menu-horizontal .sub-menu .menu-item a,
	.header-menu .fl-menu-horizontal .mnu a {
		display: block !important;
		border-radius: 0 !important;
		background-color: #3575b2 !important;
		color: #FFF !important;
		font-size: 2rem !important;
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		padding-left: 15px !important;
		padding-right: 15px !important;
		text-transform: capitalize !important;
		font-weight: 700 !important;
	}

	.header-menu .fl-menu-horizontal .sub-menu .menu-item a {
		font-size: 1.55rem !important;
		padding-left: 25px !important;
		font-weight: 400 !important;
	}

	.header-menu .fl-menu-horizontal .sub-menu .menu-item .sub-menu .menu-item a {
		font-size: 1.25rem !important;
		padding-left: 35px !important;
	}

	.header-menu .fl-menu-horizontal .sub-menu .menu-item .sub-menu .menu-item .sub-menu .menu-item a {
		font-size: 1.05rem !important;
		padding-left: 45px !important;
	}

	.header-menu .fl-menu-horizontal .fl-menu-toggle {
		margin-right: 15px !important;
	}

	.header-menu .fl-menu-horizontal .fl-menu-toggle:before {
		border-color: #FFF !important;
	}

}

/*--------------------------------------------------------------
# Posts and Pages
--------------------------------------------------------------*/

.page-header {
	min-height: 420px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin-top: 0;
	margin-bottom: 40px;
	padding-top: 20px;
	padding-bottom: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.page-header-overlay {
	background-color: rgba(134,186,218, .65);
	width: 100%;
	min-height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;	
}

.page-header h1 {
	color: #FFF;
}

.content-wrap {
	max-width: 1500px;
	padding-right: 20px;
	padding-left: 20px;
	margin-bottom: 40px;
	margin-right: auto;
	margin-left: auto;
}

.fl-post-grid-post {
	border: 0;
}

.post-archive-img {
	max-width: 580px;
	max-height: 520px;
	overflow: hidden;
}

.pagination {
	display: block;
	text-align: center;
}

.pagination .page-numbers {
	border: 1px solid #e6e6e6;
	display: inline-block;
	padding: 5px 10px;
	margin: 0 0 5px;
}

.pagination .page-numbers.current {
	background: #f5f5f5;
	text-decoration: none;
}

.post-tags a {
	display: inline-block;
	margin-right: 10px;
	margin-bottom: 10px;
	padding: 7px 10px;
	background-color: #dcddde;
	color: #717171;
	font-size: 14px;
	text-decoration: none;
	transition-duration: .25s;
}

.post-tags a:hover {
	background-color: #b41e37;
	color: #fff;
}

@media (max-width: 768px ) {

	.post-archive-img {
		margin-right: auto;
		margin-left: auto;

	}
}

@media (min-width: 769px) {

	.post-archive-img {
		max-height: 409px;
	}

}

@media (min-width: 993px) {

	.post-archive-img {
		max-height: 260px;
	}

}

.fl-post-grid-post .fl-post-text {
	padding: 0;
}

.fl-post-grid-post .fl-post-feed-image {
	margin-bottom: 20px;
}

/*--------------------------------------------------------------
## Default
--------------------------------------------------------------*/

.post-title, .post-title .fl-heading {
	font-family: "Lato", sans-serif;
	font-weight: 300;
}

/*--------------------------------------------------------------
## Team Members
--------------------------------------------------------------*/

.team-mem-quote p {
	font-family: "Playfair Display", serif;
	text-align: center;
	font-style: italic;
	font-size: 2.25rem;
	font-weight: bold;
	line-height: 2.9rem;
}

.team-mem-details p {
	font-family: "Lato", sans-serif;
	font-weight: 300;
	font-size: 2.95rem;
	line-height: 3.5rem;
	margin-bottom: 20px;
}

.team-mem-bio .fl-heading {
	font-size: 1rem;
	color: #1876b8;
	font-weight: 600;
}

/* Team Member Archive */

.team-img {
    width: 300px;
    height: 300px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
}

.team-member-name {
	text-align: center;
	font-size: 1.75rem;
	margin-bottom: 0;
}

.team-member-title {
	text-align: center;
	margin-bottom: 0;
}

/*--------------------------------------------------------------
## Location Taxonomy Archive Stling for Jobs/Events
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Buttons
--------------------------------------------------------------*/

/* New standard buttons for site */

.btn {
	padding: 0 !important;
}

a.btn, 
.btn a,
a.fl-button,
.btn {
	display: inline-block;
	border-radius: 3px !important;
	background-color: #d2d2d2;
	font-size: 20px;
	line-height: 20px !important;
	padding: 15px 20px !important;
	color: #717171;
	min-width: 195px !important;
	text-align: center;
	border: 0 !important;
}

a.btn-blue,
.btn-blue a,
a.fl-button {
	background-color: #0e76bd !important;
	color: #FFF !important;
}

a.btn-blue:hover,
.btn-blue a:hover,
a.fl-button:hover {
	background-color: #b41e37 !important;
	color: #FFF !important;
	text-decoration: none !important;
}

a.btn-red,
.btn-red a,
.btn-red a.fl-button,
.btn-red .fl-button {
	background-color: #b41e37 !important;
	color: #FFF !important;
}

@media ( min-width: 1240px ) {

	/* Button styling to allow buttons in header menu, but only when
	above 769 px. Styles should match standard button styling above. This allows
	for these menu items to match other items in mobile view. */

	.menu-btn a {
/*		display: inline-block;
*/		border-radius: 3px !important;
		background-color: #d2d2d2 !important;
/*		font-size: 20px !important;
*//*		line-height: 20px !important;
*//*		padding: 15px 20px !important;*/
		min-width: 110px;
		color: #717171 !important;
		text-align: center;
		border: 0 !important;
		margin-right: 20px !important;
	}

	.menu-btn-blue a {
		background-color: #0e76bd !important;
		color: #FFF !important;
	}

	.menu-btn-red a {
		background-color: #b41e37 !important;
		color: #FFF !important;
		margin-right: 0px !important;
	}

}

a.btn-med,
.btn-med a {
	font-size: 25px !important;
	line-height: 25px !important;
	padding: 25px 80px;
}

@media (max-width: 767px) {

	.menu li.btn,
	.menu a.btn,
	.menu .btn a {
		display: block !important;
		border-radius: inherit;
		background-color: inherit;
		font-size: inherit;
		line-height: inherit;
		padding: inherit;
		color: inherit;
		min-width: inherit;
		text-align: inherit;
		border: 0 inherit;
	}

}

/* Big Butons */

.big-buttons .fl-col-content {
	margin: 0 15px 30px 15px;
}

.big-button {
	background-color: #1676b7;
	padding: 10px;
}

.big-button .fl-button {
	display: block !important;
	border-radius: 0 !important;
	border: 2px solid #FFF !important;
	padding: 15px !important;
	text-align: center !important;
	text-transform: none !important;
	font-size: 2rem !important;
	font-weight: 400 !important;
	line-height: 2rem !important;
}

.big-buttons .fl-col-group {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
}

.big-buttons .fl-col {
	flex-grow: 1;
	flex-shrink: 0;
	flex-basis: 334px;
	min-width: 334px;
	width: unset;
	max-width: unset;
}

.bit-buttons .fl-col.fl-col-small {
	max-width: unset;
}

@media (min-width: 768px) {

	.big-buttons .fl-col-content {
		margin: 15px 15px 15px 15px;
	}

	.big-button {
		padding: 20px;
	}

	.big-button .fl-button {
		padding: 30px !important;
	}	

}

@media (min-width: 992px) {

	.big-button .fl-button {
		font-size: 2.75rem !important;
		line-height: 2.75rem !important;
	}	

/*	.gform_wrapper, form.checkout {
		max-width: 65% !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}*/

	.modal .gform_wrapper {
		padding: 20px;
		max-width: 100% !important;
	}

}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Modals
--------------------------------------------------------------*/

.modal-dialog {
    margin-top:10%;
}

.modal-content {
    background-image:url('https://bluestarfam.org/wp-content/uploads/2016/04/Pop-Up-BG.jpg');
    background-position:left bottom;
    background-repeat:no-repeat;
    background-size: 100%;
}

.modal-icon {
    max-width: 95px !important;
    height: auto !important;
    display: block !important;
    margin-right: auto !important;
    margin-left: auto !important;
    position: relative !important;
    margin-top: -95px !important;
    z-index: 100000000000000000000000000000000 !important;
}

.modal-header {
    border-bottom:0;
}

/*--------------------------------------------------------------
# Module Styling
--------------------------------------------------------------*/

/* Remove spacing issues caused by clearings */

.fl-row:before, .fl-row:after, .fl-row-content:before,
.fl-row-content:after, .fl-col-group:before, .fl-col-group:after,
.fl-col:before, .fl-col:after, .fl-module:before, .fl-module:after,
.fl-module-content:before, .fl-module-content:after {
	height: 0px;
}

.fl-col-group:before,
.fl-col-group:after  {
	display: none;
}

/* Helpers */

.w100 {
	width: 100% !important;
}

.flex-center {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Page Header */

.page-header-row .fl-row-content-wrap {
	min-height: 420px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 0;
	padding-left: 0;
}

.page-header-row .page-header-col {
/*	background-color: rgba(134,186,218, .65);
*/	width: 100%;
	min-height: 360px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
}

.page-header-row .page-header-col .fl-module-content {
	margin: 0;
	max-width: 900px;
}

.page-header-row .page-header-col .fl-module-content p {
	margin-bottom: 0;
	text-align: center;
	color: #FFF;
	font-size: 24px !important;
}

.page-header-row .page-header-col .fl-module-heading {
	display: block;
	font-weight: 400;
	background-color: #1f3262;
	background-color: rgba(31,50,98,.75);
	padding: 10px 75px !important;
	margin-bottom: 15px;
}

.page-header-row .page-header-col .fl-module-rich-text {
	background-color: #1f3262;
	padding: 10px 75px !important;
	background-color: rgba(31,50,98,.75);
	margin-bottom: 15px;	
}

/* Image Pop CTA */

.img-pop-cta .background-col {
	background-color: rgba(85,169,220, .65);
}

.img-pop-cta .fl-col-group-nested {
	display: flex;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

.img-pop-cta .heading {
	font-weight: 600;
}

.img-pop-cta .img-base {
	align-self: flex-end;
	position: relative;
}

/* Column Links */

.three-col-links .fl-col-group {
	display: grid;
	grid-template-columns: 1fr;
	grid-gap: 175px;
}

.four-col-links .fl-col-group {
		display: grid;
		grid-template-columns: 1fr;
		grid-gap: 75px;
}

@media (min-width: 768px) {

	.four-col-links .fl-col-group {
		grid-template-columns: repeat(2, 1fr);
	}

}	

@media (min-width: 992px) {

	.three-col-links .fl-col-group {
		grid-template-columns: repeat(3, 1fr);
	}	

	.four-col-links .fl-col-group {
		grid-template-columns: repeat(4, 1fr);
	}

}

/* Hero */

.hero-row .fl-row-content-wrap {
	min-height: 535px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Two Col Link Block */

.link-block-row p {
	margin: 0;
}

.link-block-row .fl-col-group {
	display: grid;
	grid-auto-rows: minmax(100px, auto);
	grid-template-columns: 1fr;	
	grid-gap: 45px;
	justify-content: center;
}

.link-block-row .fl-col {
	background-color: rgba(255,255,255,.8);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100% !important; /* Overides the column width setting in BB */
}

.link-block-row .fl-col-content {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.link-block-row .fl-col-content .fl-module {
	flex-grow: 0;
	flex-shrink: 0;
	flex-basis: 100%;
	padding-bottom: 15px;
}

.link-block-row .link-block-button {
	align-self: flex-end;
}

.link-block-row.fl-col-content {
	padding: 30px;
}

.link-block-row.three-cols .fl-col-content {
	padding: 15px;
}

.link-block-row .link-block-heading {
	padding-left: 50px;
	padding-right: 50px;
}

.link-block-row.three-cols .link-block-heading {
	padding-left: 0px;
	padding-right: 0px;
}

.link-block-row.three-cols .link-block-heading .fl-heading {
	font-size: 1.65rem;
	margin-bottom: 20px;
}

@media (min-width: 992px) {

	.link-block-row .fl-col-group {
		grid-template-columns: 1fr 1fr;	
	}

	.link-block-row.three-cols .fl-col-group {
		grid-template-columns: 1fr 1fr 1fr;
		grid-gap: 20px;
	}

}

/* Background with CTA */

.background-cta p {
	color: #FFF;
	font-size: 3rem;
	line-height: 3.5rem;
	margin: 0;
}

/* Post Grid */

.fl-post-grid-title {
	display: block;
	font-weight: 600;
	font-size: 1.75rem !important;
	line-height: 2.25rem !important;
	margin-bottom: 10px;
	color: #000;
	text-decoration: none;	
}

.fl-post-grid-more {
	font-weight: 600;
}

/*--------------------------------------------------------------
# Misc Styling
--------------------------------------------------------------*/

/* Communities: Single */

.job-listings .job-listing {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #eee;
}

.community-stories {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 20px;
}

.community-story a {
	text-decoration: none;
}

.community-story .entry-title {
	font-size: 2rem;
	margin-top: 20px;
	margin-bottom: 15px;
	padding: 0;
}

.community-story .entry-title:hover {
	color: #b41e37;
}

.community-story .post-meta {
	display: block;
	margin-bottom: 15px;
	color: #58595b;
}

@media ( max-width: 992px ) {

	.community-stories {
		grid-template-columns: 1fr 1fr;
	}

}

@media ( max-width: 768px ) {

	.community-stories {
		grid-template-columns: 1fr;
	}
	
}

.community-story .thumbnail {
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	height: 260px;
}

/* Event Posts Layout */

.event-posts-layout {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-areas:
		"description";
	padding-bottom: 20px;
	border-bottom: 1px solid #EEE;
	margin-bottom: 20px;
}

.event-posts-layout:last-child {
	padding-bottom: 0;
	border-bottom: 0;
	margin-bottom: 40px;
}

.event-posts-layout.has-thumb {
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"thumb description";
	grid-gap: 20px;
}

.event-posts-layout.has-thumb:nth-child(odd) {
	grid-template-areas:
		"description thumb";
}

.event-posts-layout .thumb {
	grid-area: thumb;
}

.event-posts-layout .description {
	grid-area: description;
}

.event-posts-layout .title {
  font-weight: 600;
  font-size: 1.53rem;
  margin-bottom: 0;	
}

.event-posts-layout .location {
	display: block;
	margin-bottom: 20px;
}

.event-posts-layout .btn {
	float: right !important;
}

.event-posts-layout:nth-child(odd) .btn {
	float: left !important;
}

/*--------------------------------------------------------------
# Misc Styling
--------------------------------------------------------------*/

/* Facebook login prompt */

.join-fb-prompt {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto;
	grid-gap: 10px;
	align-items: center;
	grid-template-areas:
		"prompt_text"
		"prompt_logo";
	background-color: #fcfcfc;
	padding: 15px 25px !important;
   border: 1px solid #e6e6e6;	
	color: #808080;
}

.join-fb-prompt .prompt-text {
	grid-area: prompt_text;
}

.join-fb-prompt .prompt-logo {
	grid-area: prompt_logo;
}

.the_champ_login_container {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"logo consent";
	grid-gap: 20px;
}

.heatMormoneor_ss_sl_optin_container {
	grid-area: consent;
	display: flex;
	align-items: center;
}

.heateor_ss_sl_optin_container label {
	margin-bottom: 0;
}

.heateor_ss_sl_optin_container input[type=checkbox] {
	margin-top: 0;
	margin-right: 10px;
}

.the_champ_login_ul {
	grid-area: logo;
}

/* Logged in message in header */

.logged-in-out-header-message p {
	margin:0;
	text-align: right;
}

/* Styling to help non-BB elements match BB module layouts */

.fixed-content {
	max-width: 1500px;
	margin-right: auto;
	margin-left: auto;
}

.default-padding {
	padding: 20px;
}

.fl-builder-edit .collapse {
	display: block !important;
}

/* Partners Styling */

/* Partners with Logo */

.partners-logos .fl-post-feed {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.partners-logos .partner {
    display: block;
    width: calc(50% - 20px);
    padding: 0 10px 10px 10px;
    border: 0;
}

.partners-logos .partner:last-child {
    margin-bottom: 10px !important;
}

.partners-logos .partner .logo-container {
    display: flex;
    justify-content: center;
    align-items: center;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    text-align: center;
}

.partners-logos .partner .logo-container::after {
    content: "";
    display: block;
    padding-bottom: 100%;
}

@media (min-width: 769px) {
    
    .partners-logos .partner {
        width: calc(25% - 40px);
        padding: 0 20px 20px 20px;
    }
    
    .partners-logos.show-3 .partner {
        width: calc(33% - 40px);
    }
    
    .partners-logos .partner:last-child {
        margin-bottom: 20px !important;
    }
    
}

/* Partners Text Only */

.partners-text-only .fl-post-feed {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.partners-text-only .partner {
    display: block;
    width: calc(50% - 20px);
    margin: 0 10px 10px 10px;
    border: 0;
}

.partners-text-only .partner:last-child {
    margin-bottom: 10px !important;
}

.partners-text-only .partner .partner-name {
    text-align: center;
}

@media (min-width: 769px) {
    
    .partners-text-only .partner {
        width: calc(33% - 40px);
        margin: 0 20px 20px 20px;
        margin-bottom: 20px;
    }
    
    .partners-text-only .partner:last-child {
        margin-bottom: 20px !important;
    }
    
}


.heading-shadow {
	text-shadow: 4px -1px 0px #3576B2;
}

.videoWrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
}
.videoWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.page-header-row .fl-row-content-wrap {
    padding: 0 20px 0 20px !important; 
}

.page-header-col h1 {
    margin: 0 0 20px 0 !important;
}

h2 {
    margin-top: 0px !important;
}

.btn.btn-white-blue-bdr {
    background-color: #FFFFFF !important;
    border: 1px solid #1676b7 !important;
}

.btn.btn-white-blue-bdr:hover {
    background-color: #1676b7 !important;
    border: 1px solid #FFFFFF !important;
    color: #FFFFFF !important;
}

.no-margins p:last-child {
    margin: 0 !important;
}

.wpgmza-modern-store-locator .wpgmza-search input {
    color: #FFFFFF !important;
}