@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Raleway:300,500,600");

/* =========================================================
   BREATHMATTERS HOMEPAGE CSS
   Cleaned and reorganized for index.php
   ========================================================= */

/* =========================================================
   1. RESET / BASE
   ========================================================= */

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, a, img, strong, ul, li, footer, header, nav, section, article {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article,
footer,
header,
nav,
section {
	display: block;
}

html {
	box-sizing: border-box;
}

*,
*:before,
*:after {
	box-sizing: inherit;
}

body {
	-webkit-text-size-adjust: none;
	-ms-overflow-style: scrollbar;
	background: #575b72;
	color: rgba(67, 75, 86, 0.75);
	font-family: "Raleway", sans-serif;
	font-size: 14pt;
	font-weight: 300;
	line-height: 1.65;
}

body.is-preload *,
body.is-preload *:before,
body.is-preload *:after {
	animation: none !important;
	transition: none !important;
}

@media screen and (max-width: 1680px) {
	body {
		font-size: 11pt;
	}
}

@media screen and (max-width: 480px) {
	html,
	body {
		min-width: 320px;
	}
}

@media screen and (max-width: 360px) {
	body {
		font-size: 10pt;
	}
}

/* =========================================================
   2. TYPOGRAPHY
   ========================================================= */

a {
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
	border-bottom: dotted 1px;
	text-decoration: none;
	color: #434b56;
}

a:hover {
	border-bottom-color: transparent;
}

strong {
	color: #434b56;
	font-weight: 500;
}

p {
	margin: 0 0 2em 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #434b56;
	line-height: 1.5;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
	color: inherit;
	text-decoration: none;
}

h1 {
	font-size: 2.5em;
	font-weight: 500;
	margin: 0 0 0.65em 0;
}

h2 {
	font-size: 1.75em;
	font-weight: 500;
	margin: 0 0 0.65em 0;
}

h3 {
	font-size: 1em;
	font-weight: 600;
	margin: 0 0 1em 0;
}

@media screen and (max-width: 736px) {
	h1 {
		font-size: 1.75em;
	}

	h2 {
		font-size: 1.25em;
	}
}

hr {
	border: 0;
	border-bottom: solid 1px rgba(67, 75, 86, 0.25);
	margin: 3em 0;
}

ul {
	list-style: disc;
	margin: 0 0 2em 0;
	padding-left: 1em;
}

ul li {
	padding-left: 0.5em;
}

/* =========================================================
   3. IMAGES
   ========================================================= */

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

img[data-position] {
	object-fit: cover;
}

img[data-position="bottom right"] {
	object-position: bottom right;
}

img[data-position="top left"] {
	object-position: top left;
}

.image {
	border-radius: 4px;
	border: 0;
	display: inline-block;
	position: relative;
}

.image.main {
	display: block;
	margin: 0 0 3em 0;
	width: 100%;
	height: auto;
}

@media screen and (max-width: 736px) {
	.image.main {
		margin: 0 0 2em 0;
	}
}

/* =========================================================
   4. BUTTONS / ACTIONS
   ========================================================= */

.button {
	appearance: none;
	transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
	border-radius: 3.92857em;
	border: 0;
	cursor: pointer !important;
	display: inline-block;
	font-weight: 600;
	height: 3.92857em;
	line-height: 3.92857em;
	padding: 0 3em;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	font-size: 0.7em;
	background-color: transparent;
	box-shadow: inset 0 0 0 1px rgba(67, 75, 86, 0.25);
	color: #434b56 !important;
}

.button:hover {
	background-color: rgba(67, 75, 86, 0.05);
}

.button.primary {
	background-color: #575b72;
	color: #ffffff !important;
}

.button.primary:hover {
	background-color: #626780;
}

ul.actions {
	display: flex;
	cursor: default;
	list-style: none;
	margin-left: -1em;
	padding-left: 0;
}

ul.actions li {
	padding: 0 0 0 1em;
	vertical-align: middle;
}

ul.actions.special {
	justify-content: center;
	width: 100%;
	margin-left: 0;
}

ul.actions.special li:first-child {
	padding-left: 0;
}

/* =========================================================
   5. PAGE WRAPPERS
   ========================================================= */

#page-wrapper {
	overflow-x: hidden;
	width: 100%;
	max-width: 100%;
	transition: opacity 0.5s ease;
}

#page-wrapper > * {
	padding: 0 2em;
}

#page-wrapper > :first-child,
#page-wrapper > :last-child {
	background-color: #4e5266;
	overflow: hidden;
}

#page-wrapper > :first-child {
	padding-top: 2em;
}

#page-wrapper > :last-child {
	padding-bottom: 3em;
}

.wrapper {
	width: 100%;
}

/* MAIN SITE WIDTH */
.wrapper > .inner {
	width: 100%;
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

/* MAIN CONTENT AREA */
.wrapper > .inner > .main {
	padding: 4em 4em 2em 4em;
	background-color: #ffffff;
}

/* Banner also constrained */
#banner {
	max-width: 1080px;
	margin-left: auto;
	margin-right: auto;
}

/* Reduce oversized text-box padding */
#banner > .items section {
	padding: 3em 3em 2em 3em;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */

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

	#page-wrapper > * {
		padding: 0 1.5em;
	}

	.wrapper > .inner > .main {
		padding: 3em 2.5em 1.5em 2.5em;
	}

}

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

	.wrapper > .inner > .main {
		padding: 3em 2em 1em 2em;
	}

	#banner > .items section {
		padding: 2.5em 2em 1.5em 2em;
	}

}

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

	#page-wrapper > * {
		padding: 0;
	}

	#page-wrapper > :first-child {
		padding-top: 0;
	}

	.wrapper > .inner > .main {
		padding: 2.5em 1.25em 1em 1.25em;
	}

	#banner {
		max-width: 100%;
	}

	#banner > .items section {
		padding: 2.5em 1.5em 1.5em 1.5em;
	}

}
/* =========================================================
   6. HEADER
   ========================================================= */

#header {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 1em;
	color: #ffffff;
	cursor: default;
	line-height: 1.5;
	margin: 0 0 3em 0;
	position: relative;
}

#header a {
	border-bottom: 0;
	color: inherit;
}

#header > .logo {
	flex-grow: 0;
	flex-shrink: 1;
	display: inline-block;
	font-size: 1.25em;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	vertical-align: middle;
}

#header > .logo span {
	border-left: solid 1px rgba(255, 255, 255, 0.25);
	color: rgba(255, 255, 255, 0.5);
	display: inline-block;
	font-size: 0.8em;
	margin-left: 0.325em;
	padding-left: 0.825em;
	position: relative;
	top: -0.075em;
}

#header > nav {
	flex-grow: 1;
	flex-shrink: 0;
	text-align: right;
	white-space: nowrap;
}

#header > nav ul {
	list-style: none;
	margin: -0.5em -1em 0 0;
	padding-left: 0;
}

#header > nav ul li {
	display: inline-block;
	font-weight: 500;
	letter-spacing: 0.1em;
	margin-left: 0.5em;
	padding-left: 0;
	text-transform: uppercase;
}

#header > nav ul li a {
	display: inline-block;
	line-height: inherit;
	padding: 0.5em 1em;
}

#header > nav ul li a[href="#menu"]:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f0c9';
	float: right;
	line-height: inherit;
	margin-left: 0.75em;
}

#header > nav ul li a:hover {
	background-color: rgba(255, 255, 255, 0.05);
	border-radius: 4px;
}

@media screen and (max-width: 1280px) {
	#header {
		margin: 0 0 2em 0;
	}
}

@media screen and (max-width: 736px) {
	#header > .logo {
		font-size: 1em;
	}

	#header > .logo span {
		font-size: 1em;
		top: 0;
	}
}

@media screen and (max-width: 480px) {
	#header {
		height: 44px;
		line-height: 44px;
		margin: 0;
		padding: 0 1.25em;
		gap: 0.5em;
	}

	#header > .logo {
		font-size: 0.8em;
	}

	#header > .logo span {
		display: none;
	}

	#header > nav {
		font-size: 0.8em;
	}

	#header > nav ul {
		margin: 0;
	}

	#header > nav ul li a {
		padding: 0;
	}

	#header > nav ul li a:hover {
		background-color: transparent;
	}
}

/* =========================================================
   7. SLIDE-OUT MENU
   ========================================================= */

#menu {
	background-color: #4cabb1;
	color: rgba(255, 255, 255, 0.75);
	transform: translateX(20em);
	transition: transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
	-webkit-overflow-scrolling: touch;
	box-shadow: none;
	height: 100%;
	max-width: 80%;
	overflow-y: auto;
	padding: 3em 2em;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 22em;
	z-index: 10002;
}

#menu a,
#menu strong,
#menu h1,
#menu h2,
#menu h3,
#menu h4,
#menu h5,
#menu h6 {
	color: #ffffff;
}

#menu > ul {
	margin: 0 0 1em 0;
}

#menu > ul.links {
	list-style: none;
	padding: 0;
}

#menu > ul.links > li {
	padding: 0;
}

#menu > ul.links > li > a:not(.button) {
	border: 0;
	border-top: solid 1px rgba(255, 255, 255, 0.25);
	color: inherit;
	display: block;
	line-height: 3.5em;
	text-decoration: none;
}

#menu > ul.links > li:first-child > a:not(.button) {
	border-top: 0 !important;
}

#menu .close {
	text-decoration: none;
	transition: color 0.2s ease-in-out;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	border: 0;
	color: rgba(255, 255, 255, 0.5);
	cursor: pointer;
	display: block;
	height: 3.25em;
	line-height: 3.25em;
	padding-right: 1.25em;
	position: absolute;
	right: 0;
	text-align: right;
	top: 0;
	vertical-align: middle;
	width: 7em;
}

#menu .close:before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f00d';
	font-size: 1.25em;
}

#menu .close:hover {
	color: #ffffff;
}

body.is-menu-visible #page-wrapper {
	pointer-events: none;
	cursor: default;
	opacity: 0.25;
}

body.is-menu-visible #menu {
	transform: translateX(0);
	box-shadow: 0 0 2em 0.25em rgba(0, 0, 0, 0.1);
	visibility: visible;
}

@media screen and (max-width: 736px) {
	#menu {
		padding: 2.5em 1.75em;
	}

	#menu .close {
		height: 4em;
		line-height: 4em;
	}
}

/* =========================================================
   BANNER / SLIDER
   Order:
   1. Header/Menu already above this section
   2. Slider
   3. Coming Speaker Schedule
   4. Regular Meetings
   ========================================================= */

#banner {
	display: flex;
	flex-direction: row;
	background-color: #363847;
}

/* Desktop: slider left, info boxes right */
#banner > .slider {
	order: 1;
	width: 60%;
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background-color: #111;
}

#banner > .items {
	order: 2;
	display: flex;
	flex-direction: column;
	width: 40%;
}

#banner > .items section {
	flex: 1;
	padding: 5em 6em 3em 6em;
	text-align: center;
}

#banner > .items section h1 {
	font-size: 1.75em;
}

#banner > .items section.accent2,
#banner > .items section.accent3 {
	color: rgba(255, 255, 255, 0.75);
}

#banner > .items section.accent2 {
	background-color: #4cabb1;
}

#banner > .items section.accent3 {
	background-color: #69c7ad;
}

#banner > .items section.accent2 a,
#banner > .items section.accent2 strong,
#banner > .items section.accent2 h1,
#banner > .items section.accent2 h2,
#banner > .items section.accent2 h3,
#banner > .items section.accent3 a,
#banner > .items section.accent3 strong,
#banner > .items section.accent3 h1,
#banner > .items section.accent3 h2,
#banner > .items section.accent3 h3 {
	color: #ffffff;
}

#banner > .items section.accent2 .button,
#banner > .items section.accent3 .button {
	box-shadow: 0 0 3em 0 rgba(0, 0, 0, 0.1);
	color: #ffffff !important;
}

#banner > .items section.accent2 .button.primary {
	background-color: #5ab7bd;
}

#banner > .items section.accent2 .button.primary:hover {
	background-color: #6cbfc4;
}

#banner > .items section.accent3 .button.primary {
	background-color: #79d1b8;
}

#banner > .items section.accent3 .button.primary:hover {
	background-color: #8cd7c2;
}

/* Slider articles */
#banner > .slider > article {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	visibility: hidden;
	z-index: 0;
	transition: opacity 1.5s ease, visibility 1.5s ease;
}

#banner > .slider > article.visible {
	opacity: 1;
	visibility: visible;
}

#banner > .slider > article.top {
	z-index: 1;
}

#banner > .slider picture,
#banner > .slider img {
	display: block;
	width: 100%;
	height: 100%;
}

#banner > .slider img {
	object-fit: cover;
	object-position: center center;
}

/* Tablet */
@media screen and (max-width: 980px) {
	#banner {
		flex-direction: column;
	}

	#banner > .slider {
		width: 100%;
		aspect-ratio: 16 / 9;
	}

	#banner > .items {
		width: 100%;
		flex-direction: row;
	}
}

/* Small tablet / large phone */
@media screen and (max-width: 736px) {
	#banner > .items {
		flex-direction: column;
	}

	#banner > .items section {
		width: 100%;
		padding: 3em 2em 2em 2em;
	}

	#banner > .items section h1 {
		font-size: 1.25em;
	}
}

/* Mobile phone: use 1080 x 1350 images, 4:5 ratio */
@media screen and (max-width: 480px) {
	#banner {
		display: flex;
		flex-direction: column;
	}

	#banner > .slider {
		order: 1;
		width: 100%;
		aspect-ratio: 4 / 5;
		height: auto;
		min-height: 0;
		max-height: none;
	}

	#banner > .items {
		order: 2;
		display: flex;
		flex-direction: column;
		width: 100%;
	}

	#banner > .items section {
		width: 100%;
		padding: 3em 2em 2em 2em;
	}
}

/* =========================================================
   9. FEATURE COLUMNS
   ========================================================= */

.features {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 0 0 2em 0;
}

.features section {
	flex-grow: 0;
	flex-shrink: 0;
	border-left: solid 1px rgba(67, 75, 86, 0.25);
	border-top: solid 1px rgba(67, 75, 86, 0.25);
	padding: 2em 3em;
	text-align: center;
	width: calc(100% / 3);
}

.features section:nth-child(3n - 2) {
	border-left-width: 0;
}

.features section:nth-child(-n + 3) {
	border-top-width: 0;
}

@media screen and (max-width: 980px) {
	.features {
		flex-direction: column;
	}

	.features section {
		padding: 3em 3em 1em 3em;
		border-left: 0;
		width: 100%;
	}

	.features section:nth-child(-n + 3) {
		border-top-width: 1px;
	}

	.features section:first-child {
		border-top-width: 0;
		padding-top: 1em;
	}

	.features section:last-child {
		padding-bottom: 0;
	}
}

@media screen and (max-width: 736px) {
	.features section {
		padding: 3em 2em 1em 2em;
	}
}

/* =========================================================
   10. VIDEO EMBED
   ========================================================= */

.videomark2 {
	overflow: hidden;
	padding-bottom: 56.25%;
	position: relative;
	height: 0;
}

.videomark2 iframe {
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	position: absolute;
}

/* =========================================================
   11. FOOTER
   ========================================================= */

#footer {
	color: rgba(255, 255, 255, 0.75);
	margin-top: 4em;
	background-color: transparent;
	text-align: center;
}

#footer a,
#footer strong,
#footer h1,
#footer h2,
#footer h3,
#footer h4,
#footer h5,
#footer h6 {
	color: #ffffff;
}

#footer hr {
	border-bottom-color: rgba(255, 255, 255, 0.25);
}

#footer a {
	border-bottom-color: transparent;
	color: rgba(255, 255, 255, 0.75);
}

#footer a:hover {
	border-bottom-color: inherit;
}

#footer > :last-child {
	margin-bottom: 0;
}

#footer .copyright {
	color: rgba(255, 255, 255, 0.5);
}

#bottommenu {
	text-align: center;
	color: #ffffff;
}

#bottommenu a {
	font-size: 100%;
	font-weight: bold;
	color: #ffffff;
	text-decoration: none;
}

#bottommenu a:hover {
	font-size: 105%;
	font-weight: bold;
	color: #CCCCCC;
}

.plainnotitle {
	text-transform: lowercase;
}




/* =========================================================
   12. STATIC IMAGE
   ========================================================= */

.bm-static-hero {
  display: block;
  width: 100%;
  margin: 0 auto;
  text-decoration: none;
  line-height: 0;
}

.bm-static-hero picture,
.bm-static-hero img {
  display: block;
  width: 100%;
}

.bm-static-hero img {
  height: auto;
  border: 0;
}
