/*
Theme Name: Albright Labs Base
Theme URI: https://albrightlabs.com
Author: Albright Labs, Joe Buonocore (engineering), Gil Dubin (design)
Author URI: https://albrightlabs.com/
Description: Custom theme with ACF, Custom Post Types and more
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: bpm
*/


/* STRUCTURE */
body {
	color:#333;
	font-family: 'Aspira Standard', Helvetica, Arial, sans-serif;
}
.container {
	max-width: 1140px ;
}
.content section:not(.ad-section),
.content_section:not(.ad-section) {
	padding: 60px 0px;
}
/* Override for template full width pages */
.page-template-template-full-width .content section#content_blocks {
	padding: 0 15px 0;
}

.content section:last-child:not(.forum-section):not(.homepage-citation) {
	padding-bottom: 0px;
}
.page-template-template-full-width .content section:last-child div:last-child .container,
.page-template-template-groups-sidebar .content section:last-child .container:last-child {
	margin-bottom: 80px;
}

section#content_blocks .padding-top {
	padding-top: 60px;
}
section#content_blocks .padding-bottom {
	padding-bottom: 60px;
}

.content {
	padding: 0px ;
}
.max900 {
	max-width: 900px;
	margin: 0px auto;
}

address {
	display: block;
	margin-left: 1.4em;
	margin-bottom: 30px;
}
ul {
	display: block;
	list-style-type: disc;
	margin-left: 1.4em;
	margin-bottom: 30px;
}
ol {
	display: block;
	list-style-type: decimal;
	margin-left: 1.4em;
	margin-bottom: 30px;
}

.mb0	{margin-bottom:0px !important;}
.mb10	{margin-bottom:10px;}
.mb20	{margin-bottom:20px;}
.mb30	{margin-bottom:30px;}
.mb40	{margin-bottom:40px;}
.mb50	{margin-bottom:50px;}
.mb100	{margin-bottom:100px;}


@media only screen and (max-width: 64rem) { /*1024px*/
	.content img {
		margin: 0px auto 35px;
		max-width: 190px;
	}
	#hero-content ul {
		display: none;
	}
}
@media only screen and (min-width: 64rem) { /*1024px*/
}


/* TABLES */
table td {
	padding: 0px 30px 6px 0px;
}


/* MENU */
.nav__menu {
	display: table;
	margin: 0 0 0 auto;
}
.nav__menu li {
	display: table-cell;
	position: relative;
	padding-left: calc(2vw + 8px);
	font-weight: 700;
	padding-bottom: 15px;
}
.nav__menu li:first-of-type {
	padding-left: 0;
}
.nav--primary a {
	font-weight: 300;
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}

/* SUBMENU */
.sub-menu {
	display: none;
	position: absolute;
	background: rgba(255, 255, 255, 0.8);
	top: 100%;
	width: 240px;
	padding: 0.4em 0 0.4em;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}
.nav ul.sub-menu > li {
	display: block;
	padding-left: 0px;
}
.sub-menu a {
	display: block;
	padding: 0.3em;
	text-align: left;
}
.sub-menu a:hover, .sub-menu a:visited:hover {
	background: white;
}
/* .menu-item-has-children > a:after {
	font-family: 'FontAwesome';
	padding-left: 0.4em;
	position: relative;
	content: "\F107";
	font-size: 1em;
	font-weight: 300;
	height: 1em;
	width: 1em;
	top: 0;
} */
.menu-item-has-children:hover .sub-menu {
	display: block;
}
/* .nav .current-menu-item > a {
	border-bottom: 1px solid rgba(121, 147, 169, 0.1);
} */
.sub-menu .current-menu-item a {
	border-bottom: none;
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}

/* Mobile Menu */
.mobile-menu {
	z-index: 100;
}
.mobile-menu li {
	list-style: none;
}
@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}



/* BUTTON */
button, .btn, .gform_wrapper .gform_footer .button.gform_button, .menu-button a, input[type="submit"] {
	border-radius: 6px;
	/*background-color: <?php echo $color_primary; ?>;*/
	border: 0px ;
	background: #21A29D;
	font-size:16px;
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}



/* BOUNCE */
.hero-fa {
	width: 50px;
	display: block;
	text-align: center;
	/* color: <?php echo $color_secondary; ?>; */
	font-size: 2em ;
	font-weight: 100 ;
	padding-top: 10px;
}
.bounce {
	width: 50px;
	height: 50px;
	background: #ffff;
	margin: 90px auto 0px;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	border-radius: 50%;
	animation: bounce 2s infinite;
	-webkit-animation: bounce 2s infinite;
	-moz-animation: bounce 2s infinite;
	-o-animation: bounce 2s infinite;
	box-shadow: 1px 1px 2px rgba(0, 0, 0, 0.4);
}
.bounce {
	position: absolute;
	z-index: 999;
	right: 50%;
}
@-webkit-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-webkit-transform: translateY(0);}
	40% {-webkit-transform: translateY(-30px);}
	60% {-webkit-transform: translateY(-15px);}
}
@-moz-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-moz-transform: translateY(0);}
	40% {-moz-transform: translateY(-30px);}
	60% {-moz-transform: translateY(-15px);}
}
@-o-keyframes bounce {
	0%, 20%, 50%, 80%, 100% {-o-transform: translateY(0);}
	40% {-o-transform: translateY(-30px);}
	60% {-o-transform: translateY(-15px);}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
	40% {transform: translateY(-30px);}
	60% {transform: translateY(-15px);}
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}


/* TYPOGRAPHY */
.font-white {
	color: #fff;
}
h1.h0 {
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
	font-size: 4.5em;
	font-weight: 600;
	line-height: 1em;
	margin-bottom: 0.5em;
}
h1, .h1 {
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
	font-size: 3em;
	font-weight: 600;
	line-height: 1.1em;
	margin-bottom: 0.5em;
}
h2, .h2 {
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
	font-size: 2.2em;
	font-weight: 600;
	margin-bottom: 45px;
}
h3, .h3 {
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
	text-transform: initial;
	font-weight: 600;
	font-size: 1.8em;
	line-height: 1.1em;
	margin-top: 1em;
	margin-bottom: 1em;
}
.paragraph {
	font-size: 18px;
}

blockquote {
	font-style: italic;
	line-height: 1.7;
	margin: 0px 0px 0px 15px;
	overflow: hidden;
	padding: 0;
}
blockquote cite {
	display: block;
	font-style: normal;
	font-weight: 600;
	margin-top: 0.5em;
}
.citation {
	font-family: 'Bitter', serif;
	font-size: 16px;
	color: #444;
	line-height: 2;
	text-indent: -25px;
	padding: 10px;
	padding: 10px 10px 10px 35px;
}
.citation > * {
	font-family: 'Bitter', serif;
}
b {
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
}
#content_blocks h1{
	font-weight: 700;
	font-size: 40px;
	padding-top: 56px;
	margin: 44px 0px 52px;
}
#content_blocks h2{
	font-size: 22px;
	font-weight: 400;
	line-height: 31px;
}
#content_blocks h3{
	font-size: 18px;
}
#content_blocks p{
	font-size: 14px;
}

.page-template-template-full-width #content_blocks h1 {
	padding-top: 0;
}

@media only screen and (max-width: 64rem) { /*1024px*/
	h1.h0 {
		font-size: 2.4em;
		text-align:center;
	}
	h1, .h1 {
		font-size: 3.5em;
		text-align:center;
	}
	h2, .h2 {
		font-size: 2em;
		margin-bottom: 35px;
		text-align:center;
	}
	h3, .h3 {
		font-size: 1.6em;
		line-height: 1em;
		margin-top: 0.9em;
		margin-bottom: 0.9em;
		text-align:center;
	}
}
@media only screen and (min-width: 64rem) { /*1024px*/
	.center {
		text-align: center;
	}
}


/* HEADER */
.header {
	box-shadow: none;
	position: absolute;
	background: transparent;
}
.header__inner {
	background: transparent ;
}
a.logo {
	padding-bottom: 30px;
}

@media only screen and (max-width: 64rem) { /*1024px*/
	.hero-subtitle{display:none;}
	section#hero .bounce {
		display: none;
	}
}
@media only screen and (min-width: 64rem) { /*1024px*/
}


/* HERO */
section#hero {
	text-align: left;
	padding: 70px 0px 0px;
	height: 655px;
}

@media only screen and (max-width: 425px) { /*1024px*/
	section#hero {
		min-height: 1000px;
	}
}
section#hero #hero-content {
	position:relative;
}

section#hero .container {
	min-height: 450px;
}
section#hero .container.standard {
	min-height: 480px;
}
section#hero .container.wave {
	min-height: 320px;
}
.wave-image {
	display: block;
	position: relative;
	width: 100%;
	height: 270px;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
}
#hero #hero-content ul {
	list-style: none;
	margin: 0px;
}
#hero-content span {
	font-size: 1.26em;
	font-family: 'Aspira Bold', Helvetica, Arial, sans-serif;
}
#hero #hero-content ul li span {
	min-width: 58px;
	display: inline-block;
	position: relative;
	padding-bottom: 15px;
}

@media only screen and (max-width: 64rem) { /*1024px*/
	.page-template-template-full-width-with-hero #upload-widget-root {
		height: 686px;
	}
}
@media only screen and (min-width: 64rem) { /*1024px*/
	.page-template-template-full-width-with-hero #upload-widget-root {
		position: absolute;
		z-index: 999;
		height: 595px;
	}
	.page-template-template-groups-sidebar div#upload-widget-root {
		margin-bottom: 25px;
	}
}

/* FOOTER CREDITS */
footer section.footer-credits {
	background: #f5f8fa;
	padding: 30px 0;
	width: 100%;
}
footer .credits {
	font-size: 14px;
	margin-bottom: 0px;
	color: #666;
}



/* TABS */
div#tabs ul {
	border-bottom: 1px solid #ccc;
	margin-bottom: 30px;
	padding-bottom: 1px;
}
div#tabs ul li a {
	padding-bottom: 6px;
	/* color:  <?php echo $color_primary; ?>; */
	font-size: 1.2em;
	font-weight: 300;
}
div#tabs ul li.active a {
	/* border-bottom: 2px solid <?php echo $color_secondary; ?>; */
	/* color: <?php echo $color_secondary; ?>; */
	font-weight: 600;
	position: relative;
}
div#tabs ul li.active a:after {
	content: '';
	width: 250px;
	height: 2px;
	position: absolute;
	bottom: -1px;
	margin-left: auto;
	margin-right: auto;
	left: -80px;
	right: 0;
}
div#tabs ul li {
	display: inline-block;
	text-align: center;
	border-bottom: 1px solid white;
}
div#tabs img {
	max-width: 630px;
	max-height: 430px;
	margin: 0px auto;
	display: block;
}
div#tabs ul li a {
	color: #333;
	border-bottom: 2px solid transparent;
}


@media only screen and (max-width: 64rem) { /*1024px*/
	div#tabs ul li {
		display: block;
		text-align: left;
		width: 100%;
	}
	div#tabs img {
		max-width: 100%;
		margin: 0px;
	}
}
@media only screen and (min-width: 64rem) { /*1024px*/
}


/* TESTIMONIALS */
section#testimonials img {
	max-width: 125px;
	display: block;
	position: relative;
	margin: 0px auto 35px;
}
section#testimonials p {
	text-align: center;
	margin-bottom: 10px;
}
section#testimonials p:last-child {
	color: #777777;
	font-weight: 900;
	font-size: 0.9em;
}

@media only screen and (max-width: 64rem) { /*1024px*/
	section#testimonials p.testimonial-name{margin-bottom:30px;}
}
@media only screen and (min-width: 64rem) { /*1024px*/
}



/* PRICING TABLE */
section#pricing_table {
	background: #f8f8f8;
	padding-bottom: 60px;
}
section#pricing_table .row.pricing_table_header,
section#pricing_table .row.pricing_table_row {
	margin-bottom: 20px;
}
section#pricing_table .row.pricing_table_header > div,
section#pricing_table .row.pricing_table_row > div {
	position: relative;
}
section#pricing_table .row.pricing_table_header > div:after,
section#pricing_table .row.pricing_table_row > div:after {
	content: '';
	width: 95%;
	left: 4%;
	bottom: 0px;
	display: block;
	position: absolute;
	height: 1px;
	/* background: <?php echo $color_primary; ?>; */
}
section#pricing_table .row.pricing_table_header > div:after {
	height: 3px;
}
section#pricing_table .row.pricing_table_row > div:after {
	height: 1px;
}
section#pricing_table .row.pricing_table_row:last-child > div:after {
	display:none;
}
section#pricing_table p {
	font-size: 0.95em;
	margin: 3px 0px 6px;
}
.pricing_table_row .fa {
	/* color: <?php echo $color_secondary; ?>; */
	float: left;
	padding-bottom: 10px;
	padding-right: 10px;
}
a.terms-link {
	font-size: 0.8em;
	font-style: italic;
}
thead th {
	text-align: left;
	border-top: 0px;
	padding: 0px 0px 15px 5px;
}
section#pricing_table table {
	border-spacing: 5px;
	border-collapse: separate;
	width: 100%;
}
#pricing_table .table th {
	vertical-align: top;
}
#pricing_table .table th,
#pricing_table .table td {
	padding: .75rem;
}
#pricing_table .table-column-header {
	/* border-bottom: 3px solid rgb(42, 142, 179); */
}
#pricing_table th:last-child,
#pricing_table th:nth-child(2) {
	text-align: center;
}

#pricing_table tr td {
	vertical-align: middle;
	text-align: center;
	/* border-top: 1px solid rgb(42, 142, 179); */
}
#pricing_table tr:first-child td {
	border-width: 0px;
	border-style: initial;
	border-color: initial;
	border-image: initial;
}
#pricing_table td:first-child {
	text-align: left;
}
#pricing_table .highlight {
	background: rgb(255, 255, 255);
	padding: 0px 5px;
}
#pricing_table img {
	width: 17px;
	height: 17px;
	margin: 0px 7px 0px 0px;
}
#pricing_table td span {
	padding: 15px 0px 10px;
	display: inline-block;
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}


/* Groups Template Hero Features */
ul.hero-list-items {
	display: table;
	width: 100%;
	max-width: 500px;
	padding-left: 0px;
}
ul.hero-list-items li {
	display: table-row;
	width: 100%;
}
ul.hero-list-items li span {
	vertical-align: middle;
	display: table-cell;
}
ul.hero-list-items li img {
	max-width: 44px;
	height: auto;
	margin-right: 10px;
}
ul.hero-list-items li span:first-child {
	width: 60px;
}

@media only screen and (max-width: 64rem) { /*1024px*/
}
@media only screen and (min-width: 64rem) { /*1024px*/
}



/* Groups Template Accordion */
.groups-accordion .accordion {
	border: 1px solid rgba(0,0,0,.1);
	border-radius: 2px;
}
.groups-accordion .accordion dt {
	position: relative;
	border-bottom: 1px solid rgba(0, 0, 0, 0.15);
}
.groups-accordion dt a {
	display: block;
	position: relative;
	background-color: #f4f4f4;
	color: #444;
	cursor: pointer;
	padding: 18px;
	width: 100%;
	text-align: left;
	border: none;
	color: #000;
}
.accordion__arrow {
	display: inline-block;
	position: relative;
	width: 24px;
	height: 12px;
	position: absolute;
	top: 50%;
	right: 0;
	margin-top: -6px;
}
.groupSelector.active .accordion__arrow .fa {
	transform: rotate(-180deg);
}
.groups-accordion dd {
	padding: 20px;
	display: block;
	animation: fadein .35s ease-in;
}
.groups-accordion dd a {
	padding-bottom: 13px;
	font-weight: 400;
	display: block;
}
.groups-accordion dd a:last-child {
	padding-bottom: 0px;
}