/** !
Theme Name: b4st
Theme URI: https://github.com/SimonPadbury/b4st
Description: A simple starter theme for WordPress. Gutenberg compatible. Using Bootstrap 4, Font Awesome 5, and Gulp-SASS.
Author: Simon Padbury
Author URI: http://simonpadbury.github.io
Version: 3.1
Tags:
Text Domain: b4st
License: Unlicense
License URI: http://unlicense.org
*/

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, input, textarea, button, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, address, section, video, audio {
	border: 0;
	outline: 0;
	-webkit-font-smoothing: antialiased;
	-ms-word-wrap: break-word;
	word-wrap: break-word;
}

.font-montserrat {
	font-family: 'Montserrat', sans-serif !important;
}

.font-alata {
	font-family: 'Alata', sans-serif !important;
}

.font-open-sans {
	font-family: 'Open Sans', sans-serif !important;
}

.display-1, .display-2, .display-3, .display-4, .display-5 {
	display: block;
	width: 100%;
}

.bg-light p {
	color: #333;
}

.btn-group .btn.active {
	box-shadow: none !important;
}

.btn.puff,
.btn.xpad {
	padding: 0.75rem 1.5rem;
}

.author-bio, .comments-wrap {
	margin: 36px auto;
	max-width: 720px;
	padding-left: 16px;
	padding-right: 16px
}

.site-header-image {
	display: block;
	margin: auto
}

.alignleft {
	float: left
}

.alignright {
	float: right
}

.aligncenter {
	clear: both;
	display: block
}

.author-bio .avatar {
	border: 1px solid #dee2e6;
	border-radius: 50%
}

.wp-block-cover-text p {
	padding: 1.5em 16px
}

@media screen and (min-width:768px) {
	.wp-block-cover-text p {
		padding: 1.5em 0
	}
}
ul.wp-block-latest-posts.alignfull, ul.wp-block-latest-posts.alignwide, ul.wp-block-latest-posts.is-grid.alignwide {
	padding: 0 16px
}

@media screen and (min-width:768px) {
	#site-main {
		font-size: calc(1rem + 0.375*(100vw - 768px)/432);
		font-weight: 300;
		line-height: inherit
	}

	.entry-header h1 {
		font-size: calc(2.5rem + 0.9375*(100vw - 768px)/432)
	}
}

@media screen and (min-width:1200px) {
	#site-main {
		font-size: 1.375rem
	}

	.entry-header h1 {
		font-size: 3rem
	}
}
.more-link {
	display: block
}

.wp-block-code {
	padding: .5em 1em;
	margin: 0 0 1.5rem
}

#site-main ol, #site-main ul {
	list-style-position: outside
}

.#site-main ol ol, .#site-main ol ul, .#site-main ul ol, .#site-main ul ul {
	margin: 0 auto
}

.#site-main ol ol li, .#site-main ol ul li, .#site-main ul ol li, .#site-main ul ul li {
	margin-left: 0
}

.size-auto, .size-full, .size-large, .size-medium, .size-thumbnail, img {
	max-width: 100%;
	height: auto
}

main {
	flex: 1 0 auto
}

#site-footer {
	position: relative;
	color: #aaa;
	padding: 50px 0;
	background: #000 url('theme/img/bg-footer.png') no-repeat left top;
}

#site-footer a {
	color: #eee;
	position: relative;
}

#site-footer ul a {
	display: inline-block;
	padding: 5px 0;
}

#site-footer a:hover {
	color: #E62440;
	text-decoration: none;
}

#site-footer .heading {
	color: #eee;
}

#footer-logo {
	display: block;
	max-width: 80%;
	max-height: 80px;
}

.tribe-events-calendar-list p, .tribe-events-content p {
	font-family: 'Open Sans', sans-serif !important;
	font-weight: 400 !important;
	color: #555 !important;
}

.tribe-events .tribe-events-l-container {
	padding-bottom: 1rem !important;
}

h3.tribe-events-calendar-list__event-title, h1.tribe-events-single-event-title {
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400 !important;
}

.tribe-common .tribe-common-c-btn {
	color: #fff;
	background-color: #0054a4;
	border-color: #0054a4;
	text-transform: uppercase;
	font-family: 'Montserrat', sans-serif !important;
	font-weight: 400 !important;
	border-radius: 0px;
}

.tribe-common .tribe-common-c-btn:hover {
	color: #fff;
	background-color: #00407e;
	border-color: #003a71;
}


/*
Full Width Sections
*/

section.full-width {
	padding: 5rem 0;
}

.post-type-archive-space section.first-row {

}

section.full-width.short {
	padding: 1rem 0;
}

section.full-width.first-row, section.full-width.bg-white, section.full-width:not([class*='bg-']) + section.full-width {
	border-top: 1px solid #eee;
}

section.full-width.bg-gray {
	background: #ddd !important;
}

section.full-width.bg-primary {
	position: relative;
}

section.full-width.boxes {
	padding: 5rem 0;
	position: relative;
	top: 0;
}

section.full-width.boxes .container {
	position: relative;
}

@media screen and (min-width:992px) {
	section.full-width.boxes {
		padding: 0;
	}

	section.full-width.boxes .container {
		top: -150px;
	}

	section.full-width.boxes + section.full-width:not([class*="bg-"]) {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}
}
@media screen and (min-width:769px) {
	section.full-width {
		padding: 10rem 0;
	}
}
section.full-width.bg-image {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 80px 0;
	color: #fff;
	background-color: #2C3E50;
}

section.full-width.bg-overflow {
	padding: 0;
}

.single-space section.full-width.first-row, .page section.full-width.bg-overflow.first-row {
	margin-top: 5rem;
}

section.full-width.bg-overflow .section-content {
	padding: 10rem 5rem;
}

section.full-width.bg-image > h1, section.full-width.bg-image > h2, section.full-width.bg-image > h3, section.full-width.bg-image > p {
	color: #fff;
}

section.full-width.bg-image h1, section.full-width.bg-image h2, section.full-width.bg-image h3 {
	letter-spacing: -1.5px;
	line-height: 1.25;
	font-size: 2.5em;
	font-weight: 300;
	color: #fff;
}

section.full-width.hero {
	padding: 120px 0;
	min-height: 50vh;
}

section.full-width .section-bg {
	width: 100%;
	height: 100%;
	min-height: 200px;
	background-size: cover;
	background-position: center;
	padding: 50px 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

section.full-width .section-bg .box-content-wrap {
	width: 100%;
	clear: both;
	max-height: 50%;
}

section.full-width .section-bg .box-content {
	max-width: 100%;
	min-width: 250px;
	height: 100%;
	display: inline-block;
	background: #fff;
	padding: 50px;
}

@media screen and (min-width:576px) {
	section.full-width .section-bg .box-content {
		max-width: 75%;
	}
}
@media screen and (min-width:768px) {
	section.full-width .section-bg .box-content {
		max-width: 50%;
	}
}
section.full-width .section-bg .accent .box-content {
	background: #dee2e6;
}

p.subtitle {
	letter-spacing: 2.2px;
	font-size: 0.8em;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.5em;
	margin: 0 0 2	0px;
	display: block;
	width: 100%;
	color: #E62440;
}

.bg-light p.subtitle {
	color: #333;
}

section.full-width .text-light, .bg-primary p.subtitle, .bg-secondary p.subtitle {
	color: #fff !important;
}

.bg-dark a:not(.btn) {
	color: #aaa !important;
}

.bg-dark a:not(.btn):hover {
	color: #fff !important;
}

.bg-dark .menu-item .dropdown-item {
	color: #2C3E50 !important;
}

/*
ICON FONTS
*/

.fontello-block {
	background: transparent;
	vertical-align: top;
}

.fontello-block:hover {
	opacity: 1;
}

.fontello-icon, .cf {
	position: relative;
	display: inline-block;
	text-align: center;
	font-size: 3em;
	font-weight: inherit;
	width: 1.5em;
	height: 1.25em;
	line-height: 1em;
	color: inherit;
}

.list-group-item .fontello-icon, .list-group-item .cf {
	font-size: 2rem;
}

.fontello-icon.large {
	font-size: 4em;
}

.fontello-icon.text-primary::before {
	color: #2C3E50;
}

.fontello-icon.text-primary:hover::before {
	filter: brightness(85%);
}

.fontello-icon.text-secondary::before {
	color: #95a5a6;
}

.fontello-icon.text-secondary:hover::before {
	filter: brightness(85%);
}

.fontello-icon.text-success::before {
	color: #0054A4;
}

.fontello-icon.text-success:hover::before {
	filter: brightness(85%);
}

.fontello-icon.text-info::before {
	color: #3498DB;
}

.fontello-icon.text-danger::before {
	color: #E62440;
}

.fontello-icon.text-light::before {
	color: #ecf0f1;
}

.fontello-icon.text-dark::before {
	color: #7b8a8b;
}

.fontello-icon::before {
	text-decoration: none;
	font-weight: 400 !important;
	border: none;
	text-shadow: none;
	-webkit-font-smoothing: antialiased;
}


/*
SOCIAL LINKS
*/

.social-link {
	font-size: 1.3rem;
}

.social-link i {
	font-size: 2rem;
}

.facebook-color {
	color: #4267B2
}

.facebook-color:hover {
	color: #2a52a3;
	text-decoration: none;
}

.instagram-color {
	color: #405DE6
}

.instagram-color:hover {
	color: #C13584;
	text-decoration: none;
}

.twitter-color {
	color: #1DA1F2;
}

.twitter-color:hover {
	color: #1e8ece;
	text-decoration: none;
}

/*
ACF MAP
*/

.acf-map {
	height: 300px;
	position: relative;
}

/*
SELECTED NAVS
*/

#main-menu .menu-item, .navbar .navbar-nav .active {
	position: relative;
}

.navbar .navbar-nav .active > .nav-link:before, #main-menu .menu-item.active:before {
	display: block;
	position: absolute;
	content: "";
	background: #fff;
	bottom: 1%;
	width: 2px;
	height: 98%;
	right: 0;
}

@media screen and (min-width:992px) {
	.navbar .navbar-nav .active > .nav-link:before, #main-menu .menu-item.active:before {
		bottom: 0;
		width: 98%;
		height: 3px;
		right: 1%;
	}

	.nav-link {
		padding: 1rem 1rem;
	}
}


.navbar input#s {
	background: #e9ecef;
}

/*
DESIGN MODULES
*/

.top-line-wrap {
	position: relative;
	padding: 3.6rem 1rem;
}

.top-line-wrap:before {
	display: block;
	content: "";
	width: 20%;
	position: absolute;
	top: 0;
	left: 1rem;
	height: 1px;
	background: #cdd0e1;
}

.top-line {
	position: relative;
	padding-top: 1.8rem;
}

.top-line:before {
	display: block;
	content: "";
	width: 20%;
	max-width: 100px;
	position: absolute;
	top: 0;
	left: 0;
	height: 1px;
	background: #cdd0e1;
}

.text-center .top-line:before, .text-center.top-line:before {
	left: calc(50% - 50px);
}

@media screen and (max-width:768px) {
	.top-line-wrap:before {
		top: 1.8rem;
	}
}


/*
GALLERY
*/

.gallery .img-link img {
	display: block;
	width: 100%;
	opacity: 1;
	transition: all 0.5s ease-in-out;
}

.gallery .img-link {

}

.gallery .img-link:hover img {
	opacity: 0.75;
}

.hover-mask {
	display: block;
	position: relative;
	overflow: hidden;
}

.hover-mask img {
	width: 100%;
	height: auto;
	transition: all 0.5s linear;
}

.hover-mask:hover img {
	transform: scale(1.2);
}

.hover-mask p {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	margin-top: 0px;
	margin-bottom: 0px;
	height: 100%;
	width: 100%;
	padding: 30% 20px;
	text-align: center;
	background-color: rgba(0,0,0,0.6);
	transition: all 0.5s linear;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
}

.hover-mask:hover p {
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=100)";
	filter: alpha(opacity=100);
	opacity: 1;
}

.hover-mask .fas {
	transform: scale(0);
	color: #fff;
	transition: all 0.5s linear;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=0)";
	filter: alpha(opacity=0);
	opacity: 0;
}

.hover-mask:hover .fas {
	transform: scale(1);
	transition: all 0.5s linear;
	-ms-filter: "progid: DXImageTransform.Microsoft.Alpha(Opacity=1)";
	filter: alpha(opacity=1);
	opacity: 1;
}


/*

HEADER SEARCH BAR

*/

#header-search {
	opacity: 0;
	visibility: hidden;
	min-height: 0;
	max-height: 0;
	position: absolute;
	bottom: 0px;
	left: 0;
	right: 0;
	width: 100%;
	background: #111;
	padding-top: 15px;
	transition: all .3s ease .15s;
}

#header-search.show {
	visibility: visible;
	opacity: 1;
	min-height: 70px;
	max-height: 70px;
	bottom: -70px;
}

#header-search .row, #header-search .col {
	width: 100% !important;
}

#header-logo {
	max-height: 40px;
}

.jumbotron {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 100vh !important;
}

.jumbotron .bg-shaded {
	background: rgba(0, 0, 0, 0.5);
	padding: 50px;
}

.card-footer.no-style {
	border: none;
	background: inherit;
}

.boxes .card {
	box-shadow: 0 20px 70px 0 rgba(0,0,0,0.1);
}

.boxes .card-body {
	padding: 35px 35px 0;
}

.bg-accent {
	background: #2C3E50 !important;
}

.text-accent {
	color: #95a5a6 !important;
}

.boxes .card-footer:last-child {
	border-radius: 0 0 10px 10px !important;
	padding: 1.5rem 0;
}

.boxes .card, .boxes .card-footer {
	text-align: center;
	border: none;
}

.boxes .card-footer a {
	font-weight: bold;
	font-size: 1rem;
}

.boxes .card-title {
	font-size: 1.25rem;
	margin-bottom: 1rem;
}

.boxes .card-body .content-box-icon {
	display: block;
	text-align: center;
	margin: 0 auto 1rem;
	font-size: 3rem
}



/* MODAL FORMS */

.form-modal .gform_button {
	visibility: hidden;
}


/* SPACES STYLING */

.sidebar .list-group-item span {
	font-size: 1rem;
}

.post-type-archive-space .space .media .space-image {
	max-width: 150px;
}

/*
TENANTS
*/

.tenant_carousel .card {
	position: relative;
}

.tenant_carousel .card-body {
	padding-top: 30px;
	position: relative;
}

.tenant-logo {
	padding: 2px 10px;
	max-height: 50px;
	width: auto !important;
	position: absolute;
	top: -25px;
	z-index: 1;
	background: #fff;
	border-radius: 10px;
	left: 50%;
	transform: translateX(-50%)
}

.tenant-type-badge {
	position: absolute;
	top: 5px;
	left: 5px;
	font-size: 0.9rem;
	font-weight: normal;
}

.tenant-website {
	font-size: 1rem;
	display: inline-block;
}

.owl-carousel .owl-stage {
	display: flex;
}

.owl-carousel .owl-item {
	display: flex;
	flex: 1 0 auto;
}

.owl-carousel .card-body {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
}

.owl-carousel .card-text {
	flex-grow: 1;
}

.owl-carousel .img-fluid {
	display: flex;
	flex-direction: column;
}
