/** ==================================== flex-gallery ==================================== **/
ul.flex-gallery {
	--justify-content: flex-start;
	--background: transparent;
	--padding: 0;
	--margin: 0;

	--items: 3;
	--item-offset: 2em;
	--item-width: calc( (100% - (var(--item-offset) * (var(--items) - 1))) / var(--items));

	--label-padding: 2px 6px;
	--label-background: var(--color-primary);
	--label-color: var(--color-white);

	display: flex;
	flex-wrap: wrap;
	justify-content: var(--justify-content);
	gap: var(--item-offset);
	margin: var(--margin);
	background: var(--background);
	padding: var(--padding);
	box-sizing: border-box;
}

ul.flex-gallery.one {
	--items: 1;
}


ul.flex-gallery.two {
	--items: 2;
}

ul.flex-gallery.four {
	--items: 4;
}

ul.flex-gallery.five {
	--items: 5;
}

ul.flex-gallery h2 {
	--font-size: var(--font-size-normal);
	--line-height: var(--line-height-normal);
	--font-weight: 400;
}

/** OVERVIEW **/
ul.flex-gallery.overview {
	--title-padding: 12px 0;
	--title-background: transparent;
	--title-background-hover: transparent;
	--title-color: var(--color-primary);
	--title-color-hover: var(--color-primary-dark);
}

ul.flex-gallery.overview.left {
	--title-color: var(--color-black);
	--title-color-hover: var(--color-primary);
	justify-content: flex-start;
}

ul.flex-gallery.overview.left li .item h2, ul.flex-gallery.overview.left li .item p {
	text-align: left;
}

ul.flex-gallery.overview.left li .item p {
	color: var(--color-black);
	font-weight: 300;
	font-size: var(--font-size-small);
}

ul.flex-gallery.overview.left li .item div.tags {
	margin: 0 0 12px;
}

/** ATTACHED TYPE **/
ul.flex-gallery.attached_type {
	--background: transparent;
	--padding: 25px var(--default-padding-sides);

	--item-flex-direction: column;
	--item-background: var(--color-white);
	--item-background-hover: var(--color-white);
	--item-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
	--item-border-radius: 40px;

	--icon-color: var(--color-primary);
	--icon-font-size: 40px;
	--icon-margin: 0;
	--icon-padding: 10px 0;
	--icon-border: 0;

	--image-polaroid: 0;
	--image-polaroid-padding: 4px;

	--item-title-color: var(--color-gray-darkest);
	--item-title-margin: 0 0 10px;

	--item-content-color: var(--color-black);
	--item-content-margin: 0;
	--item-content-padding: 1em 2em;
	--item-content-text-align: center;

	--image-aspect-ratio: 16/10;
}

ul.flex-gallery li {
	display: block;
	flex: 0 0 var(--item-width);
	background: none;
	padding: 0!important;
	margin: 0!important;
	position: relative;
}

ul.flex-gallery.overview {
	--justify-content: center;
}

ul.flex-gallery li:before {
	content: none!important;
}

ul.flex-gallery li .item {
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
}

ul.flex-gallery li .item div.wrapper, article.chapter .first-image div.wrapper {
	--border-radius: var(--default-border-radius);
	--shadow: var(--default-shadow);

	border-radius: var(--border-radius);
	box-shadow: var(--shadow);
}

ul.flex-gallery li .item div.wrapper img, article.chapter .first-image div.wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: var(--default-transition);
	opacity: var(--image-opacity);
	transform: scale(var(--image-scale));
	border-radius: var(--border-radius);
}

ul.flex-gallery li .item:hover div.wrapper img, article.chapter .first-image:hover div.wrapper img {
	opacity: var(--image-opacity-hover);
	transform: scale(var(--image-scale-hover));
}

ul.flex-gallery li .item:hover div.next span {
	text-decoration: underline;
}

ul.flex-gallery li .item span.label {
	position: absolute;
	top: 0;
	left: 0;
	padding: var(--label-padding);
	background: var(--label-background);
	color: var(--label-color);
	font-weight: 500;
	z-index: 10;
}

ul.flex-gallery li .item span.label:empty {
	display: none;
}

/** FLEX OVERVIEW **/
ul.flex-gallery.overview li .item h2 {
	background:var(--title-background);
	text-align: center;
	color: var(--title-color);
	padding: var(--title-padding);
	box-sizing: border-box;
	margin: 0;
	font-weight: 600;
	transition: var(--default_transition);
}


ul.flex-gallery.overview li .item:hover h2 {
	background: var(--title-background-hover);
	color: var(--title-color-hover);
}

ul.flex-gallery.overview li .item p {
	text-align: center;
	font-weight: 700;
}

ul.flex-gallery.overview li .item p span {
	font-size: var(--font-size-small);
	color: var(--color-black);
	font-weight: 300;
	text-decoration: line-through;
}

ul.flex-gallery.zoom {
	--item-offset: 1em;
	--float: left;
	--offset: 20px;

	float: var(--float);
	padding: 0 var(--offset) var(--offset) 0;
	/**max-width: calc(33% - var(--offset));**/
	box-sizing: border-box;
}

ul.flex-gallery.zoom.right {
	--float: right;
	padding: 0 0 var(--offset) var(--ofset);
}

ul.flex-gallery.zoom li:first-of-type {
	flex: 0 0 100%;
}

/** ATTACHED TYPE **/
ul.flex-gallery.attached_type li:hover .item {
	background: var(--item-background-hover);
}

ul.flex-gallery.attached_type li .item {
	display: flex;
	flex-direction: var(--item-flex-direction);
	background: var(--item-background);
	padding: calc(var(--image-polaroid) * var(--image-polaroid-padding));
	box-sizing: border-box;
	box-shadow: var(--item-shadow);
	border: var(--item-border);
	border-radius: var(--item-border-radius);
	transition: var(--default_transition);
	overflow: hidden;
}

ul.flex-gallery.attached_type li .item div.icon {
	display: flex;
	background: var(--icon-background, transparent);
	margin: var(--icon-margin);
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: var(--icon-padding, 0);
	box-sizing: border-box;
	flex: 1;
}

#trump.flex-gallery.attached_type li .item div.icon {
	flex: 1 0 64px;
}

ul.flex-gallery.attached_type li .item div.icon i {
	color: var(--icon-color);
	font-size: var(--icon-font-size);
}

ul.flex-gallery.attached_type li .item div.content {
	background: var(--item-background);
	padding: var(--item-content-padding);
	box-sizing: border-box;
	flex: 0 1 auto;
}

ul.flex-gallery.attached_type li .item div.content h2 {
	color: var(--item-title-color);
	font-weight: var(--item-title-font-weight, 400);
	margin: var(--item-title-margin);
	text-align: var(--item-content-text-align);
}

ul.flex-gallery.attached_type li .item div.content p {
	text-align: center;
	margin: var(--item-content-margin);
	color: var(--item-content-color);
	text-align: var(--item-content-text-align);
}

ul.flex-gallery.attached_type li .item div.content span.next {
	display: block;
	text-align: center;
	margin: var(--attached-type-item-content-margin);
	color: var(--a-color);
	font-weight: 400;
}

ul.flex-gallery li .item div.footer {
	margin: 0.5em 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

/** ==================================== flex-overview ==================================== **/
.flex-overview > div {
	display: flex;
	gap: 1em;
}

.flex-overview > div + div {
	margin: 2em 0 0 0;
}

.flex-overview > div > img, .flex-overview > div > a {
	flex: 1;
}
.flex-overview > div > div {
	flex: 4;
}

.flex-overview > div > div > h2, .flex-overview > div > div > h2 a {
	margin: 0;
}

.flex-overview > div > div > p {
	margin: 1em 0;
}
/** ============================================================================================= **/
#superslides {
	div.floating_caption {
		height: 100%;
		padding: 50px 10%;
	}

	div.floating_caption div.offset-floating {
		flex: 0 0 400px;
		height: 100%;
	}

	div.floating_caption div.offset-floating div.floating {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px;
		width: 400px;
		padding: 80px 40px;
		margin: 25px 0 0 34px;
		height: 100%;
	}

	div.floating_caption div.offset-floating div.floating div {
		flex: 0 0 100%;
	}
}

article.chapter.background {
	background: var(--color-tertiary);
}

article.chapter.background.jobs {
	background: var(--color-primary-lightest);
}

article.chapter.background {
	input[type="text"], input[type="password"], input[type="email"], input[type="file"], textarea, select, label.captcha {
		background: var(--color-secondary-lightest);
	}
}

div.floating_caption {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	box-sizing: border-box;

}

div.floating_caption div.offset-floating {
	display: flex;
	background: var(--color-primary);
	border-radius: var(--default-border-radius);
	box-shadow: var(--default-shadow);
	position: relative;
}

div.floating_caption div.offset-floating div.floating {
	position: absolute;
	top: 0;
	left: 0;
}

div.floating_caption div.offset-floating div.floating h1 {
	font-weight: 400;
	text-transform: uppercase;
}

div.floating_caption div.offset-floating div.floating h1, div.floating_caption div.offset-floating div.floating p {
	text-align: center;
	margin: 0;
}

div.floating_caption div.offset-floating div.floating p {
	font-size: 28px;
	line-height: 2;
	color: var(--color-gray-darkest);
}

div.floating, a.floating {
	--background: var(--color-white);
	--padding: 2em 2.5em;
	--shadow: var(--default-shadow);
	--border-radius: var(--default-border-radius);
	--shadow: var(--default-shadow);

	background: var(--background);
	padding: var(--padding);
	box-sizing: border-box;
	box-shadow: var(--shadow);
	border-radius: var(--border-radius);
}

ul.flex-gallery li div.item.floating, ul.flex-gallery li a.item.floating {
	padding: 0 0 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

div.item.floating div.wrapper , a.item.floating div.wrapper {
	aspect-ratio: 16/9;
}

div.item.floating div.wrapper img , a.item.floating div.wrapper img {
	border-radius: var(--default-border-radius);
}

ul.flex-gallery.overview li div.item.floating h2 , ul.flex-gallery.overview li a.item.floating h2 {
	color: var(--color-gray-darkest);
}

ul.flex-gallery.overview li div.item.floating:hover h2 , ul.flex-gallery.overview li a.item.floating:hover h2, ul.flex-gallery.overview li div.item.floating:hover h2::after , ul.flex-gallery.overview li a.item.floating:hover h2::after {
	color: var(--color-black);
}

div.floating_caption div.offset-floating div.floating h2::after {
	margin: 0;
}

article.page article.chapter {
	padding: 2em 10%;
	max-width: 100vw;
}

article.page article.chapter.slim {
	padding: 20px 10%;
}

article.page article.chapter.slim + article.chapter {
	padding: 2em 10% 2em;
}

article.chapter .first-image {
	--float: left;
	--offset: 2em;
	--padding: 0 var(--offset) var(--offset) 0;

	float: var(--float);
	max-width: calc(30% - var(--offset));
	padding: var(--padding);
	box-sizing: border-box;
}

article.chapter.right .first-image {
	--float: right;
	--padding: 0 0 var(--offset) var(--offset);
}

body > div.container-main > main article.page {
	padding-bottom: 0;
}

article.grid {
	--padding: 0.8em 2em 4em;
	--margin: 0;
	--background: var(--color-white-opac);
	display: flex;
	align-items: center;
	background: var(--background);
	box-sizing: border-box;
	gap: 5%;
	max-width: 100vw;
}

article.grid.left {
	flex-direction: row-reverse;
}

body > div.container-main > main article.grid {
	h1, h2, h3, h4, h5, h6 {
		--font-weight: 400;
	}
}

article.grid > div.image img {
	--border-radius: var(--default-border-radius);
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--border-radius);
}

article.grid > div {
	flex: 0 1 50%;
}

article.grid div.text {
	box-sizing: border-box;
}

article.grid div.text p {
	--font-size: 16px;
	--line-height: 1.5;
}

article.grid div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/**
article.page article.chapter:nth-of-type(even) {
	position: relative;
}


article.page article.chapter:nth-of-type(even)::after {
	@see .tertiary-background
}
**/

article.tertiary-background {
	position: relative;
}

article.tertiary-background::after {
	--height: 100%;

	display: block;
	content: '';
	width: 100%;
	height: var(--height);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	background: var(--color-tertiary);
}


article.tertiary-background.primary::after {
	background: var(--color-primary-lightest);
}

article.tertiary-background.low::after {
	--height: 50%;
	top: auto;
	bottom: 0;
}


article.tertiary-background {
}

article.page article.chapter.balloon {
	background: var(--color-white);
}

ul.flex-gallery.balloon li {
	padding: 0 6%!important;
	box-sizing: border-box;

	div.wrapper {
		margin: 100px 0 0;
		margin: 15% 0 0;
		border-radius: var(--default-border-radius);
		box-shadow: var(--default-shadow);
		overflow: hidden;
	}

	div.wrapper img {
		opacity: 1;
	}

	div.floating_caption {
		position: absolute;
		z-index: 2;
		top: 0;
		left: 20%;
		height: 25%;

	}

	div.floating_caption div.offset-floating {
		height: 100%;
		width: 400px;
	}

	div.floating_caption div.offset-floating div.floating {
		width: 100%;
		padding: 20px 20px;
		margin: 25px 0 0 34px;
	}

	div.floating_caption div.offset-floating div.floating h2 {
		color: var(--color-gray-darkest);
		line-height: 2;
		padding: 0;
	}

}

article.page article.chapter.activity, div.widget.activity {
	--margin: 0;
	--border-radius: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--color-primary);
	padding: 2.5em 20%;
	box-sizing: border-box;
}

article.chapter.activity, div.widget.activity {
	div.text {
		flex:  0 0 50%;
		color: var(--color-white);
	}

	div.text * {
		color: var(--color-white);
	}

	div.text p {
		font-size: 18px;
		line-height: 1.5;
	}

	a.button {
		background: var(--color-tertiary);
		color: var(--color-white);
	}

	a.button:hover {
		background: var(--color-tertiary-600);
	}
}

article.chapter.activity, div.widget.activity, article.card {
	div.floating {
		flex: 0 1 400px;
	}

	div.floating p {
		font-size: 20px;
		line-height: 2;
		font-weight: 400;
		color: var(--color-gray-darkest);
		text-align: center;
	}

	div.floating h1, div.floating h2, div.floating h3, div.floating h4, div.floating h5, div.floating h6 {
		text-align: center;
	}

	div.floating p.subtitle {
		font-weight: 400;
		text-align: center;
		margin: 22px 0 22px;
	}
}

div.widget.cta {
	display: flex;
	background: var(--color-gray-light);
	justify-content: center;
	align-items: center;
	padding: 2.5em 0;
	box-sizing: border-box;
}

article.chapter.wall_circle, article.chapter.card {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10%;
}

article.chapter.card {
	gap: 0;
	align-items: normal;
	flex-wrap: wrap;
}

article.chapter.wall_circle div.floating, article.chapter.card div.floating {
	flex: 0 0 33%;
	max-width: 320px;
}

article.chapter.wall_circle div.floating {
	h1, h2, h3, h4, h5, h6, p {
		color: var(--color-gray-darkest);
	}
}

article.chapter.wall_circle div.image {
	flex: 0 0 33%;
}

article.chapter.wall_circle div.image img, article.chapter.card div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	max-width: 600px;
}

article.chapter.wall_circle div.image img {
	border-radius: 50%;
}

article.chapter.card div.text {
	flex: 0 0 100%;
}

article.chapter.card div.floating {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0;
	z-index: 10;
}

article.chapter.card > div.image {
	aspect-ratio: 16/9;
	flex: 0 0 50%;
	box-shadow: var(--default-shadow);
	border-radius: var(--default-border-radius);
	overflow: hidden;
	margin: 0 0 0 -60px;
	position: relative;
	z-index: 0;
	max-width: 600px;
}

article.chapter.icon_bar {
	background: var(--color-white);
	margin: 0;
}

article.chapter.icon_bar hr {
	width: 5%;
	border-top: 1px solid var(--color-primary-light);
	margin: 0 auto 40px;
}

ul.flex-gallery.icons {
	--justify-content: center;
}

ul.flex-gallery.icons li.icon div.wrapper {
	background: var(--color-gray-lightest);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 33%;
	margin: 0 auto;
}

ul.flex-gallery.icons li.icon div.wrapper i {
	font-size: 40px;
	color: var(--color-primary-dark);
	margin: 10px;
}

ul.flex-gallery.icons li.icon div.text {
	margin: 1em 0 0;
}

ul.flex-gallery.icons li.icon div.text {
	p, h1, h2, h3, h4, h5, h6 {
		text-align: center;
	}
}

article.chapter.reel {
	background: var(--color-gray-opac);
}

article.chapter.reel div.containers {
	--background: var(--color-white);

	background: var(--background);
	padding: 20px;
	box-sizing: border-box;
	border-radius: var(--default-border-radius);
	display: flex;
	gap: 30px;
	flex-wrap: wrap;
}

article.chapter.reel div.containers {
	position: relative;
	overflow: hidden;

	div.content, div.items {
		flex: 0 1 calc(50% - 15px);
	}
}

article.chapter.reel div.containers div.content {
	border-radius: var(--default-border-radius);
	position: relative;
	max-width: 600px;
}

article.chapter.reel div.containers div.content div.text {
	position: absolute;
	top: -1px;
	left: -1px;
	z-index: 1;
	background: var(--background);
	border-top-left-radius: var(--default-border-radius);
	border-bottom-right-radius: var(--default-border-radius);
	max-width: 50%;
	padding: 6px 10px 5px 11px;
	box-sizing: border-box;
}

article.chapter.reel div.containers div.content div.text {
	h1, h2, h3, h4, h5, h6 {
		--color: var(--color-gray-darkest);
	}
}

article.chapter.reel div.containers div.content div.image img {
	border-radius: var(--default-border-radius);
}

article.chapter.reel div.containers div.items {
	display: flex;
	flex-direction: column;
	gap: 1em;
}

article.chapter.reel div.containers div.items div.item {
	--background: var(--color-gray-lightest);

	position: relative;
	padding: 14px 20px;
	box-sizing: border-box;
	background: var(--background);
	border-radius: var(--default-border-radius-small);
	color: var(--color);
	transition: var(--default-transition);
}

article.chapter.reel div.containers div.items div.item div.score {
	--color: var(--color-yellow);
	margin: 0 0 1em;
}

article.chapter.reel div.containers div.items div.item div.score i {
	color: var(--color);
}

article.chapter.reel div.containers div.items div.item div.text {
	text-align: justify;
	font-weight: 400;
}

article.chapter.reel div.containers div.items div.item div.text.quote::before {
	content: '“';
	display: inline-block;
}

article.chapter.reel div.containers div.items div.item div.text.quote::after {
	content: '”';
	display: inline-block;
}

article.chapter.reel div.containers div.items div.item div.customer {
	margin: 1em 0 0;
	display: flex;
	gap: 1em;
}

article.chapter.reel div.containers div.items div.item div.customer div.image {
	flex: 0 0 65px;
}

article.chapter.reel div.containers div.items div.item div.customer div.image img {
	border-radius: 100%;
}

article.chapter.reel div.containers div.items div.item div.customer div.details {
	flex: 1;
}

article.chapter.reel div.containers div.items div.item div.customer strong {
	display: block;
}

article.chapter.reel div.containers div.items div.item div.customer span {
	font-size: var(--font-size-small);
}

article.chapter.reel div.containers div.items div.item div.link {
	--background: var(--color-white);
	position: absolute;
	bottom: -1px;
	right: -1px;
	background: var(--background);
	border-top-left-radius: var(--default-border-radius);
	padding: 10px 0 0 10px;
	box-sizing: border-box;
}

article.chapter.reel div.containers div.items div.item div.link a {
	--background: var(--color-gray-lightest);

	width: 40px;
	height: 40px;
	margin: 0 10px 10px 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	background: var(--background);
	border-radius: 100%;
	color: var(--color);
}

article.chapter.reel div.containers div.items div.item:hover {
	--background: var(--color-tertiary-600);
	--color: var(--color-white);
}


article.chapter.reel div.containers div.items div.item:hover div.link a {
	--background: var(--color-primary-dark);
	--color: var(--color-white);
}

article.chapter.hours {
	background: var(--color-white);
}

article.chapter.hours div.details {
	display:flex;
	gap: 2em;
}

article.chapter.hours div.details div.container {
	flex: 1 0 60%;
	padding: 1em 2em;
	box-sizing: border-box;
	border-radius: var(--default-border-radius);
	background: var(--color-gray-lightest);
}

article.chapter.hours div.details div.container {

}

article.chapter.hours div.details div.container div.graph {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
}

article.chapter.hours div.details div.container div.graph div.row {
	display: flex;
	flex: 0 0 100%;
}

article.chapter.hours div.details div.container div.graph div.row div {
	text-align: center;
}

article.chapter.hours div.details div.container div.graph div.row div.closed span {
	box-sizing: border-box;
	padding: 0.25em 0.5em;
	border-radius: var(--default-border-radius-small);
	background: var(--color-tertiary-200);
	color: var(--color-white);
	font-weight: 400;
	position: relative;
	z-index: 2;
}

article.chapter.hours div.details div.container div.graph div.row div.values {
	text-align: left;
	height: 100%;
}

article.chapter.hours div.details div.container div.hours div {
	font-weight: 500;
	color: var(--color-tertiary-600);
	position: relative;
}

article.chapter.hours div.details div.container div.hours div::after {
	content: '';
	border-right: 1px dotted var(--color-black);
	position: absolute;
	top: calc(1em + 11px);
	left: calc(50% - 0.5px);
	height: 1100%;
	z-index: 1;
}

article.chapter.hours div.details div.container div.hours div.empty::after {
	display: none;
}

article.chapter.hours div.details div.container div.graph div.row div.day {
	text-align: center;
	font-weight: 500;
	color: var(--color-tertiary-600);
	text-transform: uppercase;
}

article.chapter.hours div.details div.container div.graph div.row div.day.active {
	border-bottom: 2px solid var(--color-tertiary-200);
}


article.chapter.hours div.details div.card {
	flex: 1;
	box-shadow: var(--default-shadow);
	border-radius: var(--default-border-radius-small);
	max-width: 100%;
}


article.chapter.hours div.details div.card div.gmap, article.chapter.card.contact_information div.card div.gmap {
	aspect-ratio: 16/10;
	width: 100%;
}

article.chapter.hours div.details div.card div.gmap iframe, article.chapter.card.contact_information div.card div.gmap iframe {
	display: block;
	width: 100%;
	height: 100%;
}

article.chapter.hours div.details div.card div.content, article.chapter.card.contact_information div.card div.content {
	background: var(--color-white);
	border-radius: var(--default-border-radius);
	padding: 1em 1.5em;
	box-sizing: border-box;
}

article.chapter.hours div.details div.card div.content.offset, article.chapter.card.contact_information div.card div.content.offset {
	position: relative;
	margin: -1em 0 0;
	z-index: 1;
}

article.chapter.hours div.details div.card div.content h4, article.chapter.card.contact_information div.card div.content h4 {
	font-size: var(--font-size-normal);
	text-align: center;
}

article.chapter.hours div.details div.card div.content p, article.chapter.card.contact_information div.card div.content p {
	text-align: left;
}

article.chapter.hours div.details div.card div.content ul li, article.chapter.card.contact_information div.card div.content ul li {
	padding-left: 0;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
	max-width: 320px;
}

article.chapter.hours div.details div.card ul li::before, article.chapter.card.contact_information div.card div.content ul li::before {
	display: none;
}

article.chapter.hours div.details div.card div.content ul li a, article.chapter.card.contact_information div.card div.content ul li a {
	--color: var(--color-gray-darkest);
	text-decoration: none;
}

article.chapter.hours div.details div.card div.content ul li a:hover, article.chapter.card.contact_information div.card div.content ul li a:hover {
	--color: var(--color-black);
	text-decoration: underline;
}

article.chapter.hours div.details div.card div.content ul li i, article.chapter.card.contact_information div.card div.content ul li i {
	color: var(--color-tertiary-600);
}

article.chapter.hours div.details div.container div.graph div.row div.bars {
	height: 100%;
	position: relative;
	box-sizing: border-box;
}

article.chapter.hours div.details div.container div.graph div.row div.bars div {
	--background: var(--color-primary);
	height: 6px;
	border-radius: var(--default-border-radius-small);
	background: var(--background);
	position: absolute;
	top: calc(50% - 3px);
}

article.chapter.hours div.details div.container div.graph div.row div.bars div.appointment {
	--background: var(--color-tertiary-600);
}

article.chapter.hours div.details div.container div.graph div.row div.bars div.appointment span {
	color: var(--color-white);
}
article.chapter.hours div.details div.container div.graph div.row div.bars div.appointment {
	height: auto;
	position: static;
	margin: 0 auto;
	padding: 0.10em 0.5em;
}

article.chapter.hours div.details div.container div.graph div.row div.bars div.appointment span {
	color: var(--color-white);
}

article.chapter.hours div.details div.container div.graph div.row div.values div.mobile-container {
	display: flex;
	justify-content: space-between;
	padding: 0 2em;
	box-sizing: border-box;
	font-weight: 400;
}

article.chapter.card.contact_information div.floating {
	--padding: 0;
	justify-content: flex-start;
	overflow: hidden;
}

div.popup-socials {
	display: flex;
	gap: 1em;
	justify-content: center;
}

div.popup-socials div.social {
	flex: 1 1 auto;
	display: flex;
}

div.popup-socials div.social a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	width: 100%;
}

div.popup-socials div.social a div.image {
	flex: 1;
}

div.popup-socials div.social a div.image img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 50px;
	margin: 0 auto;
}

div.popup-socials div.social a span {
	display: block;
	text-align: center;
	padding: 2px 1em;
	box-sizing: border-box;
	background: var(--button-background);
	transition: var(--transition-default);
	color: var(--button-color);
	font-weight: 500;
	margin: 1em 0 0;
	border-radius: 5px;
}

div.popup-socials div.social a:hover span {
	background: var(--button-background-hover);
}

article.chapter.contact-form {
	background: var(--color-white-opac);
}

article.page article.chapter.gallery {
	background: var(--color-white-opac);
	padding: 0.8em 2em 4em;
}

article.page article.chapter.title {
	padding: 2em 10% 15px;
	display: flex;
	align-items: center;
	gap: 0.5em;
	background: var(--color-white);
}

article.chapter.title {
	h1, h2, h3, h4, h5, h6 {
		margin: 0;
	}
}

article.chapter.title div.image {
	flex: 0 1 100px;
}

article.chapter.title div.text {
	flex: 1 1 100%;
}


article.page article.chapter.gallery-overview {
	background: var(--color-white);
}

article.page article.chapter.gallery-overview ul.flex-gallery {
	--item-offset: 2em;
}

article.page article.chapter.gallery-overview ul.flex-gallery li .item div.wrapper {
	margin: 0 0 0.5em;
}

article.page article.chapter.hero {
	--padding: 0;
	min-height: 300px;
	background-attachment: fixed;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: luminosity;
}

ul.flex-gallery.overview.establishments {
	--justify-content: flex-start;
}

ul.flex-gallery.overview.establishments li .item h2 {
	text-align: left;
}

ul.flex-gallery.overview.establishments li .item h3 {
	--font-size: var(--font-size-regular);
	--color: var(--color-secondary);
}


article.chapter.establishment {
	display: flex;
	gap: 2em;
}

article.chapter.establishment div.card {
	flex: 0 0 50%;
}

article.chapter.establishment div.card h1 {
	--margin: 0 0 30px;
	font-size: 42px;
}


article.chapter.establishment div.card ul.details li {
	padding: 0;
}

article.chapter.establishment div.card ul.details li, article.chapter.establishment div.card ul.details li a {
	font-size: 20px;
}

article.chapter.establishment div.card ul.details li + li {
	margin: 12px 0 0;
}

article.chapter.establishment div.card ul.details li::before {
	display: none;
}

article.chapter.establishment div.card ul.details li i {
	color: var(--color-primary-dark);
}

article.chapter.establishment div.card ul.details li a {
	--color: var(--color-black);
	text-decoration: none;
}

article.chapter.establishment div.card ul.details li a:hover {
	text-decoration: underline;
}

article.chapter.establishment div.image {
	flex: 1;
}

article.chapter.establishment div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--default-border-radius);
}


main.establishment article.chapter.background {
	background: var(--color-primary-lightest);
}

article.page article.chapter.timeline-container {
	padding: 2em 0;
}

article.chapter div.timeline {
	--diameter: 30px;
	--radius: calc(var(--diameter) / 2);

	position: relative;
	margin: 0 auto;
}

article.chapter div.timeline::after {
  content: '';
  position: absolute;
  width: 3px;
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-secondary) 50%);
  top: 0;
  bottom: 0;
  left: 50%;
  margin-left: -1px;
}


article.chapter div.timeline div.container {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 50px 10%;
	box-sizing: border-box;
}

article.chapter div.timeline div.container.right {
	flex-direction: row-reverse;
}

/* Place the container to the left */
article.chapter div.timeline div.container div.item, article.chapter div.timeline div.container div.image {
	flex: 0 0 45%;
}

article.chapter div.timeline div.container div.item {
	--title-width: 150px;
	background: var(--color-white);
	box-shadow: var(--default-shadow);
	border-radius: 8px;
	display: flex;
	flex-direction: row-reverse;
	gap: 1em;
	overflow: hidden;
	padding: 1.5em 0;
	box-sizing: border-box;
}

article.chapter div.timeline div.container.right div.item {
	flex-direction: row;
}

article.chapter div.timeline div.item::after {
	content: '';
	position: absolute;
	z-index: 1;
	width: var(--diameter);
	height: var(--diameter);
	top: 50%;
	right: calc(50% - var(--radius));
	background-color: white;
	border: 4px solid var(--color-primary);
	border-radius: 50%;
	box-sizing: border-box;
	transition: var(--default-transition);
}

article.chapter div.timeline div.item.active::after {
	background: var(--color-primary);
}

article.chapter div.timeline div.item div.title {
	display: flex;
	flex: 1 0 var(--title-width);
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	box-sizing: border-box;
	position: relative;
}

article.chapter div.timeline div.item div.title div.circle {
	--width: 300px;
	content: '';
	position: absolute;
	right: calc(var(--width) / 2 * -1);
	background: var(--color-primary-lightest);
	width: var(--width);
	height: var(--width);
	border-radius: 50%;
	z-index: 0;
	box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
	box-sizing: border-box;
}

article.chapter div.timeline div.container.right div.item div.title div.circle {
	right: auto;
	left: calc(var(--width) / 2 * -1);
}

article.chapter div.timeline div.item div.title h2 {
	position: relative;
	z-index: 1;
	flex: 1;
	font-size: var(--font-size-large);
	margin: 0;
	text-align: center;
}

article.chapter div.timeline div.item div.content {
	padding: 1em 2em;
	box-sizing: border-box;
}

article.chapter div.timeline div.item div.content p:last-of-type {
	margin: 0;
}

article.chapter div.timeline div.container div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}


article.page article.chapter.filters.flex {
	display: flex;
	gap: 1em;
}

article.page article.chapter.filters.flex select {
	width: auto;
	flex: 1;
}


article.page article.watermark {
	padding: 0 10%;
}

article.chapter.watermark {
	display: flex;
	gap: 30px;
	align-items: center;
	background: var(--color-gray-lightest);
}

article.chapter.watermark div.image {
	flex: 0 1 30%;
}

article.chapter.watermark div.image img {
	opacity: 0.5;
}

article.chapter.watermark div.text {
	flex: 1;
}


article.page article.chapter.gmap, article.chapter.gmap {
	padding: 0;
}

article.chapter.gmap #gmap_big {
	height: 33vh;
	width: 100%;
}

article.chapter.gmap #gmap_big div.gm-style img[role="presentation"] {
	filter: grayscale(1);
}

article.chapter.faq {

}

article.chapter.faq div.items {
	border-top: 1px solid var(--color-primary-light);
	border-bottom: 1px solid var(--color-primary-light);
}

article.chapter.faq div.items div.toggleable {
	border-bottom: 1px solid var(--color-primary-light);
	box-sizing: border-box;
	padding: 16px 0;
	margin: 0 0 0.5em;
}

article.chapter.faq div.items div.toggleable:last-of-type {
	border: 0;
}


article.chapter.faq div.items div.toggleable h2 {
	--font-size: var(--font-size-regular);
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	margin: 0;
	text-transform: uppercase;
}

article.chapter.faq div.items div.toggleable h2:hover {
	--color: var(--color-secondary-darkest);
}

article.chapter.faq div.items div.toggleable h2::after {
	font-size: 18px;
	content: '\f107';
	display: inline-block;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-weight: 600;
}

article.chapter.faq div.items div.toggleable div.content {
	@starting-style {
		opacity: 0;
	}

	transition-property: display, opacity;
	transition-duration: 2s;
	transition-behavior: allow-discrete;
	display: none;
	padding: 1em 0 0;
	box-sizing: border-box;
}

article.chapter.faq div.items div.toggleable.active div.content {
	display: block;
}

article.chapter.faq div.items div.toggleable.active h2::after {
	content: '\f077';
}
/** ---------------------------------------------------------------------------------------------------------- **/

@media only screen and (max-width: 1200px) {
	.flex-gallery.balloon {
		--items: 1!important;
		gap: 100px;
	}

	.flex-gallery.balloon li {
		width: 65%;
		max-width: 600px;
	}

	article.chapter.activity, div.widget.activity {
		flex-wrap: wrap;
		gap: 40px;

		div.floating, div.text {
			flex: 0 0 100%;
		}
	}

	article.chapter.reel div.containers div.content div.text {
		max-width: 90%;
		left: 5%;
		border-top-left-radius: 0;
		border-bottom-left-radius: var(--default-border-radius);
	}


	article.chapter.hours div.details {
		flex-wrap: wrap;
	}

	article.chapter.hours div.details div.container, article.chapter.hours div.details div.card {
		flex: 0 0 100%;
		max-width: 100%;
	}

	article.chapter div.timeline div.container {
		flex-wrap: wrap;
		gap: 1em;
		padding: 20px 10%;
	}

	article.chapter div.timeline div.container div.item, article.chapter div.timeline div.container div.image {
		flex: 0 0 100%;
	}

	article.chapter div.timeline::after {
		left: 0;
		margin-left: 0;
	}

	article.chapter div.timeline div.container div.item {
		flex-direction: row;
	}

	article.chapter div.timeline div.item::after {
		right: auto;
		left: calc(var(--radius) * -1);
	}

	article.chapter div.timeline div.item::after {
		top: 40px;
	}

	article.chapter div.timeline div.container div.item div.title div.circle {
		right: auto;
		left: calc(var(--width) / 2 * -1);
	}

}

@media only screen and (max-width: 1000px) {
	article.chapter.reel div.containers {
		div.content, div.items {
			flex: 0 0 100%;
		}
	}

	article.chapter.reel div.containers div.content {
		max-width: 100%;
	}
}


@media only screen and (max-width: 800px) {
	article.chapter div.timeline div.item::after {
		top: 15%;
	}
}

@media only screen and (max-width: 600px) {
	article.chapter.card {
		flex-wrap: wrap;
	}

	article.chapter.card {
		div.floating, div.image {
			flex: 0 0 100%;
			width: 100%;
			max-width: 100%;
		}

		div.image {
			margin: -3em 0 0 0;
			z-index: 20;
		}
	}

	article.chapter.card.social {
		div.image {
			margin: -0.5em;
		}
	}

	article.chapter.card div.floating, article.chapter.card a.floating {
		padding: 0.75em 1em 2em;
	}

	ul.flex-gallery.balloon li {
		padding: 0!important;
	}

	ul.flex-gallery.balloon li {
		div.floating_caption div.offset-floating {
			width: 300px;
		}
	}

	article.tertiary-background.low::after {
		--height: 75%;
	}

	article.chapter.wall_circle {
		flex-wrap: wrap;
		gap: 2em;
	}

	article.chapter.wall_circle div.image {
		flex: 0 0 100%;
	}

	article.chapter.wall_circle div.floating, article.chapter.card div.floating	{
		max-width: 100%;
		flex: 0 0 100%;
	}

	article.chapter div.timeline div.container div.item {
		flex-wrap: wrap;
		gap: 100px;
	}

	article.chapter div.timeline div.container div.item div.title div.circle, article.chapter div.timeline div.container.right div.item div.title div.circle {
		 left: auto;
		 right: auto;
		 top: calc(var(--width) / 1.5 * -1);
	 }
}

@media only screen and (max-width: 500px) {
	ul.flex-gallery.balloon li {
		div.floating_caption {
			left: 0;
		}
	}

	article.chapter.hours div.details div.container div.graph div.row div.day.active {
		border: 0;
		text-decoration: underline;
	}

	article.chapter.hours div.details div.container div.graph div.row div.values div.mobile-container {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0;
		padding: 0;
	}

	article.chapter.hours div.details div.container div.graph div.row div.values div.mobile-container div.timeslot {
		text-align: right;
		flex: 0 0 100%;
	}

	article.chapter.hours div.details div.container div.graph div.row div.closed {
		text-align: right;
	}

	div.popup-socials {
		flex-wrap: wrap;
	}
}

