article.page article.chapter {
	--background: transparent;
	--padding: var(--default-padding-chapter);

	background: var(--background);
	padding: var(--padding);
	max-width: 100vw;
}

article.chapter:empty {
	display: none;
}


/** -------------------------------------
				 PADDING
------------------------------------- **/
article.page article.chapter.slim {
	--padding: var(--default-padding-chapter-slim);
}

article.page article.chapter.wide {
	--padding: 10px var(--default-padding-sides);
}
/** --------------------------------- **/


/** -------------------------------------
		       BACKGROUNDS
------------------------------------- **/
article.chapter.background {
	--background: transparent;
	background: var(--background);
}

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

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

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

article.chapter.background.secondary div.text {
	h3 {
		color: var(--color-white);
	}
}


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

article.chapter.background.split {
	background: transparent;
}

article.chapter.background.split {
	position: relative;
}

article.chapter.background.split::after {
	--height: 50%;
	background: var(--background);
	display: block;
	content: '';
	width: 100%;
	height: var(--height);
	position: absolute;
	left: 0;
	z-index: -1;
}

article.chapter.background.split.high::after{
	--height: 75%;
}

article.chapter.background.split.top::after {
	top: 0;
}

article.chapter.background.split.bottom::after {
	bottom: 0;
}
/** ----------------------------------------
	block_image_*.html
/** -------------------------------------**/
article.chapter div.container {
	--gap: 5%;
	display: flex;
	gap: var(--gap);
	justify-content: center;
	align-items: center;
	flex-wrap: nowrap;
}

article.chapter div.container.start {
	align-items: flex-start;
}

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

article.chapter div.container div.images {
	flex: 0 0 33%;
}

article.chapter div.container div.images ul.flex-gallery {
	padding: 0;
}

article.chapter div.container div.image {

}

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

article.chapter.card div.container {
	--gap: 0;
}

article.chapter.card div.container div.text {
	max-width: 50%;
	position: relative;
	margin: 0 0 0 -5%;
	z-index: 20;
}

article.reversed.chapter.card div.container div.text {
	margin: 0 -5% 0 0;
}

article.chapter.circle div.container div.image, article.chapter.card div.container div.image {
	flex: 0 0 33%;
	text-align: center;
}

article.chapter.circle div.container div.image img {
	border-radius: 50%;
	max-width: 600px;
	aspect-ratio: 1/1;
}

article.chapter.circle div.container div.text {
	max-width: 320px;
}

article.chapter.circle div.container {
	--gap: 10%;
}

article.chapter.card.social div.container {
	align-items: normal;
	justify-content: center;
}

article.chapter.card.social div.container > div.image img {
	aspect-ratio: 16/9;
}

article.chapter.card.social div.container div.text {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex-wrap: wrap;
}
/** ==================================== 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.vertical {
	--justify-content: space-between;
	--item-offset: 0;
}

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, ul.flex-gallery.overview > 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(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;

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

ul.flex-gallery li .item div.content {
	padding: 0 1em;
	box-sizing: border-box;
}

ul.flex-gallery li .item div.content h2 {
	margin: 0 0 1em;
}

ul.flex-gallery li .item div.content p {
	margin: 0;
}

ul.flex-gallery li .item div.content p + p {
	margin: 1em 0 0;
}

ul.flex-gallery li .item div.content p a.button {
	margin: 0;
}

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.scale-down li .item div.wrapper img {
	object-fit: scale-down;
}

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

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

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;
	justify-content: space-between;
	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% 2em;
}

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

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.reversed .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 5% 4em;
	--margin: 0;
	--background: var(--color-white-opac);
	display: flex;
	align-items: center;
	background: var(--background);
	padding: var(--padding);
	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;
	}
}

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: 85%;

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

	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;
		margin: 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.wall_circle.reversed {
	flex-direction: row-reverse;
}

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.floating p {
	text-align: left;
}

article.chapter.wall_circle div.floating p:last-of-type {
	margin: 0;
}

article.chapter.wall_circle div.floating p + p {
	margin: 0.5em 0 0;
}

article.chapter.wall_circle.quote div.floating::before, article.chapter.wall_circle.quote div.floating::after {
	content: '';
	display: inline-block;
	width: 100%;
	height: 15px;
	background: var(--background) url(../images/icon-quote.png) no-repeat 0 0;
}

article.chapter.wall_circle.quote div.floating::after {
	transform: rotateY(180deg);
}

article.chapter.wall_circle.quote div.floating p {
	font-family: "Pacifico", cursive;
	font-size: 24px;
	line-height: 1.5;
}

article.chapter.wall_circle.quote div.sticky {
	background: #eae672;
	color: #333;
	position: relative;
	margin: 0 auto;
	padding: 20px;
	font-family: "Pacifico", cursive;
	font-size: 30px;
	box-shadow: 0 10px 10px 2px rgba(0,0,0,0.3);
	transform: rotate(2deg);
	max-width: 320px;
}

/** ----------------------------------------
	backgrounds: block_image_circle.html + quote
/** -------------------------------------**/
article.chapter.background.quote.split::after {
	background: var(--color-primary);
}

/** variant: licht geel **/
article.chapter.background.quote.split div.sticky {
	background: #eae672;
}


/** variant: licht donker geel **/
article.chapter.background.quote.split.primary div.sticky {
	background: #f8c32a;
}

/** variant: licht blauw **/
article.chapter.background.quote.split.secondary div.sticky {
	background: #afe1ef;
}


/** variant: licht roze **/
article.chapter.background.quote.split.tertiary div.sticky {
	background: #f07abf;
}


/** ---------------------------------------- **/

article.chapter.wall_circle.quote div.sticky {
	p, h1, h2, h3, h4, h5, h6 {
		font-family: "Satisfy", cursive;
		font-weight: 400;
		font-style: normal;
	}

	p {
		font-size: 30px;
		color: #333333;
		line-height: 1.5;
		font-weight: 400;
	}
}

article.chapter.wall_circle.quote div.sticky .pin {
	background-color: var(--color-primary);
	display: block;
	height: 32px;
	width: 2px;
	position: absolute;
	left: 50%;
	top: -16px;
	z-index: 1;
}

article.chapter.wall_circle.quote div.sticky .pin::after {
	background-color: var(--color-primary-dark);
	background-image: radial-gradient(25% 25%, circle, hsla(0,0%,100%,.3), hsla(0,0%,0%,.3));
	border-radius: 50%;
	box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.1), inset 3px 3px 3px hsla(0,0%,100%,.2), inset -3px -3px 3px hsla(0,0%,0%,.2), 23px 20px 3px hsla(0,0%,0%,.15);
	content: '';
	height: 12px;
	width: 12px;
	position: absolute;
	top: -10px;
	left: -5px;
}

article.chapter.wall_circle.quote div.sticky .pin::before {
	background-color: hsla(0,0%,0%,0.1);
	box-shadow: 0 0 .25em hsla(0,0%,0%,.1);
	content: '';
	height: 24px;
	width: 2px;
	left: 0;
	position: absolute;
	top: 8px;
	transform: rotate(57.5deg);
	transform-origin: 50% 100%;
}

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.wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

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 {
	border-radius: var(--default-border-radius);
	position: relative;
	max-width: 600px;
}

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

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

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

article.testimonial-overview.reel {
	position: relative;
}

article.testimonial-overview.reel div.containers {
	position: static;
	overflow: visible;
}

article.testimonial-overview.reel div.containers div.content div.wrapper {
	width: 100%;
	position: sticky;
	top: 140px;
}

article.testimonial-overview.reel div.containers div.content div.wrapper div.text {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #FEFEFECC;
	max-width: 100%;
	width: 100%;
	height: 100%;
	left: 0;
}

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

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.cta div.containers div.content, article.chapter.reel.cta div.containers div.content div.text {
	max-width: none;
}

article.chapter.reel.cta div.containers div.content {
	flex: 1 1 55%;
}

article.chapter.reel.cta div.containers div.items {
	flex: 0 1 calc(40% - 30px);
}

article.chapter.reel.cta div.containers div.content div.cut-out {
	padding: 3em 0 0 2em;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper {
	border: 10px solid var(--color-primary);
	border-bottom: 0;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.text {
	border-radius: 0;
	background: var(--color-primary-lightest);
	background: linear-gradient(15deg,rgba(210, 216, 227, 1) 0%, rgba(255, 255, 255, 1) 100%);
	position: static;
	left: 0;
	top: 0;
	padding: 2em 2em 2em 45%;
	box-sizing: border-box;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.text h1 {
	font-family: 'Roboto', sans-serif;
	text-transform: uppercase;
	line-height: 1.2;
	letter-spacing: -2px;
	font-weight: 500;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.text p {
	font-family: "Hepta Slab", serif;
	font-weight: 500;
	font-size: 16px;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form {
	position: relative;
	z-index: 500;
	background: var(--color-white);
	border-bottom: 10px solid var(--color-primary);
	border-left: 10px solid var(--color-primary);
	border-right: 10px solid var(--color-primary);
	margin: 0 -10px;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form {
	margin: 0;
	padding: 1em;
	box-sizing: border-box;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form input, article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form button {
	margin: 0;
	width: 100%;
	padding: 0.5em 1em;
	box-sizing: border-box;
	height: 100%;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form div.row {
	gap: 0.5em;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form div.row div.fill {
	flex: 0 1 auto;
}

article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form input::placeholder {
	font-weight: 600;
	text-transform: uppercase;
	color: var(--color-black);
}

article.chapter.reel.cta div.containers div.content div.wrapper div.image {
	position: absolute;
	left: 0;
	top: -5px;
}

article.chapter.reel.cta div.containers div.content div.image img {
	width: 43%;
	height: auto;
}

article.chapter.reel.cta div.containers div.content div.image.hide_d {
	max-height: 250px;
	overflow:hidden;
	padding: 1em 1em 0;
}

article.chapter.reel.cta div.containers div.content div.image.hide_d img {
	display: block;
	margin: 0 auto;
}

div.score {
	--color: var(--color-yellow);
}

div.score i {
	color: var(--color);
}

article.chapter.reel div.containers div.items div.item div.score, article.slider.testimonials div.item div.customer div.details div.score {
	margin: 0 0 1em;
}


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

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, article.slider.testimonials 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, article.slider.testimonials div.item div.customer div.image {
	flex: 0 0 65px;
}

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

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

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

article.chapter.reel div.containers div.items div.item div.customer span, article.slider.testimonials 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);
	--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;
	background: none;
}

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.chapter.contact-form {
	background: var(--color-gray-100);
	display:flex;
	gap: 2em;
}

article.chapter.contact-form div.content {
	flex: 0 1 45%;
	display: flex;
	align-items: center;
	padding: 0 1em;
	box-sizing: border-box;
}

article.chapter.contact-form div.form {
	flex: 1;
	padding: 2em 2.2em;
	box-sizing: border-box;
	background: var(--color-white);
	border-radius: var(--default-border-radius-small);
	box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
}

article.chapter.contact-form div.form form {
	margin: 0;
}

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

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

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

	h1.hrshort {
		margin: 0!important;
	}
}

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

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

article.grid.vertical {
	--padding: 2em 10%;
}

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

article.grid.vertical div.images {
	flex: 1;
}

article.grid.vertical div.images ul.flex-gallery li {
	flex: 0 1 30%;
}

article.grid.vertical div.images ul.flex-gallery li img {
	max-height: 450px;
}

article.grid.vertical div.text {
	flex: 0 1 30%;
}

article.grid.vertical.two div.text {
	flex: 0 1 45%;
}

article.grid.vertical div.text hr {
	width: 15%;
	margin: 30px 0;
}

article.grid.vertical.two.reverse div.images ul.flex-gallery {
	justify-content: flex-end;
}

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

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

article.slider a {
	text-decoration: none;
}

article.slider .item a:hover span.button {
	--background: #363636;
}

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

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

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%;
	opacity: 0.3;
	object-fit: cover;
	transition: var(--default-transition);
}

article.slider div.slider-container div.slick-current img {
	opacity: 1;
}

.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;
	/**display: block;**/
	color: var(--color-white);
	width: var(--arrow-size);
	height: var(--arrow-size);
	border-radius: 100%;
	background: var(--color-primary-light);
	background-size: 100% 100%;
	transform: rotateY(0deg);
	box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px, rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
	transition: var(--default-transition);
}

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

.slider div.slider-container button.slick-arrow:hover::before {
	background: var(--color-primary);
}

.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 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.slider.testimonials {
	--arrow-size: 50px;
	--arrow-offset: 1.5%;
	--dot-size: 14px;
	margin: 50px auto;
}

article.slider.testimonials div.slider-container button.slick-arrow::before {
	font-size: 20px;
}

article.slider.testimonials div.slider-container {
	height: auto;
}

article.slider.testimonials div.slick-track {
	display: flex;
	align-items: stretch;
}

article.slider.testimonials div.item {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5em;
	background: var(--color-gray-light);
	padding: 1em 1.2em;
	box-sizing: border-box;
	border-radius: var(--default-border-radius-small);
	height: auto;
	opacity: 0.3;
	transition: var(--default-transition);
	margin: 0 0.5em;
}

article.slider.testimonials div.item.slick-current {
	opacity: 1;
}

article.slider.testimonials div.item div {
	height: auto;
}

article.slider.testimonials div.item div.customer {
	margin: 0;
}

article.slider.testimonials div.item div.customer, article.slider.testimonials div.item div.text {
	flex: 0 0 100%;
}

article.slider.testimonials div.item div.customer div.image {
	flex: 0 0 80px;
	align-content: center;
}

article.slider.testimonials div.item div.customer div.image img {
	height: auto;
	opacity: 1;
}

article.slider.testimonials div.item div.details {
	flex: 1;
	text-align: center;
}

article.slider.testimonials div.item div.details h2 {
	margin: 0.5em 0;
	text-align: center;
}

article.slider.testimonials div.item div.details h2 a {
	margin: 0;
	text-align: center;
}

article.slider.testimonials div.item div.details a.button {
}

article.page article.chapter.gallery {
	background: var(--color-gray-light);
	padding: 1em 2em;
	box-sizing: border-box;
}

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.gallery ul.grid {
	--numcolumns: 4;
	--gap: 1.5em;
	--size: calc(100vw / var(--numcolumns));
	display: grid;
	grid-template-columns: repeat(var(--numcolumns), 1fr);
	grid-template-rows: auto;
	gap: var(--gap);
	align-items: stretch;
	list-style: none;
}

article.gallery ul.grid > li::before {
	display: none;
}

article.gallery ul.grid > li {
	display: block;
	height: calc(var(--size) - var(--gap));
	margin: 0!important;
	padding: 0!important;
}

article.gallery ul.grid > li.text {
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: left;
}

article.gallery ul.grid > li.text div {
	padding: 1em 2em;
	box-sizing: border-box;
}

article.gallery ul.grid > li.text div h2 {
	padding: 0;
	margin: 0 0 20px;
}

article.gallery ul.grid > li.text, article.gallery ul.grid > li.wide  {
	grid-column: span 2;
}

article.gallery ul.grid > li.text, article.gallery ul.grid > li.text + li {
	/**height: 400px;**/
}

article.gallery ul.grid > li.big {
	grid-column: span 2;
	grid-row: span 2;
	height: auto;
}

article.gallery ul.grid > li.high {
	grid-row: span 2;
	height: auto;
}

article.gallery ul.grid > li img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/**
article.gallery ul.grid > li.wider {
	grid-column: span 2;
}


article.gallery ul.grid > li.wide {
	grid-column: span 2;
}

article.gallery ul.grid > li.high {
	grid-row: span 2;
	height: auto;
}
**/

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

article.chapter.corner div.text {
	padding: 0 100px;
	box-sizing: border-box;
}

article.chapter.corner div.images {
	margin: 1.5em 0;
	position: relative;
}

article.chapter.corner div.images div.primary {
	padding: 100px 150px 0 0;
	box-sizing: border-box;
}

article.chapter.corner div.images div.secondary {
	--border: 40px solid var(--color-white);
	background: var(--color-white);
	position: absolute;
	top: 0;
	right: 0;
	border-left: var(--border);
	border-bottom: var(--border);
	max-width: 500px;
	box-sizing: border-box;
}

article.chapter.corner div.images div.primary img, article.chapter.corner div.images div.secondary img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

article.chapter.offset {
	display: flex;
	gap: 2%;
	position: relative;
	margin: 1em 0 0;
}

article.chapter.offset.reversed {
	flex-direction: row-reverse;
	gap: 5%;
}


article.chapter.offset.reversed.detail div.text {
	flex: 0 0 75%;
}

article.chapter.offset div.text {
	flex: 0 0 45%;
	padding: 0;
	box-sizing: border-box;
}

article.chapter.offset div.text {
	h1, h2, h3, h4, h5, h6 {
		margin-top: 0!important;
	}
}

article.chapter.offset div.text a.underlined {
	--color: var(--color-black);
}

article.chapter.offset::before {
	content : '';
	display: block;
	width: 80%;
	height: 85%;
	background: var(--color-gray);
	z-index: -1;
	position: absolute;
	top: -5%;
	left: 5%;
}

article.chapter.offset.detail::before {
	width: 90%;
}

article.chapter.offset div.images ul.flex-gallery {
	--item-offset: 10px;
}

article.chapter.offset div.images ul.flex-gallery {
	flex-wrap: nowrap;
}

article.chapter.offset div.images ul.flex-gallery li {
	overflow: hidden;
}

article.chapter.offset div.images ul.flex-gallery.two li:nth-of-type(odd) {
	flex: 0 0 33%;
}

article.chapter.offset div.images ul.flex-gallery.two li:nth-of-type(even) {
	flex: 0 0 66%;
}

article.chapter.offset div.images ul.flex-gallery.two li:nth-child(n+3) {
	display: none;
}

article.chapter.offset div.images ul.flex-gallery li img {
	transition: filter 0.3s ease-in-out;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

article.chapter.offset div.images ul.flex-gallery li:hover img {

}

div.google-reviews {
	display: flex;
	justify-content: flex-end;
	box-sizing: border-box;
}

div.google-reviews div::after {
	content: ' - ';
	display: inline-block;
	margin: 0 0.5em;
}

div.google-reviews div:last-of-type::after {
	display: none;
}

div.google-reviews div a {
	text-decoration: none;
	border-bottom: 1px solid #13a3cf;
	padding: 0 0 0.5em;
	transition: border-color 0.3s ease-in-out;
}

div.google-reviews div a:hover {
	border-color: var(--color-primary);
}

article.testimonial-overview div.google-reviews, article.slider.testimonials div.google-reviews {
	margin: 1em 0 0;
	padding: 0 1em;
}

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%, #14a0de 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.chapter.packet {
	display: flex;
	gap: 50px;
}

article.chapter.packet div.image {
	flex: 0 1 600px;
}

article.chapter.packet div.image img {
	max-width: 600px;
	margin: 0 auto;
	display: block;
	width: 100%;
	height: auto;
}

article.chapter.packet div.content {
	flex: 1;
}

article.chapter.packet div.content div.price {
	display: flex;
	align-items: center;
	gap: 8px;
}

article.chapter.packet div.content div.price span.linethrough {
	text-decoration: line-through;
	color: #242424;
	font-size: 20px;
}

article.chapter.packet div.content div.price h3 {
	flex: 1;
	display: flex;
	color: #13a2cd;
	font-size: 42px;
	align-items: center;
	gap: 4px;
}
article.chapter.packet div.content div.price h3 span {}

article.chapter.packet div.content div.price h3 span.suffix {
	display: flex;
	flex-direction: column;
	font-size: 18px;
	color: var(--color-black);
}

article.chapter.packet div.content div.price h3 span.suffix span.note {
	font-size: 12px;
}

article.chapter.packet div.content div.introduction, article.chapter.packet div.content div.introduction p {
	font-size: 12px;
}


article.page article.chapter.negative {
	margin: -4em 0 0;
	padding: 4em 10% 2em;
}

article.chapter.negative div.image {
	float: right;
	margin: -200px 0 14px 14px;
	width: 50%;
}

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


article.chapter.blog_overview {
	display: flex;
	flex-wrap: wrap;
	gap: 0 24px;
	border-top: 1px solid var(--color-gray);
	box-sizing: border-box;
}

article.chapter.blog_overview > div {
	flex: 1 1 45%;
}

article.chapter.blog_overview h2 a:hover {
	color: var(--color-primary-contrast);
}


article.chapter.list div.items {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}

article.chapter.list div.items div.item {
	flex: 0 0 100%;
	display: flex;
	gap: 2em;
}

article.chapter.list div.items div.item:nth-of-type(even) {
	/**flex-direction: row-reverse;**/
}

article.chapter.list div.item a {
	text-decoration: none;
}

article.chapter.list div.item div.image {
	flex: 0 1 auto;
}

article.chapter.list div.item div.image a {
	display: block;
	aspect-ratio: 1;
	width: 250px;
	height: 250px;
}

article.chapter.list div.item div.image a img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

article.chapter article.faq {
	padding: 0;
}

article.chapter.faq.collapsible {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 24px;
}

article.chapter.faq div.categories {
	flex: 0 0 20%;
	display: flex;
	flex-direction: column;
	gap: 1em;
	padding: 10px 12px;
	box-sizing: border-box;
	border: 1px solid var(--color-gray-dark);
	border-radius: var(--default-border-radius-small);
}

article.chapter.faq div.categories span.heading2 {
	--margin: 0;
}

article.chapter.faq div.categories a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0;
}

article.chapter.faq div.item_containers {
	display: flex;
	flex-wrap: wrap;
	gap: 1em;
	flex: 1;
	background: var(--color-gray-lightest);
	border-radius: var(--default-border-radius-small);
	padding: 10px 40px;
	box-sizing: border-box;
}

article.chapter.faq div.item_containers div.item_container {
	flex: 0 0 100%;
	display: none;
}

article.chapter.faq div.item_containers div.item_container.active {
	display: block;
}

article.chapter.faq div.items {
	display: flex;
	flex-wrap: wrap;
	gap: 2em;
	justify-content: center;
}

article.chapter.faq div.items div.item {
	--background: var(--color-gray-lightest);
	flex: 0 0 80%;
	padding: 30px 40px;
	box-sizing: border-box;
	background: var(--background);
	border-radius: var(--default-border-radius);
}

article.chapter.faq div.item_containers div.item_container div.items div.item {
	flex: 0 0 100%;
	padding: 0;
	border-radius: 0;
	border-bottom: 1px solid var(--color-gray-dark);
}

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

article.chapter.faq div.items div.item h3 {
	--color: #13a3cf;
	--font-weight: 500;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

article.chapter.faq div.items div.item h3 i.icon {
	background: var(--color-gray-light);
	border-radius: 50%;
	padding: 5px;
	box-sizing: border-box;
	display: none;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
}

article.chapter.faq div.items div.item h3 i.icon::before {
	--icon: '\2b';
}

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

article.chapter.faq.collapsible div.items div.item {
	--background: transparent;
	transition: background 0.3s ease-in-out;
	cursor: pointer;
}

article.chapter.faq.collapsible.background div.items div.item {
	--background: var(--color-white);
}

article.chapter.faq.collapsible div.items div.item:hover {
	--background: var(--color-gray-lightest);
}

article.chapter.faq.collapsible div.items div.item h3 i.icon {
	display: flex;
}

article.chapter.faq.collapsible div.items div.item.active h3 i.icon::before {
	--icon: '\f068';
	--font-weight: 600;
}

article.chapter.faq.collapsible div.items div.item div.answer {
	display: none;
}

article.chapter.faq.collapsible div.items div.item.active div.answer {
	display: block;
}

/** ---------------------------------------------------------------------------------------------------------- **/

@media only screen and (max-width: 1500px) {
	article.grid.vertical div.images ul.flex-gallery li img {
		max-height: 400px;
	}

	ul.flex-gallery.five {
		--items: 3;
		justify-content: flex-start;
	}


	article.chapter.reel.cta div.containers {
		padding: 0;
	}

	article.chapter.reel.cta div.containers div.content, article.chapter.reel.cta div.containers div.items {
		flex: 0 0 100%;
	}

	article.chapter.reel.cta div.containers div.content div.cut-out {
		padding: 3em 2em 0;
	}

	article.chapter.negative div.image {
		float: none;
		margin: 0 0 20px;
		width: 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%;
	}

	article.grid.vertical div.images ul.flex-gallery li img {
		max-height: 400px;
	}

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

	article.chapter.packet {
		flex-wrap: wrap;
	}

	article.chapter.packet div.image, article.chapter.packet div.content {
		flex: 0 0 100%;
	}

	article.chapter.faq.collapsible {
		flex-wrap: wrap;
	}

	article.chapter.faq.collapsible div.categories, article.chapter.faq.collapsible div.item_containers {
		flex: 0 0 100%;
	}

	article.chapter.faq div.item_containers {
		padding: 10px 20px;
	}
}

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

	article.grid.vertical div.images, div.text {
			flex: 0 0 100%!important;
	}

	article.grid.vertical ul.flex-gallery {
			--items: 2!important;
	}

	article.grid.vertical.two.reverse div.images ul.flex-gallery {
		justify-content: center;
	}

	article.grid.vertical {
		flex-wrap: wrap;
		padding: 1em;
	}

	article.grid.vertical div.images ul.flex-gallery li img {
		max-height: 300px;
	}

	article.grid.vertical div.text {
		margin: 1em 0 0;
	}

	article.gallery ul.grid > li.text, article.gallery ul.grid > li.wide {
		grid-column: span 4;
	}

	article.chapter.corner div.images div.secondary {
		--border: 20px solid var(--color-white);
		max-width: 300px;
	}

	article.chapter.offset {
		flex-wrap: wrap;
		gap: 1em;
	}

	article.chapter.offset div.text {
		flex: 0 0 100%!important;
		padding: 0 1em;
	}

	article.chapter.offset::before {
		width: 80%;
	}

	article.chapter.offset div.images ul.flex-gallery {

	}

	span.button.animated .circle {
		width: 100%;
	}

	span.button.animated .circle .icon {
		display: none;
	}

	span.button.animated .button-text {
		--color: var(--color-white);
		padding: 0 1em;
	}

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

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

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

	article.chapter.contact-form div.content {
		padding: 0;
	}

	.slider.testimonials div.slider-container button.slick-arrow {
		left: -25px;
	}

	.slider.testimonials div.slider-container button.slick-arrow.slick-next {
		left: auto;
		right: -25px;
	}
}

@media only screen and (max-width: 767px) {
	article.chapter.reel.cta div.containers div.content div.cut-out	{
		padding: 0;
	}
	article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.text {
		padding: 2em;
	}

	article.chapter div.timeline div.item::after {
		top: 15%;
	}
}

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

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

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

	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 5em;
	}

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

	article.page article.chapter.corner {
		flex-wrap: wrap;
		padding: 0;
	}

	article.chapter.corner div.text {
		padding: 0.5em 1em;
	}

	article.chapter.corner div.text, article.chapter.corner div.image {
		flex: 0 0 100%;
	}

	article.chapter.corner div.images div.primary {
		padding: 0;
	}

	article.chapter.corner div.images div.secondary {
		--border: 10px solid white;
		position: relative;
		aspect-ratio: 1;
		max-height: 300px;
		border-top: var(--border);
		border-bottom: 0;
		margin: -10% 0 0 50%;
		z-index: 100;
	}

	article.chapter.corner div.images div.secondary  img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

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

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

	article.grid.vertical div.images ul.flex-gallery {
		gap: 5px;
		justify-content: space-between;
	}

	article.grid.vertical div.images ul.flex-gallery li {
		flex: 0 1 calc(33% - 5px);
	}

	article.grid.vertical div.images ul.flex-gallery li img {
		max-height: 200px;
	}

	article.grid.vertical div.text hr {
		margin: 5px 0;
	}

	article.chapter.offset::before {
		width: 90%;
	}

	article.chapter.offset div.images ul.flex-gallery li {
		max-width: 100%;
	}

	article.chapter.offset div.images ul.flex-gallery li img {
		/**
		width: 100%;
		height: auto;
		**/
	}

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

	article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form div.row {
		flex-wrap: wrap;
	}

	article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form div.row div, article.chapter.reel.cta div.containers div.content div.cut-out div.wrapper div.form form div.row div.fill {
		flex: 0 0 100%;
	}
}

