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

	--items: 3;
	--item-offset: 20px;
	--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: 7px 0;
	--title-background: transparent;
	--title-background-hover: transparent;
	--title-color: var(--color-primary);
	--title-color-hover: var(--color-primary-dark);
}

/** 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: 0;
	--shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;

	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 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.5em 0 0;
	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: 400;
}

ul.flex-gallery.overview li .item p:last-of-type {
	margin: 0;
}

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);
}

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;**/
	padding: 4px;
	box-sizing: border-box;
	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);
}

div.item.floating.icon {
	padding: 0;
}

div.item.floating div.wrapper.icon , a.item.floating div.wrapper.icon {
	border-radius: 0;
	aspect-ratio: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: none;
}

div.item.floating div.wrapper.icon i , a.item.floating div.wrapper.icon i {
	font-size: 100px;
	width: 200px;
	height: 200px;
	box-sizing: border-box;
	border-radius: 50%;
	background: var(--color-primary);
	color: var(--color-white);
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
}

ul.flex-gallery.overview li div.item.floating h2 , ul.flex-gallery.overview li a.item.floating h2 {

}

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% 75px;
}

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

article.page article.chapter article.chapter, article.page article.chapter article.chapter.slim {
  padding-left: 0;
  padding-right: 0;
}

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: 50px 2em;
	--margin: 0;
	--background: var(--color-white-opac);
	display: flex;
	align-items: center;
	background: var(--background);
	box-sizing: border-box;
	gap: 5%;
}

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

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

body > div.container-main > main article.grid:nth-of-type(odd) {
	background: var(--color-gray-light);
}

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;
	aspect-ratio: 16/10;
}

/**
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.low::after {
	--height: 50%;
	top: auto;
	bottom: 0;
}

article.tertiary-background {
	h1, h2, h3, h4, h5, h6, p {
		color: var(--color-white);
	}

	h1, h2 {
		text-transform: uppercase;
	}
}

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 50%;
	/**max-width: 320px;**/
}

article.chapter.wall_circle div.floating {
	background: var(--color-white);
	box-shadow: var(--default-shadow);
}

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: 1 1 calc(50% - 15px);
	}
}

article.chapter.reel div.containers.wide {
	gap: 0;

	div.content, div.items {
		flex: 0 0 100%;
	}
}

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

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.wide div.content div.text {
	max-width: 100%;
	position: relative;
}

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);
}


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;
	line-height: 1.2;
}

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.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.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;
}

article.page article.chapter.hero.calendar-banner {
	min-height: 60vh;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
}

article.page article.chapter.hero.calendar-banner div.text {
	background: #00000088;
	border-radius: var(--default-border-radius-small);
	padding: 1.5em 2em;
	box-sizing: border-box;
	flex: 0 0 60%;
}

article.page article.chapter.hero.calendar-banner div.text {
	h1, h2, h3, h4, h5, h6 {
		--font-size: 40px;
	}

	h1, h2, h3, h4, h5, h6, p {
		--color: var(--color-white);
	}
}

article.page article.chapter.hero.calendar-banner div.text p {
	font-size: 18px;
	font-weight: 500;
	line-height: 1.5;
}

article.page article.chapter.hero.calendar-banner div.text form label {
	color: var(--color-white);
	font-weight: 500;
}

nav.categories {
	margin: 0 0 1em;
}

nav.categories ul {
	justify-content: center;
	align-items: center;
	gap: 0.5em;
	box-sizing: border-box;
	padding: 0 2%;
}

nav.categories ul li a {
	--color: var(--color-black);
}

nav.categories ul li a.selected, nav.categories ul li a:hover {
	font-weight: 600;
}

body > div.container-main > main article nav.categories ul > li {
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
	gap: 0.5em;
}

body > div.container-main > main article nav.categories ul > li::before {
	content: '-';
	width: auto;
	height: auto;
	background: none;
	position: static;
}

nav.categories ul li:first-of-type::before {
	display: none;
}

ul.custom-gallery {
	column-count: 3;
	box-sizing: border-box;
	padding: 0 2%;
}

ul.custom-gallery > li {
	position: relative;
	padding: 0!important;
	box-shadow: var(--default-shadow);
	break-inside: avoid;
}

ul.custom-gallery li + li {
	margin: 1.5em 0 0!important;
}

ul.custom-gallery li::before {
	display: none!important;
}

ul.custom-gallery li div.wrapper {
	aspect-ratio: auto;
}

ul.custom-gallery li div.wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

ul.custom-gallery li div.details {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	background: var(--color-white-opac);
	padding: 0 2%;
	box-sizing: border-box;
	transition: var(--default-transition);
	opacity: 0;
}

ul.custom-gallery li:hover div.details {
	opacity: 1;
}

ul.custom-gallery li div.details h2 {
	--color: var(--color-primary);
	text-align: center;
	margin: 0;
	padding: 0 0 0.5em;
	border-bottom: 3px solid var(--color-primary);
}

ul.custom-gallery.testimonial {

}

ul.custom-gallery.testimonial li div.details {
	opacity: 1;
	padding: 4% 6%;
}

ul.custom-gallery.testimonial li div.details div.header {
	flex: 0 0 100%;
	display: flex;
}

ul.custom-gallery.testimonial li div.details div.header div.title {
	flex: 1;
}

ul.custom-gallery.testimonial li div.details div.header div.title ul li {
	padding: 0!important;
	margin: 0!important;
	color: var(--color-primary-black);
	font-size: 20px;
	font-weight: 500;
}

ul.custom-gallery.testimonial li div.details div.header div.image {
	--size: 125px;
	width: var(--size);
	height: var(--size);
	border-radius: 100%;
	overflow: hidden;
}

ul.custom-gallery.testimonial li div.details div.header div.image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

ul.custom-gallery.testimonial li div.details div.media {
	margin: 5% 0 0;
	flex: 0 0 100%;
}

ul.custom-gallery.testimonial li div.details div.media a {
	display: inline-block;
	text-decoration: none;
	--font-size: 22px;
	--color: var(--color-primary-black);
	font-weight: 500;
	text-transform: uppercase;
	padding: 0 0 0.5em;
	border-bottom: 2px solid var(--color-primary);
}


/** Product related blocks **/
div.product_description p {
	line-height: 1.5;
}

div.stock_delivery_pickup {
	--stock-color-available: green;
	--stock-color-unavailable: red;
	--color: var(--stock-color-available);

	display: flex;
	justify-content: space-between;
	padding: 0.5em 0em;
	box-sizing: border-box;
	margin: 0.1em 0;
}

div.stock_delivery_pickup div.stock {
	color: var(--color);
	display: flex;
	align-items: center;
	gap: 0.2em;
}

div.stock_delivery_pickup div.stock span {
	padding: 8px;
	width: 20px;
	height: 20px;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--color);
	color: var(--color-white);
	border-radius: 50%;
}

div.stock_delivery_pickup div.stock span i {
	font-size: 10px;
}

div.stock_delivery_pickup div.stock.unavailable {
	--color: var(--stock-color-unavailable);
}

body > div.container-main > main article.tabs section.tab {
	article.chapter {
		background: var(--color-white);
		padding: 1.5em 10px;
		border-radius: var(--default-border-radius);
	}
}

.slider {
	--arrow-size: 100px;
	--arrow-offset: 25%;
	--dot-size: 14px;
}

article.slider {
	width: 100vw;
	margin: 0 auto;
}

article.slider.full {
	width: 100vw;
}

article.slider div.slider-container {
	height: 40vh;
}

article.slider.full div.slider-container {
	height: 65vh;
}

article.slider div.slider-container div {
	height: 100%;
	position: relative;
}

article.slider div.slider-container div img {
	width: 100%;
	height: 100%!important;
	object-fit: cover;
	transition: var(--default-transition);
}

article.slider div.slider-container div.slick-current img {

}

.slider div.slider-container button.slick-arrow {
	--background: transparent;
	--padding: 0;
	font-size: 0;
    line-height: 0;
	position: absolute;
	top: calc(50% - var(--arrow-size) / 2);
	left: calc(var(--arrow-offset) - var(--arrow-size) / 2);
	z-index: 100;
	margin: 0;
}

.slider div.slider-container button.slick-arrow.slick-next {
	left: auto;
	right: calc(var(--arrow-offset) - var(--arrow-size) / 2);
}

.slider.small div.slider-container button.slick-arrow {
	--arrow-offset: 5%;
}

.slider div.slider-container button.slick-arrow::before {
	content: '\f177';
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: "Font Awesome 6 Free";
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	font-size: 32px;
	font-weight: 600;
	color: var(--color-black);
	width: var(--arrow-size);
	height: var(--arrow-size);
	border-radius: 100%;
	background-size: 100% 100%;
	transform: rotateY(0deg);
	background: #FFFFFF44;
}

.slider div.slider-container button.slick-arrow.slick-next::before {
	transform: rotateY(180deg);
}

.slider div.slider-container ul.slick-dots {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	position: absolute;
	bottom: 0;
	right: 1em;
	margin: 0;
	gap: 4px;
}

.slider div.slider-container ul.slick-dots li::before {
	display: none;
}

.slider div.slider-container ul.slick-dots li {
	margin: 0;
	padding: 0;
}

.slider div.slider-container ul.slick-dots li button {
	--background: transparent;
	--font-size: 0;
	--line-height: 0;
	margin: 0;
	padding: 0;
}

.slider div.slider-container ul.slick-dots li button::before {
	--background: var(--color-white);
	content: '';
	display: block;
	width: var(--dot-size);
	height: var(--dot-size);
	border-radius: 100%;
	background: var(--background);
	transition: var(--default-transition);
}


.slider div.slider-container ul.slick-dots li.slick-active button::before {
	--background: var(--color-accent);
}

.slider div.slider-container div.slick-slide {
	position: relative;
}

.slider div.slider-container div[data-route] {
	cursor: pointer;
}

.slider div.slider-container div div.label {
	position: absolute;
	left: 0;
	bottom: 0;
	padding: 1em 1em;
	height: auto;
	width: 100%;
	background: #02020244;
	box-sizing: border-box;
}

.slider div.slider-container div div.label {
	span.heading1, span.heading2 {
		--color: var(--color-white);
		--font-size: 20px;
		--line-height: 1;
		--margin: 0 0 12px;
	}
}

article.chapter.newsletter {
	--input-background: var(--color-white);
	background: var(--color-primary-lightest);
	background: linear-gradient(180deg,rgba(232, 232, 232, 0.5) 0%, rgba(110, 193, 228, 0.2) 100%);
}

article.chapter.newsletter form {
	display: flex;
	align-items: center;
	gap: 0.5em;
	width: 50%;
	margin: 0 auto;
}

article.chapter.newsletter form button, article.chapter.newsletter form input {
	margin: 0;
}

article.chapter.newsletter form > div {
	flex: 1;
}

article.chapter.contact-form {
	background: transparent;
	display:flex;
	gap: 2em;
}

article.chapter.contact-form div.text {
	flex:  0 1 50%;
}

article.chapter.contact-form div.text div.items {
	display: flex;
	flex-direction: column;
	gap: 50px;
}

article.chapter.contact-form div.text div.items div.item {
	display: flex;
	gap: 1em;
}

article.chapter.contact-form div.text div.items div.item div.icon i {
	font-size: 42px;
	color: var(--color-primary-lightest);
	transition: var(--default-transition);
}

article.chapter.contact-form div.text div.items div.item:hover div.icon i {
	color: var(--color-primary-light);
}

article.chapter.contact-form div.text div.items div.item div.content {

}

article.chapter.contact-form div.text div.items div.item div.content h3 {
	--line-height: 1;
	--color: var(--color-primary);
}

article.chapter.contact-form div.text div.items div.item div.content a {
	--color: var(--color-black-light);
	text-decoration: none;
}

article.chapter.contact-form div.text div.items div.item div.content a:hover {
	--color: var(--color-black);
	text-decoration: underline;
}

article.chapter.contact-form form {
	flex: 1 0 30%;
	background: var(--color-gray-lightest);
	padding: 1em 2em;
	box-sizing: border-box;
	border-radius: var(--default-border-radius-small);
	box-shadow: var(--default-shadow);
}

/** ---------------------------------------------------------------------------------------------------------- **/
@media only screen and (max-width: 1400px) {
	div.stock_delivery_pickup {
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 0.5em;
	}

	div.stock_delivery_pickup div {
		flex: 0 0 100%;
	}
}

@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%;
	}

	.slider {
		--arrow-size: 90px;
	}

	article.chapter.contact-form {
		flex-wrap: wrap;
	}

	article.chapter.contact-form div.text, article.chapter.contact-form form {
		flex: 0 0 100%;
	}

	article.chapter.contact-form div.text div.items {
		flex-direction: row;
		justify-content: center;
	}

	article.chapter.contact-form div.text div.items div.item div.icon i {
		color: var(--color-primary-light);
	}
}

@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%;
	}

	ul.custom-gallery.testimonial {
		columns: 2;
	}

	.slider {
		--arrow-size: 80px;
		--arrow-offset: 0;
	}

	.slider div.slider-container button.slick-arrow {

	}

	.slider div.slider-container button.slick-arrow.slick-next {
		right: 0;
	}
}


@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.chapter.wall_circle {
		flex-wrap: wrap;
		gap: 2em;
	}

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

	ul.custom-gallery, ul.custom-gallery.testimonial {
		columns: 1;
	}

	ul.custom-gallery.gallery li div.details {
		opacity: 1;
		height: auto;
		top: auto;
		bottom: 0;
		box-sizing: border-box;
		padding: 0.5em 2%;
	}

	ul.custom-gallery li div.details h2 {
		border-bottom: 2px solid var(--color-brown);
	}

	ul.custom-gallery li div.details h2 a {
		--font-size: 22px;
		font-weight: 400;
		margin: 0;
	}

	.slider {
		--arrow-size: 60px;
	}

	article.chapter.contact-form div.text div.items {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
}

@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;
	}

	article.slider.full {
		width: 98vw;
	}

	.slider {
		--arrow-size: 50px;
	}
}

