/************************************************
	Desktop Grid
************************************************/

.row {
	width: 100%;
	margin: 0 auto;
}
.row .row {
	min-width: 0;
}
.flex-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex: 1 1 0;
}
.column, .columns {
	float: left;
	min-height: 1px;
	position: relative;
}
[class="column"] + [class="column"]:last-child,
[class="columns"] + [class="columns"]:last-child {
	float: right;
}

.half, .third, .one-third, .fourth,
.one-fourth, .fifth, .one-fifth,
.two-thirds, .three-fourths {
	float: left;
}
.half.last, .third.last, .one-third.last, .fourth.last,
.one-fourth.last, .fifth.last, .one-fifth.last,
.two-thirds.last, .three-fourths.last {
	float: right;
}

.single					{ width: 100%; }
.half						{ width: 49.9%; }
.third,
.one-third			{ width: 33.3%; }
.fourth,
.one-fourth			{ width: 25%; }
.fifth,
.one-fifth			{ width: 20%; }
.two-thirds			{ width: 66.6%; }
.three-fourths	{ width: 75%; }

.row .one 		{ width: 6.25%; }
.row .two 		{ width: 12.5%; }
.row .three 	{ width: 18.75%; }
.row .four 		{ width: 25%; }
.row .five 		{ width: 31.25%; }
.row .six 		{ width: 37.5%; }
.row .seven 	{ width: 43.75%; }
.row .eight 	{ width: 50%; }
.row .nine 		{ width: 56.25%; }
.row .ten 		{ width: 62.5%; }
.row .eleven 	{ width: 68.75%; }
.row .twelve 	{ width: 75%; }
.row .thirteen 	{ width: 81.25%; }
.row .fourteen 	{ width: 87.5%; }
.row .fifteen 	{ width: 93.75%; }
.row .sixteen 	{ width: 100%; }

.row .centered { float: none; margin: 0 auto; }

/************************************************
	Mobile Menu
************************************************/

body.mobile-menu-open {
	max-height: 100vh;
	overflow: hidden;
}
.mobile-menu-container {
	display: none;
	background: #101817;
	position: fixed;
	top: 0; right: 100vw;
	line-height: 1.5;
	width: 100vw;
	height: 100%;
	min-height: 100vh;
	padding: 0px 0px 80px 0px;
	box-sizing: border-box;
	transition: right .25s ease-in-out;
	-moz-transition: right .25s ease-in-out;
	-webkit-transition: right .25s ease-in-out;
	-o-transition: right .25s ease-in-out;
	overflow: scroll;
	z-index: 999;
}
.mobile-menu-container .flex-row {
	display: flex;
	line-height: 0;
}
.mobile-menu-container .custom-logo-link {
	padding-left: 0px;
}
.mobile-menu-container .mobile-menus {
	padding: 36px;
	box-sizing: border-box;
	border-top: 1px solid #28554c;
}
.mobile-menu-container .menu li.menu-item-has-children > a::after {
	display: none;
}
button.mobile-menu-toggle {
	display: none;
	cursor: pointer;
	background: none;
	position: relative;
	margin: 0px 0px 0px 32px;
	padding: 12px 36px !important;
	border: none;
	box-shadow: none;
	z-index: 9;
}
button.mobile-menu-toggle::before {
	display: none;
}
.mobile-menu-toggle svg {
	fill: #8bff22;
}

#mobile-nav-large,
#mobile-nav-small {
	display: inline-block;
	width: 100%;
	margin-top: 24px;
}
#mobile-nav-large {
	font-size: 2.2rem;
	letter-spacing: -1px;
	margin-top: 0px;
}
#mobile-nav-small {
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid #28554c;
}
#mobile-nav-large .menu,
#mobile-nav-small .menu {
	float: none;
	width: 100%;
	margin: 0px;
	padding: 0px;
}
#mobile-nav-large .menu a {
	background: none;
	line-height: 1.1;
	margin-top: 12px;
	margin-bottom: 12px;
	padding: 0px;
	border: none;
}
#mobile-nav-small .menu a {
	background: none;
	font-size: 1.3rem;
	line-height: 1.1;
	margin-top: 6px;
	margin-bottom: 6px;
	padding: 0px;
	border: none;
}
#mobile-nav-large .menu a:hover,
#mobile-nav-small .menu a:hover {
	text-decoration: underline;
}
#mobile-nav-large .menu li {
	width: 100%;
}
#mobile-nav-large .menu li.button {
	text-align: center;
	margin: 0px 0px 12px 0px !important;
}
#mobile-nav-large .menu li.button a {
	font-size: 1.8rem;
	margin: 8px 0px;
}
#mobile-nav-large .menu li.button.purchase-99 a::after {
  padding-left: 12px;
  margin-left: 12px;
}
#mobile-nav-large .menu li a::before {
	font-size: 32px;
}
#mobile-nav-small .menu li {
	float: left;
	width: 50%;
	line-height: 1.6;
	padding: 4px 12px 4px 0px;
	box-sizing: border-box;
}

/************************************************
	Desktop Styles
************************************************/

@media screen and (max-width: 1400px) {

	#widget-list {
		flex-wrap: wrap;
	}
	#widget-list .wp-block-column:not(:only-child) {
	  flex-basis: calc(33.33% - 2em) !important;
	  flex-grow: 1;
	}
	#widget-list .wp-block-column:nth-child(3n+1) {
    margin-left: 0 !important;
	}
	#widget-list .wp-block-column:not(:first-child) {
		margin-left: 2em;
	}
	.blocks-grid .block-container,
	.blocks-grid .block-container:first-child {
		max-width: 24%;
	}
}

/************************************************
	Tablet Styles
************************************************/

@media screen and (max-width: 1024px) {

	/* Typography Tablet */

	body {
		font-size: 1.2rem;
		line-height: 1.6;
	}
	blockquote {
		font-size: 1.4rem;
	}
	h1, h2, .entry-title {
		font-size: 5rem;
		letter-spacing: -3px;
	}

	/* Theme Tablet */

	#navigation {
		display: none !important;
	}
	#nav-bar .flex-row {
		display: flex;
	}
	.mobile-menu-container,
	button.mobile-menu-toggle {
		display: block;
	}
	.mobile-menu-container.revealed {
		right: 0;
	}
	.mobile-menu-container .site-logo {
		padding: 0px;
	}
	.site-title {
		display: none !important;
	}
	.blocks-grid .block-container,
	.blocks-grid .block-container:first-child {
		max-width: 32.6%;
	}
	#widget-list .wp-block-column {
		padding-top: 0;
		padding-bottom: 0;
	}
	#widget-list .wp-block-column:not(:only-child) {
	  flex-basis: calc(50% - 2em) !important;
	}
	#widget-list .wp-block-column:nth-child(2n+1) {
    margin-left: 0px !important;
	}
	#widget-list .wp-block-column:nth-child(2n+2) {
    margin-left: 1em !important;
	}
	#what-are-blocks {
		max-height: none;
	}
	#what-are-blocks .wp-block-columns.alignwide {
		padding-left: 0px;
		padding-right: 0px;
	}
	#what-are-blocks .wp-block-column:first-child {
		display: none;
	}
	#what-are-blocks .wp-block-column:last-child {
		flex-basis: 100% !important;
		margin: 0px;
		padding: 0px;
	}
	.product-features h3 {
		text-align: left;
	}
	.content, .forum .content, .topic .content,
	.wp-block-cover .wp-block-cover__inner-container {
		padding-left: 60px;
		padding-right: 60px;
	}
	.single-theme .product-banner.callout-container {
		padding: 18px;
	}
	.widget {
		margin-bottom: 36px;
	}
	.footer-information {
		flex-direction: column-reverse;
	}
	.footer-information .content {
		text-align: center;
	}
	.footer-information .align-left {
		float: none;
		display: block;
		text-align: center;
	}
	.footer-information .align-right {
		float: none;
		display: block;
		text-align: center;
		margin-bottom: 12px;
	}

	.organic-builder-page .wp-block-image.neg-margin-right-400 {
		margin-right: -200px;
		margin-left: -80px;
	}

	/* Alignment */

	.organic-themes-sidebar-inactive.organic-themes-singular .alignfull,
	.organic-themes-sidebar-inactive.organic-themes-singular .alignwide {
		width: calc(100% + 72px);
		max-width: calc(100% + 72px);
		margin-left: -36px;
		left: auto;
	}
}

/************************************************
	Phone Styles
************************************************/

@media screen and (max-width: 767px) {

	/* Typography Phone */

	h1, h2, .entry-title {
		font-size: 3.4rem;
		letter-spacing: -2px;
	}
	h3 {
		font-size: 2.6rem;
	}
	h4, .forum .entry-title, .topic .entry-title {
		font-size: 2.2rem;
		letter-spacing: -1px;
	}
	h5 {
		font-size: 1.4rem;
	}
	h6 {
		font-size: 1.1rem;
	}
	body {
		font-size: 1.1rem;
		line-height: 1.6;
	}
	blockquote {
		font-size: 1.2rem;
		line-height: 1.5;
	}

	/* Theme Phone */

	.wp-block-columns {
		margin-bottom: 0px;
	}
	.wp-block-column {
		padding-top: 24px;
		padding-bottom: 24px;
	}
	.wp-block-column p br {
		display: none;
	}
	.wp-block-cover .wp-block-embed {
		min-height: 200px;
	}
	.wp-block-spacer {
		max-height: 60px;
	}
	[class="column"]::before, [class="columns"]::before,
	[class="column"]::after, [class="columns"]::after {
		display: none;
	}
	.padding-left {
		padding-left: 0px;
	}
	.padding-right {
		padding-right: 0px;
	}
	.remove-padding-mobile {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.reverse-mobile {
		flex-direction: column-reverse;
	}
	.reset-position-mobile {
		width: auto !important;
		position: relative;
		top: auto !important; left: auto !important;
		bottom: auto !important; right: auto !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.hide-mobile {
		display: none !important;
	}
	.featured-stats .statistics {
		flex-wrap: wrap;
	}
	.featured-stats .statistics .stat {
		width: 50%;
		margin: 0px;
		padding: 24px;
		border-left: none !important;
	}
	.featured-stats .statistics .stat:nth-child(odd) {
		padding-left: 0px;
		border-right: 1px solid #28554c
	}
	.featured-stats .statistics .stat:nth-child(even) {
		padding-right: 0px;
	}
	.featured-stats .statistics .stat:nth-child(1),
	.featured-stats .statistics .stat:nth-child(2),
	.featured-stats .statistics .stat:nth-child(3),
	.featured-stats .statistics .stat:nth-child(4) {
		border-bottom: 1px solid #28554c;
	}
	#page .leaves-above, #page .leaves-below {
		width: 300vw;
	}
	#wpadminbar {
		position: fixed;
	}
	#masthead .site-description {
		font-size: 2rem;
	}
	.content, .forum .content, .topic .content,
	.wp-block-cover .wp-block-cover__inner-container {
		padding-left: 36px;
		padding-right: 36px;
	}
	.entry-content {
		padding-top: 36px;
		padding-bottom: 36px;
	}
	.entry-content > .alignfull:first-child {
		margin-top: -36px;
	}
	.blog-holder,
	.archive-holder {
		margin: 24px 0px;
	}
	.blog-holder .entry-content,
	.archive-holder .entry-content {
		padding: 18px 24px;
	}
	.post-meta p, .post-meta a {
		font-size: 0.8rem;
	}
	.post-author .author-avatar {
		display: none;
	}
	.sidebar {
		margin: 0 0 48px 0;
		padding: 0;
	}
	.widget {
		margin-bottom: 24px;
	}
	.sidebar .widget:last-child,
	.footer-widgets .widget:last-child {
		margin-bottom: 12px;
	}
	.footer-widgets {
		width: 100%;
		margin: 0px;
		padding: 24px 0px;
	}
	.footer-widgets .widget {
		width: 50% !important;
		margin-bottom: 36px;
	}
	.footer-widgets .widget:last-child {
		width: 100% !important;
	}

	/* Organic Blocks */

	.organic-block-testimonials .obb-excerpt p {
		font-size: 1.3rem;
	}
	.obb-portfolio.obb-position-center-center .obb-content {
		margin-bottom: 12px !important;
	}

	/* Page Elements */

	.product-feature .product-container:first-child {
		max-width: 180px;
		left: -36px;
	}
	.stax-and-blocks .wp-block-group__inner-container {
		flex-direction: column;
		text-align: center;
	}
	.stax-and-blocks .responsive-text {
		width: 100%;
		font-size: 2.2em;
		margin-left: 0px;
	}
	.stax-and-blocks .responsive-text h2,
	.stax-and-blocks .responsive-text h4 {
		font-size: 2.2em;
		margin-top: 12px;
	}
	.stax-and-blocks .responsive-text h4 {
		line-height: 1;
	}
	.stax-and-blocks .feature-text {
		width: 100%;
		margin-left: 0px;
	}
	.stax-and-blocks .stax-logo {
		width: auto;
	}

	/* Products */

	.single-theme .product-banner.callout-container {
		padding: 0;
	}
	.single-theme .product-banner .product-images {
		margin-bottom: 0;
	}
	.single-theme .product-container {
		margin: -4px;
		padding-top: 24px;
	}
	.blocks-grid .block-container,
	.blocks-grid .block-container:first-child {
		max-width: 49%;
	}
	.product-details.callout-container {
		width: auto;
	}
	.product-banner {
		padding-top: 0px;
		padding-bottom: 0px;
	}
	.product-banner > :first-child {
		padding-right: 0px;
	}
	.product-information {
		padding: 36px;
	}
	.product-container {
		width: auto;
		margin-left: 24px;
		margin-right: 24px;
	}
	.product-single .entry-content {
		padding-top: 0px;
	}
	.builder-banner .wp-block-column:last-child {
		display: none;
	}

	/* Account */

	.organic-account-page .text-right {
		text-align: left;
	}
	.organic-account-page .wp-block-cover .wp-block-spacer {
		height: 20px !important;
	}

	/* Services */

	.callout-container {
		margin-top: 18px;
		margin-bottom: 18px;
	}
	.step-by-step::before {
		top: auto;
		right: calc(50% - 30px);
		bottom: -48px;
		transform: rotate(90deg);
	}

	/* Forums */

	#bbpress-forums ul.bbp-lead-topic, #bbpress-forums ul.bbp-topics, #bbpress-forums ul.bbp-forums,
	#bbpress-forums ul.bbp-replies, #bbpress-forums ul.bbp-search-results {
		font-size: 0.9rem;
	}
	.bbp-pagination-links, .bbp-pagination-count {
		float: none;
		display: inline-block;
		width: 100%;
		margin-bottom: 12px;
	}
	#bbpress-forums #favorite-toggle, #bbpress-forums #subscription-toggle {
		float: none;
	}

	/* Form */

	form input[type='url'],
	form input[type='tel'],
	form input[type='email'],
	form input[type='text'],
	form input[type='password'],
	form input[type='number'] {
		width: 100%;
	}

	/* Grid */

	body {
		-webkit-text-size-adjust: none;
		-ms-text-size-adjust: none;
		width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		padding-left: 0;
		padding-right: 0;
	}
	.row {
		width: 100%;
		min-width: 0;
		margin-left: 0;
		margin-right: 0;
		overflow: visible !important;
	}
	.flex-row {
		display: block;
	}
	.half, .third, .one-third, .fourth,
	.one-fourth, .fifth, .one-fifth,
	.two-thirds, .three-fourths {
		float: none;
		width: 100%;
	}
	.row .row .column,
	.row .row .columns {
		padding: 0;
	}
	.column, .columns {
		width: auto !important;
		float: none;
		margin-left: 0;
		margin-right: 0;
	}
	.column:last-child, .columns:last-child {
		margin-right: 0;
		float: none;
	}
	[class="column"] + [class="column"]:last-child,
	[class="columns"] + [class="columns"]:last-child {
		float: none;
	}
	[class="column"]:before, [class="column"]:after,
	[class="columns"]:before, [class="columns"]:after {
		content:'';
		display:table;
	}
	[class="column"]:after, [class="columns"]:after {
		clear: both;
	}
}
