html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

*, *:before, *:after {
	box-sizing: border-box;
}
:root {
	/*--color-primary: #f8ab0a;*/
	/*--color-primary: #AD7F47;*/ /* cognac */
    --color-primary: #CC9D97;
	/*--color-secondary: #d23c3e;*/
	--color-secondary: #f4763b;
	--color-text: #222222;
	/*--color-text-soft: #8c8c8c;*/
	--color-text-soft: #dbdbdb;
	--color-text-medium: #666666;
	--color-bordeaux: #691F1F;
	
	--color-black: #222222;
	--color-green: #465a4b;
	--color-white: #ffffff;
	--color-light-grey: #efeeef;
	--color-medium-grey: #8c8c8c;

	--color-active-green: #89c403;
	/*--color-red: #bb0b11;
	--color-red-dark: #74070b;
	--color-gradient-red: linear-gradient(130deg, rgba(184,11,17,1) 0%, rgba(171,0,5,1) 100%);
	--color-gradient-black: linear-gradient(to bottom, rgba(1,2,2, 0) 50%, rgba(1,2,2,1) 100%);
	--color-gradient-page: linear-gradient(to bottom, rgba(240,240,240, 1) 50%, rgba(240,240,240,0) 100%);*/

	--color-notice: #fffad5;
	--color-notice-error: #f4c2c4;

	--color-section-gray: #f0f0f0;

	--swiper-theme-color: var(--color-red);

	--section-spacing: 60px;
	--offset-large: 60px;
	--offset: 40px;
	--offset-medium: 30px;
	--offset-small: 20px;
	--offset-smallest: 15px;
	--base: 1500px;
	--column: calc((var(--base) - (var(--offset) * 11)) / 12);
	
	--grid-2: calc((var(--column) * 2) + (var(--offset) * 1));
	--grid-3: calc((var(--column) * 3) + (var(--offset) * 2));
	--grid-4: calc((var(--column) * 4) + (var(--offset) * 3));
	--grid-5: calc((var(--column) * 5) + (var(--offset) * 4));
	--grid-6: calc((var(--column) * 6) + (var(--offset) * 5));
	--grid-7: calc((var(--column) * 7) + (var(--offset) * 6));
	--grid-8: calc((var(--column) * 8) + (var(--offset) * 7));
	--grid-9: calc((var(--column) * 9) + (var(--offset) * 8));
	--grid-10: calc((var(--column) * 10) + (var(--offset) * 9));
	--grid-11: calc((var(--column) * 11) + (var(--offset) * 10));
	--grid-12: calc((var(--column) * 12) + (var(--offset) * 11));	

	--font-family: 'Noto Sans', sans-serif;
	--font-family-header: 'Lora', serif;
	--fontawesome: 'Font Awesome 6 Pro';
	--font-size: 18px;
	--line-height: 36px;

	--z-index-navigation: 2000; 
	--z-index-header: 999;
	--z-index-cookie: 999;

	--transition-speed: .25s;
}


@media screen and (max-width: 1499px) {
	:root { 
		--section-spacing: 50px;
		--offset-large: 50px;
		--offset: 30px;
		--offset-medium: 25px;
		--offset-small: 15px;
		--offset-smallest: 10px;		
		--base: 990px;
		--font-size: 16px;
		--line-height: 32px;
		
	}
}
/* Mobile */

@media screen and (max-width: 1023px) {
	:root {
		--base: 100%;
		--base-mobile: calc(var(--base) - (var(--offset) * 2));
		--offset: 30px;
		--offset-small: 15px;

		--section-spacing: 60px;
	}
}
body {
	color: var(--color-text);
	font-family: var(--font-family);
	line-height: var(--line-height); 
	font-size: var(--font-size);
	font-weight: 300;
}

h1 {
	font-family: var(--font-family-header);
	font-size: 78px;
	line-height:78px;
	font-weight: 500;
	word-break: break-word
}

h1 span {
	font-family: var(--font-family-header);
	color: var(--color-text-medium);
	font-size: 28px;
	line-height:32px;
	font-weight: 400;
	display: block;
	font-style: italic;
	margin-left: 32px;
}

h1:after {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    margin: -40px 0 0 -25px;
    opacity: 0;
    animation: fade-in .3s forwards .4s;
    z-index: -1;
}

h2 {
	font-family: var(--font-family-header);
	font-size: 75px;
	line-height:78px;
	font-weight: 400;
	word-break: break-word;
	margin-bottom: 35px;
}

h2:after {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    margin: -40px 0 0 -25px;
    opacity: 0;
    animation: fade-in .3s forwards .4s;
    z-index: -1;
}

h2 span {
	font-family: var(--font-family-header);
	color: var(--color-text-medium);
	font-size: 28px;
	line-height:28px;
	font-weight: 300;
	display: block;
	font-style: italic;
	margin-left: 32px;
}

h3 {
	font-family: var(--font-family-header);
	font-size: 75px;
	line-height:78px;
	font-weight: 400;
	word-break: break-word;
	margin-bottom: 35px;
}

h3:after {
    content: "";
    display: block;
    width: 50px;
    height: 50px;
    position: relative;
    margin: -40px 0 0 -25px;
    opacity: 0;
    animation: fade-in .3s forwards .4s;
    z-index: -1;
}

h3 span {
	font-family: var(--font-family-header);
	color: var(--color-text-medium);
	font-size: 28px;
	line-height:28px;
	font-weight: 300;
	display: block;
	font-style: italic;
	margin-left: 32px;
}

/*h3 {
	font-family: var(--font-family-header);
	font-size: 24px;
	font-weight: 700;
}*/

h4 {
	font-family: var(--font-family);
	font-size: 24px;
	font-weight: 700;
}

h6 {
	font-family: var(--font-family-header);
	font-size: 18px;
	font-weight: 700;
}

h1[data-color="lightgreen"]:after, h2[data-color="lightgreen"]:after, h3[data-color="lightgreen"]:after {
    background: rgba(70, 95, 75, 0.25);
}

h1[data-color="green"]:after, h2[data-color="green"]:after, h3[data-color="green"]:after {
    background: rgba(70, 95, 75, 1);
}

h1[data-color="lightyellow"]:after, h2[data-color="lightyellow"]:after, h3[data-color="lightyellow"]:after {
    background: rgba(204, 157, 150, 1);
}

h1[data-color="yellow"]:after, h2[data-color="yellow"]:after, h3[data-color="yellow"]:after {
    background: rgba(204, 157, 150, 1);
}

h1[data-color="lightred"]:after, h2[data-color="lightred"]:after, h3[data-color="lightred"]:after {
    background: rgba(242, 107, 52, 0.25);
}

h1[data-color="red"]:after, h2[data-color="red"]:after, h3[data-color="red"]:after {
    background: rgba(242, 107, 52, 1);
}

h1[data-color="bordeaux"]:after, h2[data-color="bordeaux"]:after, h3[data-color="bordeaux"]:after {
    background: rgba(105, 31, 31, 1);
}

strong, b {
	font-weight: 700;
}

i,em {
	font-style: italic;
}

a {
	color: var(--color-text);
}

a:hover {
	color: var(--color-primary);
}

p {
	line-height: var(--line-height); 
	font-size: var(--font-size);
	margin: 0;
}



/* Mobile */
@media screen and (max-width: 1499px) {
	h1, h2 {
		font-size: 40px;
		line-height:40px;
	}

	h1 span,
	h2 span,
	h3 {
		font-size: 20px;
	}

	h3 {
		line-height: 28px;
	}

	h3 span {
		font-family: var(--font-family-header);
		color: var(--color-text-medium);
		font-size: 16px;
		line-height:28px;
		margin-left: 10px;
	}
}
@keyframes fade-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

@keyframes fade-out {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
	}
}


body {
	background: var(--color-primary);
}

main {
	background-color: #FFF;
	scroll-margin: 160px;
	/*padding-bottom: var(--offset);*/
}

main > section:first-child {
	padding-top: 0;
}

main > section + section {
	padding-top: 0;
}

main > section {
	padding: var(--section-spacing) 0;
}

main > section[data-offset="small"],
main > section[data-offset-top="small"] {
	padding-top: var(--offset);
}

main > section[data-offset="large"],
main > section[data-offset-top="large"] {
	padding-top: calc(var(--offset) + var(--offset-small));
}

main > section[data-offset="medium"],
main > section[data-offset-top="medium"] {
	padding-top: var(--offset-small);
}

main > section[data-offset="none"],
main > section[data-offset-top="none"] {
	padding-top: 0;
}

/* main > section[data-color] {v 
	padding: var(--section-spacing) 0;
}

main > section[data-color][data-offset="none"] {
	padding: 0;
} */

main > section[data-color="gray"] {
	background-color: var(--color-section-gray);
}

main > section[data-color="gray-to-white"] {
	background: linear-gradient(to bottom right, var(--color-section-gray) 0%, #FFF 100%);
}

main > section[data-color="white-to-gray"] {
	background: linear-gradient(to bottom right, #FFF 0%, var(--color-section-gray) 100%);
}

main > section:last-child {
	padding-bottom: var(--section-spacing);
}
.wrapper {
	width: var(--base);
	margin-left: auto; 
	margin-right: auto;
}

/* Tablet */
@media screen and (max-width: 1499px) {
	.wrapper {
		width: calc(100% - var(--offset));
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	.wrapper {
		width: calc(100% - (var(--offset) * 2));
	}
}


header#header a.navigation-trigger {
	display: flex;
	align-items: center; 
	justify-content: center;
	flex-direction: column;
	width: 60px;
	height: 60px;
	border-radius: 60px;
	background: #fff;
	padding: 10px;
	right: 0;
	background: var(--color-light-grey);
}

header#header a.navigation-trigger span {
	width: 80%;
	height: 2px;
	transition: all .15s;
	background: var(--color-text);
}

header#header a.navigation-trigger span:first-of-type, header#header a.navigation-trigger span:last-of-type  {
	width: 60%;
}

header#header a.navigation-trigger span + span {
	margin-top: 5px;
}

header#header a.navigation-trigger:hover span {
	width: 100%;
	background-color: var(--color-secondary);
}

header#header a.navigation-trigger:hover span + span {
	margin-top: 6px;
}

[data-interactive="1"] header#header a.navigation-trigger {

}

/* Tablet */
@media screen and (max-width: 1499px) {
	header#header a.navigation-trigger {
		width: 40px;
		height: 40px;	
		padding: 5px;
	}

	header#header a.navigation-trigger span {
		width: 80%;
	}

	header#header a.navigation-trigger span + span {
		margin-top: 3px;
	}

	header#header a.navigation-trigger span:first-of-type, header#header a.navigation-trigger span:last-of-type  {
		width: 60%;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header a.navigation-trigger {
		width: 60px;
		height: 60px;
		padding: 15px;
	}
}
header#header .top .usp {
	margin-right: auto;
	padding: var(--spacing) 0; 
	display: flex;
	justify-content: flex-start;
	align-items: center;
}

header#header .top .usp .usp-item {
	color: var(--color-medium-grey);
	text-decoration: none;
	font-weight: 300;
}

header#header .top .usp .usp-item span{
	color: var(--color-secondary);
	margin-right: 5px;
}

header#header .top .usp .usp-item + .usp-item {
	margin-left: 30px;
}

/* ---------- mediaquery ---------- */

@media screen and (max-width: 1499px) {
	header#header .top .usp .usp-item + .usp-item {
		margin-left: 15px;
		font-size: 13px;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .top .usp {
		padding-left: var(--offset-small);
		font-size: 13px;
		display:none;
	}

	header#header .top .usp .usp-item {
		font-size: 0;
	}
}
header#header .top .service {
	padding: var(--spacing) 0; 
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

header#header .top .service a {
	color: var(--color-medium-grey);
	text-decoration: underline;
	font-weight: 300;
}

header#header .top .service span{
	color: var(--color-secondary);
	margin-right: 5px;
	margin-left: 30px;
}

header#header .top .service a:hover {
	color: var(--color-secondary);
}

@media screen and (max-width: 1499px) {
	header#header .top .service > *:nth-child(3),
	header#header .top .service > *:nth-child(4) {
		display:none;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .top .service {
		width: 100%;
		padding: 0 var(--offset-small);
		font-size: 13px;
		justify-content: start;
	}

	header#header .top .service a {
		font-size: 13px;
		margin-left: 10px;
	}

	header#header .top .service span{
		margin-left: 20px;
		display: none;
	}
}
header#header .bottom .logo {
	transition: all var(--transition-speed);
}

header#header .bottom .logo figure {
	margin-right: auto;
	display: flex; 
	justify-content: flex-start;
	position: relative;
}

header#header .bottom .logo figure a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 78px;
	width: 230px;
	background-color: #fff;
	/* margin-top: 20px; */
}


/* ----------  ---------- */

@media screen and (max-width: 1499px) {
	header#header .bottom .logo figure a {
		margin-top: 0px;
		align-self: center;
	}

	header#header .bottom .logo figure img {
		max-width: 100%;
		max-height: 100%;
	}

	header#header .bottom .logo figure a {
		width: 150px;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {

	header#header .bottom .logo {
		height: auto;
	}

	header#header .bottom .logo figure a {
		height: 50px;
		justify-content: start;
	}

	header#header .bottom .logo figure img {
		max-width: 100%;
		max-height: 100%;
	}
}
header#header .search {
	display: flex;
	align-items: center;
}

header#header .search a {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 15px var(--offset-small); 
	color: var(--color-text);
	border-left: 1px solid var(--color-light-grey);
	font-size: 24px;
	transition: all .25s;
}

header#header .search a:hover {
	color: var(--color-primary);
}

header#header .search a span {
	margin: 0 0 0 5px;
	font-weight: 300;
}

header#header .search-form {
	display: none;
}

/* --------------- popover --------------- */

.search-form.fancybox-content {
	padding: var(--offset-small); 
	border-radius: var(--offset-small); 
	background: var(--color-white);
	color: var(--color-text);
	width: 100%;
	max-width: 500px;
}

.search-form form {
	margin-top: var(--offset-small);
	--width: calc(150px  - (var(--offset-small) / 2));
	display: flex;
	flex-direction: column;
	max-width: 500px;
}

.search-form form > div > input {
	width: 100%;
	min-width: 300px;
	border: 1px solid var(--color-text);
	color: var(--color-black);
}

.search-form p {
	margin-top: 0;
}

.search-form form > div:last-child {
	margin-top: var(--line-height); 
	width: 100%;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .search {
		display: none;
	}
}
header#header .socialmedia {
	--item-spacing: calc(var(--offset) / 2);
	border-left: 1px solid var(--seperator-color);
}

header#header .socialmedia ul {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	height: 100%
}

header#header .socialmedia ul li {
	margin-left: var(--item-spacing);
	display: flex;
	align-items: center;
	justify-content: center;
}

header#header .socialmedia ul li:last-child {
	margin-right: var(--item-spacing); 
}

header#header .socialmedia a {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 24px;
}

header#header .socialmedia span.fa-pinterest-p {
	color: #cd1d20;
}

header#header .socialmedia span.fa-instagram {
	color: #c932c4;
}

header#header .socialmedia span.fa-facebook-f {
	color: #3b5897;
}

header#header .socialmedia a:hover span{
	color: var(--color-primary);
}

@media screen and (max-width: 1499px) {
	header#header .socialmedia a {
		font-size: 18px;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .socialmedia {
		display: none;
	}
}

header#header .language {
	--flag-width: 50px;
	--flag-height: 50px;
	border-left: 1px solid var(--seperator-color);
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

header#header .language ul,
header#header .language a {
	width: var(--flag-width); 
	height: var(--flag-height); 
}

header#header .language ul {
	overflow: hidden;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

header#header .language ul li.active {
	display: block;
	opacity: 1;
}

header#header .language ul li {
	position: absolute;
	opacity: 0; 
	display: none;
	z-index: 100;
}

header#header .language ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all .25s;
}

header#header .language ul li a:hover {
	background-color: rgba(11,11,11,.2);
}

header#header .language ul:hover {
	height: auto;
}
header#header .language ul:hover li {
	display: block;
	background-color: rgba(11,11,11,.1);
	animation: language-in .25s forwards; 
}

header#header .language ul:hover li:nth-child(2) {
	margin-top: calc(var(--flag-height) * 1);
	
}

header#header .language ul:hover li:nth-child(3) {
	margin-top: calc(var(--flag-height) * 2);
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	animation-delay: .15s;
}

@keyframes language-in {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .language {
		--flag-width: 60px;
	}

	header#header .language ul:hover li {
		background-color: rgba(11,11,11,.5);
	}
}
/* ---------- vars ---------- */

header#header .links .page {
	--width: 220px;
}

/* ---------- layout ---------- */

header#header .links {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

header#header .links .pages {
	
	display: flex;
	justify-content: center;
	align-items: start;
}

header#header .links .pages ul {
	position: absolute;
	left: calc(50% - (var(--width) / 2));
	width: var(--width);
	flex-direction: column;
	justify-content: center;
	align-items: center;
	display: none;
}

header#header .links .pages:hover > ul {
	display: flex;
}


/* ---------- lipstick ---------- */

header#header .links .pages ul {
	margin-top: 25px;
	padding-top: 10px;
}

header#header .links .pages ul li {
	display: block;
	margin: 0 5px; 
}

header#header .links .pages ul li + li {
	margin-top: 0px;
}

header#header .links .pages ul li a {
	background: hsla(0,0%,13%,1);
	padding: 5px 15px;
	display: block;
	font-size: 12px;
	line-height: 20px;
	color: white;
	text-align: center;
}

header#header .links .pages ul li:hover {
	margin: 0;
}

header#header .links .pages ul li a:hover {
	background: hsla(0,0%,20%,1);
}

header#header .links a,
header#header .links .pages > a {
	color: var(--color-black);
	font-size: 16px;
	line-height: 28px;
	font-weight: 700;
	text-transform: uppercase;
}

header#header .links > a:hover,
header#header .links .pages > a:hover,
header#header .links > a.active,
header#header .links .pages > a.active {
	color: var(--color-secondary);
	text-decoration: underline;
	text-underline-offset: 10px;
	text-decoration-thickness: 3px;
}

header#header .links > * + * {
	margin-left: var(--offset);
}

[data-interactive="1"]	header#header .links a { padding: 0 15px; }

@media screen and (max-width: 1499px) {
	header#header .links a[href*="sale"],
	header#header .links a[href*="acties"]{
		display: none;
	}

	header#header .links a { font-size: 14px; }

	header#header .links a + a {
		margin-left: var(--offset-small);
	}
	
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .links {
		display: none;
	}
}


header#header {
	position: sticky;
	top: 0;
	z-index: var(--z-index-header); 
}

header#header .top {
	--spacing: 10px;
	--seperator-color: rgba(255,255,255,.34);
	width: 100%;
	background: var(--color-light-grey);
	font-size: 14px;
	line-height: 20px;
}

header#header .top .wrapper {
	display: flex;
	justify-content: flex-end;
	align-items: stretch;
	min-height: 35px;
}

header#header .bottom {
	min-height: 120px;
	display: flex;
	justify-content: center;
	align-items: stretch;
	background: var(--color-white);
}

header#header .bottom .wrapper {
	display: flex;
	align-items: center;
}

header#header .bottom .wrapper .logo {
	flex: 0 0 250px;
	justify-content: flex-start;
}

header#header .bottom .wrapper .links {
	flex: 1;
	justify-content: center;
}

header#header .bottom .wrapper .socialmedia {
	flex: 0 0 150px;
	justify-content: flex-end;
}

header#header .bottom .wrapper .search {
	flex: 0 0 75px;
	justify-content: flex-end;
}

header#header a {
	text-decoration: none;
	transition: color .25s;
}

header#header a:hover {
	color: var(--color-primary);
}

/* ----------------- cms ----------------- */

[data-interactive="1"]	header#header { position: relative; }

/* Tablet */
@media screen and (max-width: 1499px) {

	header#header .bottom {
		padding: 10px 0;
		min-height: 80px;
	}

	header#header .bottom .wrapper .logo {
		flex: 0 0 150px;
		justify-content: flex-start;
	}	

	header#header .bottom .wrapper .socialmedia {
		flex: 0 0 auto;
		justify-content: flex-end;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header .top .wrapper {
		width: 100%;
	}
	
	header#header .bottom {
		min-height: 60px;
	}

	header#header .bottom .wrapper {
		justify-content: space-between;
	}
}

@keyframes navigation-in {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes logo-in {
	0% {
		margin-top: -200px;
		opacity: 0;
	}
	100% {
		margin-top: initial;
		opacity: 1;
	}
}
header#header nav .contact > div  {
	color: var(--color-text-soft);
	font-size: 14px;
	line-height: 20px;
}

header#header nav .contact address {
	font-size: 14px;
	line-height: 30px;
	color: var(--color-text-soft);
	width: 100%;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
}

header#header nav .contact address div {
	display: flex;
	flex-direction: column;
}

header#header nav .contact address > div:first-child {
	padding-left: 20px;
}

header#header nav .contact address > div:last-child {
	margin-left: var(--offset);
}

header#header nav .contact address > div:first-child span {
	position: absolute; 
	margin-left: -20px;
}

header#header nav .contact address > div:first-child span:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f3c5";
	margin-left: 0px;
	text-decoration: none;
	color: var(--color-text-soft);
	width: 20px;
	height: 30px;
	font-size: 18px;
	display: block;
}

/* ----------------- cms ----------------- */

[data-interactive="1"] header#header nav .contact address  { opacity: 1; }

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header nav .contact address {
		flex-direction: column;
	}

	header#header nav .contact address > div:first-child {
		padding-left: 0;
	}

	header#header nav .contact address > div:last-child {
		margin-left: 0; 
		margin-top: var(--offset-small);
	}
}
header#header nav .container .column.product > div {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto;
	gap: 10px;
}

header#header nav .container .column.product > div a {
	grid-column: 1;
}

header#header nav .container .column.product > div a:nth-child(n+5) {
	grid-column: 2;
}

header#header nav .container .column.product > div a:nth-child(5) { grid-row: 1; }
header#header nav .container .column.product > div a:nth-child(6) { grid-row: 2; }
header#header nav .container .column.product > div a:nth-child(7) { grid-row: 3; }
header#header nav .container .column.product > div a:nth-child(8) { grid-row: 4; }
header#header nav .container .column.product > div a:nth-child(9) { grid-row: 5; }


header#header nav .container .column.product > div a + a {
	margin-top: 0; 
}

/* Mobile */
@media screen and (max-width: 1023px) {
	header#header nav .container .column.product > div {
		grid-template-columns: 1fr;
	}
	
	header#header nav .container .column.product > div a {
		grid-column: 1;
	}
	
	header#header nav .container .column.product > div a:nth-child(n+5) {
		grid-column: 1;
	}
	
	header#header nav .container .column.product > div a:nth-child(5) { grid-row: 5; }
	header#header nav .container .column.product > div a:nth-child(6) { grid-row: 6; }
	header#header nav .container .column.product > div a:nth-child(7) { grid-row: 7; }
	header#header nav .container .column.product > div a:nth-child(8) { grid-row: 8; }
	header#header nav .container .column.product > div a:nth-child(9) { grid-row: 9; }
	
	header#header nav .container .column.product > div a {
		width: 100%;
	}

	header#header nav .container .column[data-size="2"] .column-container > div + div {
		margin-left: 0; 
		margin-top: 10px;
	}
}

header#header nav .main-column {
	width: var(--base);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--offset);
	align-items: flex-start;
	margin-top: calc(var(--offset) * 2);
}

header#header nav .main-column .column-container {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
	margin-top: var(--offset);
}

header#header nav .main-column div .main-column-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

header#header nav .main-column .container {
	--column-size: calc((100% - (var(--offset) * 2)) / 3);
	--column-single: 100%;
	--column-double: calc((100% - (var(--offset-small) * 1)) / 2);
	margin-top: var(--offset);
	max-width: var(--base);
	display: flex;
	align-items: stretch;
	justify-content: flex-start;
	flex-wrap: wrap;
}

header#header nav .container .column {
	width: var(--column-size); 
	margin-left: var(--offset);
	opacity: 0; 
}

header#header nav .container .column:nth-child(2n+1) {
	margin-left: 0;
}

header#header nav .main-column h3 {
	font-weight: 300;
	font-size: 32px;
	margin-bottom: 0;
}

header#header nav .main-column h3:after {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    position: relative;
    /*margin: -20px 0 0 -15px;*/
    margin: -40px 0 0 -25px;
    opacity: 0;
    animation: fade-in .3s forwards .4s;
    z-index: -1;
}

header#header nav .container .column[data-size="1"] .column-container > div { 
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

header#header nav .container .column[data-size="2"] .column-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 100%;
}

header#header nav .container .column[data-size="2"] .column-container > div {
	width: var(--column-double);
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

header#header nav .container .column h3:after {
	content: none;
}

header#header nav .container .column > div {
	margin-top: var(--offset-small);
}

header#header nav .container .column a {
	text-decoration: none;
	font-size: 16px;
	font-weight: 300;
	line-height: 20px;
	transition: all .15s;
	color: var(--color-text-medium);
	padding-left: 20px;
	position: relative;
}

header#header nav .container .column:not(.contact) a:before {
	position: absolute;
	margin-left: -15px;
	font-family: "Font Awesome 6 Pro";
	content: "\f105";
	text-decoration: none;
	color: var(--color-secondary);
}

header#header nav .container .column a:hover {
	color: var(--color-secondary);
	text-decoration: underline;
}

header#header nav .container .column a + a {
	margin-top: 10px;
}

header#header nav .container .column h3 {
	line-height: 28px;
	margin-top: 50px;
	margin-left: 0px;
}

header#header nav .container .column h3 a.nav-header {
	font-size: 24px;
	color: #666;
	font-style: italic;
	font-weight: 300;
	line-height: 28px;
	margin-left: -20px;
	color: var(--color-text-medium);
}

header#header nav .container .column h3 a.nav-header:before {
	content: " " !important;
}

/* ----------------- animations ----------------- */

header#header nav.active .container .column { animation: navigation-in .4s forwards; }
header#header nav.active .container .column:nth-child(1) { animation-delay: .4s }
header#header nav.active .container .column:nth-child(2) { animation-delay: .5s }
header#header nav.active .container .column:nth-child(3) { animation-delay: .6s }
header#header nav.active .container .column:nth-child(4) { animation-delay: .7s }
header#header nav.active .container .column:nth-child(5) { animation-delay: .8s }
header#header nav.active .container .column:nth-child(6) { animation-delay: .9s }

/* ----------------- cms ----------------- */

[data-interactive="1"] header#header nav .container { 
	flex-direction: column;
	margin-top: 0; 
}

[data-interactive="1"] header#header nav .container .column,
[data-interactive="1"] header#header nav .container .column > * { 
	width: 100%; 
	margin-left: 0;
}

[data-interactive="1"] header#header nav .container .column + div:not(.column) {
	margin-top: var(--offset-small);
}

[data-interactive="1"] header#header nav .container .column {
	opacity: 1;
	margin-top: 0;
}

/* ----------------- media queries ----------------- */

/* Tablet */
@media screen and (max-width: 1499px) {

	header#header nav .container {
		padding: 0 var(--offset); 
	}

	header#header nav .main-column {
		margin-top: var(--offset); 
		grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
		gap: var(--offset)
	}

	header#header nav .main-column div .main-column-container {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	}

	header#header nav .container .column[data-size="2"] .column-container {
		display: grid;
		grid-template-columns:  repeat(auto-fit, minmax(260px, 1fr));
		gap: var(--offset-small); 
	}

	header#header nav .container .column {
		margin-left: 0px;
	}
}

/* Mobile */
/* @media screen and (max-width: 1023px) {
	header#header nav .container { 
		--column-size: var(--base-mobile);
		--column-single: var(--base-mobile);
		--column-double: var(--base-mobile);
		flex-direction: column;
		width: var(--base-mobile);
		max-width: var(--base-mobile);
	}

	header#header nav .container .column,
	header#header nav .container .column[data-size="2"] .column-container > div + div
	{ 
		margin-left: 0; 
		width: 100%;
	}

	header#header nav .container .column + .column {
		margin-top: var(--offset);
	}

} */

header#header nav {
	top: 0;
	left: 0;
	position: fixed;
	background: rgba(255,255,255, 1);
	color: var(--color-text);
	height: 100vh; 
	width: 100%;
	overflow: hidden;
	padding: 34px 0 var(--offset) 0;
	display: none;
	opacity: 0;
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
	/*background-image: url(/e2/site/deberckelaer/content/site/image/beeldmerk.svg);
	background-repeat: no-repeat; 
	background-position: calc(100% - var(--offset)) calc(100% - var(--offset));*/
}

header#header nav .scroll {
	justify-content: flex-start;
	flex-direction: column;
	align-items: center;
}

header#header nav.active {
	display: flex;
	animation: navigation-in .25s forwards;
	z-index: var(--z-index-navigation)
}

header#header nav figure {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 122px;
	height: 122px;
	margin-left: auto;
	margin-right: auto;
}

header#header nav figure a {
	opacity: 0;
}

header#header nav figure img {
	width: 230px;
	height: 75px;
}

header#header nav.active figure a {
	animation: logo-in .25s forwards .15s;
}

header#header nav h4 {
	font-family: var(--font-family-header);
	margin-top: var(--offset);
	font-size: 60px;
	line-height: 50px;
	font-weight: 700;
	text-transform: lowercase;
	color: var(--color-text-soft); 
	opacity: .3;
	text-align: center;
}

header#header nav a[href="#close"] { 
	position: fixed;
	top: 74px;
	right: var(--offset);
	font-size: 12px;
	color: var(--color-text-medium);
	font-weight: 700;
	text-decoration: none;
	display: flex;
	align-items: center;
	transition: all .25s;
	height: 40px;
	z-index: 100;
}

header#header nav a[href="#close"] span {
	font-size: 24px;
	color: var(--color-secondary);
	margin-left: 10px;
}

header#header nav a[href="#close"]:hover {
	color: var(--color-secondary);
}

[data-interactive="1"] header#header nav {
	position: relative;
	height: auto;
	padding: var(--offset);
	opacity: 1;
	display: flex;
}

[data-interactive="1"] header#header nav a[href="#close"] { display: none; }
[data-interactive="1"] header#header nav figure { display: none; }
[data-interactive="1"] header#header nav .main-column {margin-top: 0;}

/* ---------- media query ---------- */

/* Mobile */
@media screen and (max-width: 1499px) {


	header#header nav .scroll {
		width: 100%;
		overflow-y: scroll;
	}

	header#header nav h4 {
		text-align: center;
	}

	header#header nav figure,
	header#header nav figure a {
		width: auto;
		height: auto;
		position: relative;
	}

	header#header nav figure img {
		width: auto;
		height: auto; 
		max-width: 150px;
		min-width: 150px;
	}
}
footer address .socialmedia ul {
	display: flex;
	flex-direction: column;
}

footer address .socialmedia ul li + li {
	margin-top: 5px;

}

footer address .socialmedia ul li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	color: var(--link-color);
	background: rgba(255,255,255,.2);
	border-radius: 50%;
	padding-left: 0;
	transition: all .25s;
}

footer address .socialmedia ul li a:hover {
	color: #fff;
	background: rgba(255,255,255,.2);
}

footer address .socialmedia ul li a:before {
	display: none;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	footer address .socialmedia ul {
		flex-direction: row;
	}

	footer address .socialmedia ul li + li {
		margin-top: 0;
		margin-left: 5px;
	}
}

footer address {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: calc((var(--column) * 5) + (var(--offset) * 4));
	flex-wrap: wrap;
	
}

footer h6 {
	width: 100%;
}

footer address > div {
	display: flex;
	flex-direction: column;	
	color: var(--link-color);
}

footer address > div + div  {
	margin-left: var(--offset);
}

footer address > div + div a {
	padding-left: 15px;
}

footer address > div + div a:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f105";
	color: var(--color-secondary);
	position: absolute; 
	margin-left: -15px;
} 

/* Mobile */
@media screen and (max-width: 1023px) {
	footer address {
		width: 100%;
		flex-direction: column;
	}

	footer address > div { width: 100%; }

	footer address > div + div  {
		margin-left: 0; 
		margin-top: var(--offset);
	}

	footer address > div + div a {
		padding-left: 0;
	}
}
footer .prefooter .column {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: row;
	flex-wrap: wrap;
}

footer .prefooter .column h6, 
footer .prefooter address h6 {
	font-size: 24px;
	line-height: 38px;
	margin-bottom: 20px;
	width: 100%;
}

footer .prefooter .column a {
	padding: 5px 0 5px 12px;

	transition: all .25s;
	line-height: 24px;
	color: var(--color-text-soft);
}

footer .prefooter .column > div:not(.container),
footer .prefooter .column > .container > div {
	display: flex;
	flex: 1 0 50%;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

footer .prefooter .column .container {
	display: grid;
	grid-template-columns: auto auto;
	gap: var(--offset-small)
}

footer .prefooter .column a:hover:before {
	color: #fff;
}

footer .prefooter .column:last-child > div:not(.container) {
	width: calc(50% - (var(--offset)/ 2)); 
}

footer .prefooter .column a:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f105";
	margin-left: -12px;
	margin-right: 5px;
	text-decoration: none;
	color: var(--color-secondary);
}

@media screen and (max-width: 1023px) {
	footer .prefooter .column .container {
		width: 100%;
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	}
}
footer .logos {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	width: calc(var(--product-col) + var(--link-col) + var(--offset));
	margin-right:var(--offset);
}

footer .logos h6{
	color: #fff;
}

footer .logos img {
	max-height:100%;
	max-width: 100%;
	filter: invert(100%) grayscale(100%);
	transition: all .2s;
	opacity: .8
}

footer .logos figure:hover img {
	opacity: 1;
}

footer .logos figure {
	width: calc(var(--column) * 1);
	max-height: 70px;
}

footer .logos figure + figure {
	margin-left: var(--offset-smal);
}

/* Mobile */
@media screen and (max-width: 1023px) {
	footer .logos {
		width: 100%;
		margin-right: 0; 
	}

	footer .logos figure {
		min-width: 150px;
		height: 80px;
		text-align: left;
		padding: 15px;
	}

	footer .logos h6 {
		margin-bottom: var(--offset-small);
	}
}
footer .bottom .kiyoh iframe {
	width: 200px;
	height: 80px;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	footer .bottom .kiyoh {
		padding: var(--offset-small) 0;
	}

	footer .bottom .kiyoh iframe {
		width: 100%;
		max-width: 300px;
		height: 80px;
	}
}

footer .wrapper {
	/*--link-color: var(--color-section-gray);*/
	--link-color: #dbdbdb;
	--col-1: calc((var(--column) * 2) + (var(--offset) * 1.5));
	--col-2: calc((var(--column) * 2) + (var(--offset) * 1.5));
	--col-3: calc((var(--column) * 3) + (var(--offset) * 1.5));
	--col-4: calc((var(--column) * 5) + (var(--offset) * 2));
	color: #fff;
	font-size: 14px;
	line-height: 24px;
	font-weight: 400;
}

footer .prefooter {
	padding: var(--offset-large) 0;
	background: var(--color-text);
}

footer .wrapper a {
	text-decoration: none;
	color: var(--link-color);
	display: inline-block;
}

footer .wrapper a:hover {
	color: #fff;
}

footer .bottom .wrapper a {
	text-decoration: underline;
	color: var(--link-color);
	display: inline-block;
}

footer .bottom .wrapper a:hover {
	color: var(--color-primary);
}

footer .prefooter .wrapper {
	display: grid; 
	grid-template-columns: var(--col-1) var(--col-2) var(--col-3) var(--col-4);
	gap: var(--offset);
	align-items: flex-start;
}

footer .prefooter .wrapper,
footer .bottom .wrapper {
	width: var(--base);
	margin-left: auto;
	margin-right: auto;
}

footer .bottom {
	Background: #fff;
	padding: var(--offset-medium) 0;
}

footer .prefooter .wrapper address div.address {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--offset);
	align-items: flex-start;
}

footer .prefooter .wrapper address p {
	font-size: 14px;
}

footer .prefooter .wrapper address div.address span {
	color: var(--color-secondary);
	font-size: 16px;
	font-weight: 300;
	margin-right:5px;
}

footer .prefooter .wrapper address a {
	text-decoration: underline;
}

footer .prefooter .wrapper address div.address span.empty-icon {
	width: 10.5px;
	display: inline-block;
}

footer .bottom .wrapper {
	/*margin-top: var(--offset);*/
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	line-height: 20px;
	color: var(--link-color);
}

footer .bottom .wrapper p {
	font-size: 12px;
	line-height: 20px;
}

footer .bottom .wrapper div:last-child {
	text-align: right;
}

footer .bottom .wrapper div:last-child a + a {
	margin-left: var(--offset-medium);
}

/* Tablet */
@media screen and (max-width: 1499px) {
	footer .prefooter .wrapper {
		grid-template-columns: 1fr 1fr 1fr;
	}
	
	footer .prefooter .wrapper address {
		grid-column: 1 / -1;
		width: 100%;
	}

	footer .prefooter .wrapper address div.address {
		grid-template-columns: 1fr auto;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	footer .wrapper {
		--col-1: 100%;
		--col-2: 100%;
		--col-3: 100%;
		--col-4: 100%;
	}

	footer .wrapper {
		padding: 0 calc(var(--offset));
	}

	footer .prefooter .wrapper,
	footer .prefooter .wrapper address div.address {
		grid-template-columns: 1fr;
	}

	footer .wrapper .prefooter,
	footer .wrapper .bottom {
		width: var(--base-mobile);
	}

	footer .bottom .wrapper {
		flex-direction: column;
		align-items: flex-start;
	}

	footer .bottom .wrapper div:last-child {
		text-align: left;
		margin-top: var(--offset-small);
	}
}

section.hero .navigation {
	--size: 8px;
	--active-size: 12px;
	--spacing: calc(var(--offset-small) / 2); 
	position: absolute;
	right: var(--offset);
	color: #FFF;
	margin-top: calc((var(--height) / 2) * -1);
}

section.hero .navigation,
section.hero .navigation .swiper-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

section.hero .navigation > * + *,
section.hero .navigation .swiper-pagination-bullet + span {
	margin-top: var(--spacing); 
}

section.hero .navigation .swiper-pagination {
	position: relative;
}

section.hero .navigation .swiper-pagination-bullet {
	background: rgba(255,255,255,.5);
	width: var(--size); 
	height: var(--size); 
	border: 0; 
	border-radius: 50%;
	opacity: 1;
}

section.hero .navigation span:hover {
	color: rgba(255,255,255,1);
}

section.hero .navigation a, 
section.hero .navigation .swiper-pagination-bullet {
	transition: all .2s; 
	z-index: 100;
} 

section.hero .navigation a {
	color: rgba(255,255,255,.5);
}

section.hero .navigation a:hover {
	color: var(--color-primary);
}

section.hero .navigation .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--color-primary);
	width: var(--active-size); 
	height: var(--active-size); 
}

section.hero .navigation > a[href="#next"]
section.hero .swiper-container .item {
	opacity: 0;
}

section.hero .swiper-container .item .overlay .content {
	opacity: 0;
	margin-top: calc(var(--offset) * -1);
}

section.hero .swiper-container .item.swiper-slide-active {
	animation: fade-in .3s forwards .1s; 
}

section.hero .swiper-container .item.swiper-slide-active .overlay .content {
	animation: hero-content-in .4s forwards .4s;
}

section.hero .swiper-container .item.swiper-slide-next .overlay .content,
section.hero .swiper-container .item.swiper-slide-prev .overlay .content {
	animation: hero-content-out .4s forwards;
}

@keyframes hero-content-in{
	0% {
		opacity: 0;
		margin-top: calc(var(--offset) * -1);
	}

	100% {
		opacity: 1; 
		margin-top: 0;
	}
}

@keyframes hero-content-out {

	0% {
		opacity: 1; 
		margin-top: 0;
	}
	
	100% {
		opacity: 0;
		margin-top: calc(var(--offset) * -1);
	}

}
section.hero .swiper-container .item.video .player,
section.hero .swiper-container .item.video .overlay {
	height: var(--height);
	min-height: var(--min-height); 
	width: 100%;
}

section.hero .swiper-container .item.video .overlay {
	position: absolute;
	z-index: 100;
}

section.hero {
	--height: 70vh; 
	--min-height: 600px;
	--font-size: 18px;
	--line-height: 30px;
}

section.hero {
	background: var(--color-secondary);
	padding-bottom: 186px;
}

section.hero:after {
	display: block; 
	content: "";
	height: 186px;
	background-position: 50% 0%;
	background-repeat: no-repeat;
	/*background-image: url(/e2/site/wortelboer/content/site/image/hero_wave.png);*/
	z-index: 100;
	position: absolute;
	width: 100%;

}

section.hero,
section.hero .swiper-container,
section.hero .swiper-container .item {
	height: var(--height);
	min-height: var(--height);
}

section.hero .swiper-container .item {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	color: #FFF;
	display: flex;
	justify-content: center;
	align-items: stretch;
	opacity: 0;
}

section.hero .swiper-container .item .overlay {
	background: linear-gradient(to bottom, rgba(1,2,2,.3) 50%, rgba(1,2,2,1) 100%);
	width: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
}

section.hero .swiper-container .item .overlay .content {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	height: 100%;
	width: var(--base);
}

section.hero .swiper-container .item .overlay .content[data-align="right"] {
	justify-content: flex-end;
}

section.hero .swiper-container .item .overlay .content article {
	width: calc((100% / 2) - var(--offset));
}

/* ----------------- media queries ----------------- */

/* Tablet */
@media screen and (max-width: 1190px) {

}

/* Mobile */
@media screen and (max-width: 1023px) {

	section.hero {
		--min-height: auto;
		--height: 60vh;
	}

	section.hero .swiper-container .item .overlay .content {
		justify-content: center;
		align-items: flex-end;
	}

	section.hero .swiper-container .item .overlay .content article {
		width: calc(100% - (var(--offset) * 2));
	}

	section.hero .swiper-container .item .overlay .content article p {
		display: none;
	}
}

/* ----------------- cms ----------------- */

[data-interactive="1"] section.hero .swiper-container, 
[data-interactive="1"] section.hero .swiper-container .swiper-wrapper {
	overflow: initial;
}

[data-interactive="1"] section.hero,
[data-interactive="1"] section.hero .swiper-container, 
[data-interactive="1"] section.hero .swiper-container .swiper-wrapper, 
[data-interactive="1"] section.hero .swiper-container .item { 
	height: auto; 
	min-height: 30vh; 
	display: block;
	opacity: 1; 
	animation: none;
}

[data-interactive="1"] section.hero .swiper-container .item .overlay .content {
	opacity: 1;
	animation: none;
	margin-top: 0;
	padding: 20px 0;
}

[data-interactive="1"] section.hero { padding: 0 20px; }
[data-interactive="1"] section.hero .swiper-container .item { margin-top: 15px; }

.button.icon,
.button.icon:hover {
	--height: 30px;
	background: none;
	box-shadow: none;
	padding-left: 35px;
}

.button.icon:before {
	width: 30px;
	height: 30px;
	display: flex; 
	align-items: center;
	justify-content: center;
	background: rgba(255,255,255,1);
	color: var(--color-primary);
	margin-left: -35px;
	box-shadow: 0px 0px 5px rgba(0,0,0,.2);
	border-radius: 50%;
}

.button.icon:hover {
	color: var(--color-secondary);
}

.button.icon:hover:before {
	margin-left: -35px;
	background-color: var(--color-secondary); 
	color: #FFF;
	box-shadow: 0px 0px 10px rgba(0,0,0,.4);
}
.button-container {
	--height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

.button-container > a + a {
	margin: 0;
	border-radius: 0
}

.button-container > a:first-child {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.button-container > a:last-child {
	border-top-right-radius: var(--border-radius);
	border-bottom-right-radius:var(--border-radius);
}

/* Tablet */
@media screen and (max-width: 1190px) {

}

/* Mobile */
@media screen and (max-width: 1023px) {
	.button-container {
		flex-direction: column;
		align-items: flex-start;
	}

	.button-container > a,
	.button-container > a:first-child,
	.button-container > a:last-child   {
		border-radius: var(--border-radius);
	}

	.button-container > a + a {
		margin-top: 10px;
	}
}

.button,
button[type="submit"],
.button-container a {
	--height: 50px;
	--border-radius: calc(var(--height) / 2);
	display: inline-flex;
	justify-content: flex-start;
	align-items: center;
	padding: calc((var(--height) - var(--line-height)) /2) var(--offset-small);
	padding-left: 35px;
	text-decoration: none;
	color: var(--color-text);
	transition: all var(--transition-speed); 
	font-weight: 700;
	/*text-transform: uppercase;*/
	font-size: 14px;
	font-family: var(--font-family);
	border-radius: var(--border-radius); 
	/*box-shadow: 0 10px 10px rgba(0,0,0,.2);*/
	border: 0; 
	cursor: pointer;
}

.button:before,
button[type="submit"]:before,
.button-container a:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f105";
	margin-left: 0px;
	text-decoration: none;
	color: var(--link-color);
	position: absolute;
	margin-left: -15px;	
	font-weight: 400;
	transition: all .15s;
}

.button.case,
button[type="submit"].case,
.button-container.case a {
	text-transform: none;
}

.button[data-size="small"],
button[data-size="small"][type="submit"],
.button-container a[data-size="small"] {
	--height: 36px;
	padding-left: 30px;
	padding-right: var(--offset-small);
	font-size: 14px;
}

.button:hover,
.button-container a:hover {
	border-color: #fff;
	background:#fff;
	color: var(--color-primary);
	/*box-shadow: 0 5px 10px rgba(0,0,0,.4);*/
}

.button:hover:before,
button[type="submit"]:hover:before,
.button-container a:hover:before{
	margin-left: -12px;
}

.button[data-color="yellow"],
.button-container[data-color="yellow"] a {
	background: var(--color-primary); 
	color: #FFF;
}

.button[data-color="red"],
.button-container[data-color="red"] a {
	background: var(--color-secondary); 
	color: #FFF; 
}

.button[data-color="black"],
.button-container[data-color="black"] a {
	background: var(--color-black);
	color: #FFF;
}

.button[data-color="black"]:hover,
.button-container[data-color="black"] a:hover,
.button[data-color="yellow"]:hover,
.button-container[data-color="yellow"] a:hover,
.button[data-color="red"]:hover,
.button-container[data-color="red"] a:hover,
.button[data-color="white"]:hover,
.button-container[data-color="white"] a:hover,
.button[data-color="green"]:hover,
.button-container[data-color="green"] a:hover,
.button[data-color="active-green"]:hover,
.button-container[data-color="active-green"] a:hover {
	border-color: var(--color-black); 
	color: #FFF; 
	background: var(--color-black); 
}


/* ----------------- white ----------------- */

.button[data-color="white"],
.button-container[data-color="white"] a {
	background: #FFF; 
	color: var(--color-text); 
}

.button[data-color="white"]:before,
.button-container a[data-color="white"]:before {
	color: var(--color-primary);
}

/* ----------------- green ----------------- */

.button[data-color="green"],
.button-container[data-color="green"] a {
	background: var(--color-green); 
	color: #fff; 
}

.button[data-color="green"]:before,
.button-container a[data-color="green"]:before {
	color: #fff;
}


.button[data-color="bordeaux"],
.button-container[data-color="bordeaux"] a {
	background: var(--color-bordeaux); 
	color: #fff; 
}

.button[data-color="bordeaux"]:before,
.button-container a[data-color="bordeaux"]:before {
	color: #fff;
}

/* ----------------- active-green ----------------- */

.button[data-color="active-green"],
.button-container[data-color="active-green"] a {
	background: var(--color-active-green);
	color: #fff;
}

.button[data-color="green"]:before,
.button-container a[data-color="green"]:before {
	color: #fff;
}

/* ----------------- submit ----------------- */

button[type="submit"] {
	background: var(--color-primary); 
	color: #FFF; 
	min-height: var(--height); 
}

button[type="submit"]:hover {
	background-color: var(--color-green);
	color: #FFF;
}
.text .box {
	padding: var(--offset-small); 
	background: rgba(255,255,255,.1);
}

.text .box[data-color="light-red"] {
	color: #fff;
	background: var(--color-primary);
}

.text .box[data-color="black"] { 
	color: #fff;
	background: var(--color-secondary);
}

.text .box[data-color="gray"] { 
	background: var(--color-section-gray);
}

.text .box[data-color="bordeaux"] {
    background: var(--color-bordeaux);
}
.text .uspbox {
	padding: var(--offset-large);
	background: rgba(255,255,255,.2);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position:absolute;
	width: 75%;
	left: 0;
	margin-bottom: calc(var(--offset-large) * 3);
}

.text .uspbox div.uspcolumn {
	display: grid;
	grid-template-columns: auto auto;
	text-align: left;
	justify-items: center;
}

.text .uspbox div.uspcolumn div {
	justify-items: center;
	vertical-align: middle;
}

.text .uspbox div.uspcolumn:first-child {
	margin-left: 10%;
}

/*.text .uspbox div.uspcolumn:last-child {
	margin-right: 10%;
}*/

.text .uspbox i.icon-background {
	color: var(--color-secondary);
	background: #fff;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    text-align: center;
    line-height: 25px;
    font-size: 32px;
    vertical-align: middle;
    padding-top: 12px;
    margin-right: 10px;
    margin-top: 5px;
}

.text .uspbox {
	font-family: var(--font-family-header);
	font-size: 24px;
	line-height: 24px;
	font-weight: 500;

}

.text .uspbox span {
	font-family: var(--font-family);
	font-size: 14px;
	line-height: 24px;
	font-weight: 300;
	font-style: italic;
	display: block;
	padding-left: var(--offset-small);
	color: var(--color-text-medium);
}

.text .uspbox[data-color="lightred"] {
	color: var(--color-text);
	background: #fcdcd0;
}

.text .uspbox[data-color="black"] {
	color: #fff;
	background: var(--color-secondary);
}

.text .uspbox[data-color="gray"] {
	background: var(--color-section-gray);
}

.text .uspbox[data-color="bordeaux"] {
    background: var(--color-bordeaux);
}

@media screen and (max-width: 1499px) {
	.text .uspbox div.uspcolumn:first-child {
		margin-left: 0%;
	}

	.text .uspbox i.icon-background {
		width: 30px;
		height: 30px;
		line-height: 25px;
		font-size: 18px;
		padding-top:3px;
		margin-right: 5px;
	}

	.text .uspbox {
		font-size: 18px;
		line-height: 18px;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	.text .uspbox {
		display: grid; 
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
		gap: var(--offset);
		padding: var(--offset);  
		justify-content: center;
		position: relative;
		width: 100%;
		margin-bottom: 0; 
	
	}
	.text .uspbox div.uspcolumn:first-child {
		margin-left: 0%;
	}

	.text .uspbox div.uspcolumn {
		grid-template-columns: auto 1fr;
		justify-items: start;
	}
}
.text blockquote {
	font-family: var(--font-family-secondary);
	padding: 5px var(--offset-small);
	border-left: 3px solid var(--color-primary);
	font-size: 18px;
	line-height: 28px;
	font-weight: 700;
	max-width: calc((var(--column) * 4) + (var(--offset) * 3));
}

/* Mobile */
@media screen and (max-width: 1023px) {
	.text blockquote {
		width: 100%;
		max-width: 100%;
	}
}
.text .address {
	display: flex;
	justify-content: space-between;
}

.text .address > div {
	width: calc(100% - (var(--offset) / 2));
	display: flex;
	flex-direction: column; 
}

.text .address > div a {
	text-decoration: none;
}

.text .address > div a span  {
	color: var(--color-primary);
}

.text .address > div:first-child {
	padding-left: 20px;
}

.text .address > div:first-child > span:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f3c5";
	color: var(--color-primary);
	position: absolute; 
	margin-left: -20px;
	display: block;
}
.text .search.results {
	margin-top: var(--line-height);
}

.text .search.results article + article,
.text .search.results article + .search-image,  
.text .search.results .search-image + .search-image {
	margin-top: var(--offset)

}

.text .search.results article header h4 {
	font-weight: 700;
}

.text .search.results article header h4 span {
	display: block;
	color: var(--color-primary);
}

.text .search.results article p {
	font-size: 14px;
	line-height: 24px;
}

.text .search.results article .button {
	margin-top: calc(var(--line-height) / 2);
}

.text .search.results .search-image {
	display: flex;
}

.text .search.results .search-image article {
	width: 100%; 
}

.text .search.results .search-image figure {
	width: 150px;
	height: 150px;
	margin-right: var(--offset-small);
	text-align: center;
}

.text .search.results .search-image figure + article {
	width: calc(100% - (150px + var(--offset-small)));
}

.text .search.results .search-image figure img {
	max-width: 100%;
	max-height: 100%;
	border-radius: 5px;
}
.text .notice {
	background: var(--color-notice); 
	padding: var(--offset-small);
	display: flex;
	justify-content: flex-start;
	align-items: center;
	border-radius: var(--offset-small);
}

.text .notice[data-type="error"] {
	background: #ff9776; 
}

.text .notice > span {
	margin-right: var(--offset-small); 
	font-size: 40px;
	color: #000;
	opacity: .5;
}
.text .bureaus {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.text .bureaus figure {
	width: 100px;
}

.text .bureaus figure img {
	max-width: 100%;
}

.text .bureaus div {
	width: calc(100% - 130px);
}

div.datasheet h4 {
	font-size: 24px;
	font-weight: 700;
	margin-bottom: var(--line-height);
}

div.datasheet h3 {
	font-size: 18px;

}

div.datasheet div {
	padding: 0 0 0 80px;
} 

div.datasheet div:before {
	position: absolute;
	width: 60px;
	height: 60px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 30px;
	color: var(--color-primary);
	font-family: "Font Awesome 6 Pro";
	margin-left: -80px;
	content: "\f65b"; 
	background: #FFF;
	border-radius: 50%;
	box-shadow: 0 0 15px rgba(0,0,0,.2);
}

div.datasheet a {
	text-decoration: none;
}

div.datasheet a span {
	color: var(--color-primary); 
}

div.datasheet + div.datasheet {
	margin-top: var(--offset);
}

/* Mobile */
@media screen and (max-width: 1023px) {
	div.datasheet div {
		padding: 0 0 0 80px;
	} 

	div.datasheet div:before {
		font-size: 18px;
		width: 40px;
		height: 40px;
		margin-left: -60px;
	}
}
div.googlemaps .map {
	height: 350px;
	width: 100%;
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
div.brochure {
	display: grid;
	grid-template-columns: 180px auto;
	grid-template-rows: var(--offset-small) auto var(--offset-small);
	gap: var(--offset); 
	align-items: center;
}

div.brochure .summary {
	grid-column: 2;
	grid-row: 2;
}

div.brochure .image {
	grid-column:1;
	grid-row: 1 / -1;
	position: relative;
	justify-self: center;

}

div.brochure .image figure {
	z-index: 100;
	top: 0;
	height: 100%;
	width: 100%;
}

/* ---------- lipstick ---------- */

div.brochure .image figure,
div.brochure .summary {
	opacity: 0;
	transition: all var(--transition-speed);
}

div.brochure.viewable .image figure {
	animation: brochure-figure-in .6s forwards ease-in-out .2s; 
}

div.brochure.viewable .summary {
	animation: fade-in .3s forwards ease-in-out .5s; 
}

div.brochure .image figure {
	transform: rotate(-5deg) scale(.8); 
	font-size: 0; 
	line-height: 0;
}


div.brochure .image figure img {
	max-width: 100%;
	box-shadow: 5px 5px 15px rgba(0,0,0,.1);
}

div.brochure .summary article header {
	line-height: 28px;
}

div.brochure .summary article header span {
	display: block; 
	color: var(--color-text-medium);
	font-family: var(--font-family-header);
	font-style: italic; 
	font-size: 18px;
	font-weight: 400;
	margin-left: 15px;
}

div.brochure .summary article > * + * {
	margin-top: 10px; 
}

div.brochure .summary article h4 {}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {
	div.brochure {
		grid-template-columns: 100px auto;
		grid-template-rows: auto;
		align-items: start;
	}
	div.brochure .image,
	div.brochure .summary {
		grid-row: 1;
	}
	

}

@keyframes brochure-figure-in {
	0% {
		transform: rotate(-15deg) scale(.6);
		opacity: 0;
	}


	20% {
		transform: rotate(15deg) scale(.6);
		opacity: 1;
	}


	100% {
		transform: rotate(-5deg) scale(1);
		opacity: 1;
	}
}

*[data-text-align="center"] {
    text-align: center;
}
*[data-text-align=""],
*[data-text-align="left"] {
    text-align: left;
}

*[data-text-align="right"] {
    text-align: right;
}

.text[data-text-size="small"],
.text[data-text-size="small"] p {
	--font-size: 14px;
	--line-height: 24px;
	font-size: var(--font-size); 
	line-height: var(--line-height);
}

.text > * + *,
[data-interactive="1"] .text p + p {
	margin-top: var(--line-height); 
}

.text ul {}
.text ul li {
	padding-left: 30px;
}
.text ul li:before {
	font-family: "Font Awesome 6 Pro";
	content: "\f105";
	color: var(--color-primary);
	position: absolute; 
	margin-left: -20px;
}

.text .text-column {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.text .text-column div {
	width: calc((100% - (var(--offset) * 1)) / 2);
	margin-top: 0;
}

.text figure img {
	max-width: 100%;
}

.text .smalltext, .text .smalltext p {
	font-size: calc(var(--font-size) / 1.5);
	line-height: calc(var(--line-height) / 1.5);
}

.media.image[data-type="image-with-text"] {
	position: relative;
}

.media.image[data-type="image"] .textbox { display: none; }

.media.image[data-type="image-with-text"] .textbox {
	display: block;
	position: absolute;
	bottom: calc(var(--offset-small) * -1);
	left: calc(var(--offset-small));
	max-width:350px;
}

.media.image[data-type="image-with-text"] .textbox {
	padding: calc(var(--offset-small) / 2);
	background: var(--color-text);
	color: var(--color-white);
	font-size: 24px;
	line-height: 24px;
	font-weight: 700;
}

.media.image[data-type="image-with-text"] .textbox[data-color="yellow"] {
	background: var(--color-primary);
	color: #FFF;
}

.media.image[data-type="image-with-text"] .textbox[data-color="red"] {
	background: var(--color-secondary);
	color: #FFF;
}

.media.image[data-type="image-with-text"] .textbox[data-color="bordeaux"] {
    background: var(--color-bordeaux);
    color: #FFF;
}

.media.image[data-type="image-with-text"] .textbox[data-color="black"] {
	background: var(--color-black);
	color: #FFF;
}

.media.image[data-type="image-with-text"] .textbox[data-color="white"] {
	background: #FFF;
	color: var(--color-text);
}

.media.image[data-type="image-with-text"] .textbox[data-color="green"] {
	background: var(--color-green);
	color: #fff;
}

.media.image[data-type="image-with-text"] .textbox span {
	font-size: 14px;
	line-height: 24px;
	font-weight: 300;
	font-style: italic;
	margin-left: 20px;
	display: block;
}

ol.alv li {
	list-style-type: none;
}

ol.alv li ol li {
	padding-left: 20px;
	margin-left: 20px;
	list-style-type: decimal;
}

ol.alv li strong {
	padding-top: 20px;
	margin-top: 20px;
	display: inline-block;
}

ol.alv li ol li ul li {
	list-style-type: none;
}
section.branches {
	--min-height: 324px;
	background: #FFF;
	min-height: var(--min-height);
}

section.branches .wrapper {
	display: grid; 
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-gap: var(--offset); 
	align-content: stretch;
	position: absolute;
	left: calc((50% - (var(--base) / 2)));
	margin-top: calc((var(--min-height) / 2) * -1);
	z-index: 100;
}

section.branches .branche {
	flex-direction: column;
	background: linear-gradient(130deg, rgba(184,11,17,1) 0%, rgba(109,6,10,1) 100%);
	color: #FFF;
	border-radius: var(--offset-small); 
	transition: all .25s;
	opacity: 0;
	margin-top: -60px;
}

section.branches .branche .text {
	padding: var(--offset) var(--offset-small); 
	height: 100%;
}

section.branches .branche .text header + p {
	margin-top: 0;
	font-size: 14px; 
	line-height: 24px;
}

section.branches .branche .action {
	width: 100%;
	display: flex;
	justify-content: center;
}

section.branches .branche .button {
	position: absolute;
	z-index: 1;
	margin-top: -25px;
}

[data-interactive="1"] section.branches .branche {
	opacity: 1;
	margin-top: 0px;
	animation: none;
}

/* --------------- animations --------------- */

section.branches.viewable .branche {
	animation: fade-in .3s forwards, branche-in .3s forwards; 
	
}

section.branches.viewable .branche:nth-child(2) { animation-delay: .1s }
section.branches.viewable .branche:nth-child(3) { animation-delay: .2s }
section.branches.viewable .branche:nth-child(4) { animation-delay: .3s }

@keyframes branche-in {
	0% {
		margin-top: -30px;
	}

	50% {
		margin-top: 20px;
	}

	100% {
		margin-top: 0;
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	section.branches .wrapper {
		position: relative;
		grid-template-columns: 1fr;
		margin-top: var(--offset);
	}

	section.branches .branche {
		margin-top: 0;
	}

	section.branches .branche + .branche {
		margin-top: var(--offset);
	}

	section.branches.viewable .branche {
		animation: none;
		animation: fade-in .3s forwards; 
		
	}
}

section.introduction {
	--width-card: var(--grid-4);
}

section.introduction .wrapper:last-child {
	margin-top: var(--offset);
	display: grid; 
	gap: var(--offset); 
	grid-template-columns: repeat(3,var(--width-card));
}

section.introduction .card {
	display: grid; 
	grid-template-columns: 1fr var(--offset-small);
	grid-template-rows: 320px auto;
	place-items: start;
}

section.introduction .card .logo {
	grid-column: 1 / 3;
	grid-row: 1;
	margin-top: var(--offset); 
	z-index: 100;
}

section.introduction .card .content {
	grid-column: 1;
	grid-row: 2; 
	display: grid;
	grid-template-columns: auto 1fr;
	place-items: end start;
	width: 100%;
}

section.introduction .card figure {
	height: 100%;
	display: inline-block;
	grid-column: 1;
	grid-row: 1;
	z-index: 10;
}


/* ---------- lipstick ---------- */

section.introduction .card {
	cursor: pointer;
}

section.introduction .card .content {
	padding: 10px var(--offset-small);
}

section.introduction .card figure img {
	max-width: 100%;
}

section.introduction .card .logo {
	max-width: 205px;
	background: #fff;
	vertical-align: middle;
	text-align: center;
	max-height: auto;
	justify-self: end;
}

section.introduction .card .logo img {
	max-width: 100%;
	
	vertical-align: middle;
}


section.introduction .card .content h3 {
	font-family: var(--font-family-header);
	font-size: 30px;
	line-height: 34px;
	font-weight: 700;
	word-break: break-word;
	margin-bottom: 0; 
}

section.introduction .card .content h3 span {
	font-family: var(--font-family-header);
	color: var(--color-text-medium);
	font-size: 18px;
	line-height: 18px;
	font-weight: 300;
	display: block;
	font-style: italic;
	margin-left: 18px;
}

section.introduction .card .content div:last-child {
	justify-self: end;
}


section.introduction .card .readmore {
	margin-top: 0;
}

section.introduction .card figure, 
section.introduction .card .content, 
section.introduction .card .logo {
	opacity: 0;
}

[data-interactive="1"] section.introduction .card figure,  
[data-interactive="1"] section.introduction .card .content,  
[data-interactive="1"] section.introduction .card .logo {
	opacity: 1;
	animation: none;
}

/* --------------- animations --------------- */

section.introduction.viewable .card .content, 
section.introduction.viewable .card .logo {
	animation: fade-in .2s forwards;
}

section.introduction.viewable .card figure {
	animation: card-figure-in .2s forwards;
}

section.introduction.viewable .card:nth-child(4) figure { animation-delay: .6s } 
section.introduction.viewable .card:nth-child(4) .content { animation-delay: .8s }
section.introduction.viewable .card:nth-child(4) .logo { animation-delay: .8s }

section.introduction.viewable .card:nth-child(3) figure { animation-delay: .8s } 
section.introduction.viewable .card:nth-child(3) .content { animation-delay: 1s }
section.introduction.viewable .card:nth-child(3) .button { animation-delay: 1s }

section.introduction.viewable .card:nth-child(2) figure { animation-delay: 1s } 
section.introduction.viewable .card:nth-child(2) .content { animation-delay: 1.2s }
section.introduction.viewable .card:nth-child(2) .button { animation-delay: 1.2s }

section.introduction.viewable .card:nth-child(1) figure { animation-delay: 1.2s } 
section.introduction.viewable .card:nth-child(1) .content { animation-delay: 1.4s }
section.introduction.viewable .card:nth-child(1) .button { animation-delay: 1.4s }

@keyframes card-figure-in {
	0% {
		opacity: 0;
		margin-left: 20px;
	}

	50% {
		transform: scale(1.2); 
	}

	100% {
		opacity: 1;
		margin-left: 0;
	}
}

/* Mobile */
@media screen and (max-width: 1499px) {

	section.introduction .card {
		grid-template-rows: 1fr auto;
	}

	section.introduction .card .content {
		grid-template-columns: 1fr;
	}

	section.introduction .card .content div:last-child {
		justify-self: start;
		padding-left: 18px;
	}

	section.introduction .card .logo img {
		max-width: 130px;
	}	

	section.introduction .card .content h3 {
		font-size: 24px;
	}

	section.introduction .card .content h3 span {
		font-size: 16px;
	}
}

@keyframes card-figure-in-mobile {
	0% {
		opacity: 0;
		margin-left: -50px;
	}

	50% {
		transform: scale(1.2); 
	}

	100% {
		opacity: 1;
		margin-left: -70px;
	}
}

section.introduction {
	background: linear-gradient(180deg, var(--color-section-gray) 70%, white 30%);
}

section.introduction .wrapper:first-child {
	display: grid;
	grid-gap: var(--offset);
	grid-template-columns: 1fr 2fr 1fr;
	grid-template-areas: ". article .";
	place-items: center;
	width: var(--base);
	padding-top: var(--offset-top);
}

section.introduction .wrapper article {
	grid-area: article;
}

section.introduction .media, 
section.introduction article.intro,
section.introduction .card .logo {
	opacity: 0; 
}

[data-interactive="1"] section.introduction article.intro,
[data-interactive="1"] section.introduction .media, 
[data-interactive="1"] section.introduction .card .logo {
	animation: none; 
	margin-left: 0;
	opacity: 1;
}

/* --------------- animations --------------- */

section.introduction.viewable article.intro,
section.introduction.viewable .media, 
section.introduction .card .logo {
	animation: fade-in .3s forwards;
}

section.introduction.viewable .media, 
section.introduction .card .logo {
	animation-delay: .2s;
}


/* Tablet */
@media screen and (max-width: 1499px) {
	.wrapper {
		width: calc(100% - var(--offset));
	}

	section.introduction .wrapper:last-child {
		grid-template-columns: repeat(auto-fill, minmax(260px, 300px));
		justify-content: space-between;
	}

	section.introduction {
		background:var(--color-section-gray);
	}

	section.introduction .wrapper:first-child {
		grid-template-columns: 1fr;
		grid-template-areas: 
			"article"
			 "media";

	}

	section.introduction .wrapper:first-child,
	section.introduction .wrapper {
		width: calc(100% - (var(--offset) * 2));
	}
}


/* Mobile */
@media screen and (max-width: 1023px) {


	section.introduction .wrapper:last-child {
		grid-template-columns: repeat(auto-fill, minmax(260px, 460px));
		justify-content: center;
	}
}
figure.youtube a {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
	place-items: center;
}

figure.youtube a,
figure.youtube a:before,
figure.youtube a:after {
	transition: all .2s;
}

figure.youtube img {
	max-width: 100%;
}

figure.youtube a:before {
	position: absolute;
	font-family: "Font Awesome 6 Pro";
	width: 90px;
	height: 90px;
	background: var(--color-light-grey); 
	border-radius: 50%; 
	content: "\f04b";
	display: inline-flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	font-size: 24px;
	z-index: 100;
}

figure.youtube a:after {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,.2);
	content: "";
}

/* --------------- hover --------------- */

figure.youtube:hover a:before {
	color: var(--color-secondary); 
	background: var(--color-black);
	width: 80px;
	height: 80px;
}

figure.youtube:hover a:after {
	background: rgba(0,0,0,.4);
}
/* ---------- vars ---------- */
section .media.masonary {
	--width: 140px;
	--height: 90px;
	--gutter: 10px;
}

/* ---------- layout ---------- */


section .media.masonary .masonary-sizer,
section .media.masonary .masonary-item { 
	width: var(--width); 
}

section .media.masonary .masonary-item {
	height: var(--height);
} 
section .media.masonary .masonary-item.large { 
	width: calc((var(--width) + (var(--gutter) / 2)) * 2);  
	height: calc((var(--height) + (var(--gutter) / 2)) * 2); 
}

section .media.masonary .masonary-item {
	margin-bottom: var(--gutter);
}

section .media.masonary .masonary-item.image {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

/* ---------- lipstick ---------- */

section .media.masonary .masonary-item div {
	opacity: 0;
	transform: scale(.1);
	transition: all var(--transition-speed); 
	transition-timing-function: ease-out;
}

section .media.masonary .masonary-item.image div {
	background-position: 50%;
	background-size: cover;
}

section .media.masonary .masonary-item a {
	display: flex;
	height: 100%;
	width: 100%;
	justify-content: center;
	align-items: center;
	transition: all var(--transition-speed); 
	text-decoration: none;
}

section .media.masonary .masonary-item a:before {
	transition: all var(--transition-speed);
	font-family: var(--fontawesome); 
	content: "\f0c1";
	font-size: 18px;
	color: var(--color-primary); 
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%; 
	background: rgba(17,17,17,.8);
	font-weight: 700;
}

section .media.masonary .masonary-item a:hover:before {
	width: 50px;
	height: 50px;
}

section .media.masonary .masonary-item a:hover {
	background: rgba(17,17,17,.2);
}

section .media.masonary .masonary-item.viewable div {
	animation: fade-in .2s forwards, masonary-bounce .5s forwards ease-out;
}

section .media.masonary .masonary-item:hover div {
	transform: scale(.9);
}

section .media.masonary .masonary-item[data-color="green"] { background: var(--color-green); } 
section .media.masonary .masonary-item[data-color="red"] { background: var(--color-secondary); } 
section .media.masonary .masonary-item[data-color="yellow"] { background: var(--color-primary); } 
section .media.masonary .masonary-item[data-color="black"] { background: var(--color-black); }
section .media.masonary .masonary-item[data-color="bordeaux"] { background: var(--color-bordeaux); }
section .media.masonary .masonary-item[data-color="white"] { background: white; } 
section .media.masonary .masonary-item[data-color="transparent"] { background: transparent; } 

[data-interactive="1"] section .media.masonary .masonary-item div,
[data-interactive="1"] section .media.masonary .masonary-item.viewable div {
	animation: none; 
	transform: scale(1);
	opacity: 1;
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}


@keyframes masonary-bounce {
	0% {
		transform: scale(.1);
	}
	20% {
		transform: scale(.5);
	}
	40% {
		transform: scale(.2);
	}
	60% {
		transform: scale(.7);
	}
	80% {
		transform: scale(.5);
	}
	100% {
		transform: scale(1);
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
.media.stacked {
	display: grid; 
	grid-template-columns: repeat(6,1fr);
	grid-template-rows:  repeat(3, var(--offset-small) minmax(250px, auto) var(--offset-small))
}

.media.stacked figure { 
	grid-column: 2 / span 4; 
	grid-row: 1 / span 3; 
}
.media.stacked figure:nth-child(2) { 
	grid-column: 1 / span 4; 
	grid-row: 3 / span 4; 
	z-index: 100;
}

.media.stacked figure:nth-child(3) { 
	grid-column: 3 / span 4; 
	grid-row: 6 / span 4; 
	z-index: 50;
}

.media.stacked figure:nth-child(n+4) {
	display: none;
}

[data-interactive="1"] .media.stacked, 
[data-interactive="1"] .media.stacked figure { display: block; transform: none; animation: none; }

/* ---------- lipstick ---------- */
.media.stacked figure {
	transition: all var(--transition-speed);
	opacity: 0;
}

.media.stacked figure.viewable {
	animation: stacked-bounce 0.5s alternate ease-out .5s, fade-in .5s forwards ease-in .5s;
}

.media.stacked figure img {
	max-width: 100%;
	max-height: 300px;
	box-shadow: 0 0 15px rgba(17,17,17,.1);
	transition: all var(--transition-speed); 
}

.media.stacked figure:hover img {
	box-shadow: 0 0 10px rgba(17,17,17,.3);
}

/* ---------- variants ---------- */
.media.stacked[data-variant="2"] figure { 
	grid-column: 1 / span 4; 
	grid-row: 1 / span 3; 
}

.media.stacked[data-variant="2"] figure:nth-child(2) { 
	grid-column: 3 / span 4; 
	grid-row: 3 / span 4; 
}

.media.stacked[data-variant="2"] figure:nth-child(3) { 
	grid-column: 2 / span 4; 
	grid-row: 6 / span 4; 
		z-index: 50;
}

.media.stacked[data-variant="3"] figure { 
	grid-column: 2 / span 4; 
	grid-row: 1 / span 3; 
}

.media.stacked[data-variant="3"] figure:nth-child(2) { 
	grid-column: 4 / span 3; 

	grid-row: 5 / span 4; 
}

.media.stacked[data-variant="3"] figure:nth-child(3) { 
	grid-column: 1 / span 4; 
	grid-row: 7 / span 2; 
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {
}

/* ---------- animation ---------- */

@keyframes stacked-bounce {
	from {
		transform: scale(.5)
	}
	to {
		transform:scale(1);
	}
}

figure.image {
	line-height: 0;
}

figure.image img,
section .media figure img {
	max-width: 100%;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	figure.image {
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}
}
section.calltoaction.call {
	grid-template-rows: var(--section-spacing) auto 300px;
}

section.calltoaction.call .columns {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

section.calltoaction.call .columns div {
	display: flex;
	height: 100%;
}

section.calltoaction.call .columns div:first-child {
	padding-right: var(--offset-small); 
	flex-direction: column;
	border-right: 1px solid rgba(255,255,255,.2);
}

section.calltoaction.call .columns div:last-child {
	padding-left: var(--offset-small);
	min-width: 240px;
	text-align: right;
	flex-direction: column;
}

section.calltoaction.call .columns div:last-child a + a {
	margin-top: 15px;
}

section.calltoaction.call .columns div:last-child a[href*="tel:"] {
	font-size: 35px;
	letter-spacing: -1px;
	text-decoration: none;
}

section.calltoaction.call .columns div:last-child a[href*="mailto:"] {
	font-size: 27px;
	letter-spacing: -1px;
	text-decoration: none;
}

section.calltoaction.call .columns div a {
	transition: all .2s;
	color: #FFF;
	font-weight: 700;
}

section.calltoaction.call .columns div a:hover {
	color: var(--color-primary); 
}

/* Mobile */
@media screen and (max-width: 1023px) {

	section.calltoaction.call {
		grid-template-rows: var(--offset) auto 300px;
	}

	section.calltoaction.call .columns { flex-direction: column; }

	section.calltoaction.call .columns div:first-child {
		border: 0;
	}

	section.calltoaction.call .columns div:last-child {
		display: none;
	}
}

section.calltoaction {
	--base: calc((var(--column) * 10) + (var(--offset) * 9));
	--width-illustration: calc((var(--column) * 3) + (var(--offset) * 3));
	--width-text: calc((var(--column) *7) + (var(--offset) * 6));
	display: grid;
	grid-template-columns: auto var(--base) auto;
	grid-template-rows: var(--section-spacing) auto calc(var(--offset) * 2);
	padding-bottom: 0;
	padding-top: 0;
}

section.calltoaction .image {
	grid-column: 1 / span 3;
	grid-row: 2 / span 3;
	opacity: 0;
}

section.calltoaction .content {
	grid-column: 2 ;
	grid-row: 1 / span 2;
	opacity: 0;
}

section.calltoaction .image {
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%; 
}

section.calltoaction .content {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	z-index: 100;
}

section.calltoaction .content .illustration {
	width: var(--width-illustration);
	background: var(--color-gradient-red);
	/*background-image: url(/e2/site/wortelboer/content/site/image/windrose.png), var(--color-gradient-red);*/
	background-repeat: no-repeat;
	background-size: cover;
	background-position: top right;
	border-top-left-radius: var(--offset-small);
	border-bottom-left-radius: var(--offset-small);
}

section.calltoaction .content .text {
	width: var(--width-text);
	background: var(--color-secondary); 
	padding: var(--offset); 
	border-top-right-radius: var(--offset-small);
	border-bottom-right-radius: var(--offset-small);
	color: #fff;
}

section.calltoaction .content .text p {
	color: var(--color-text-soft);
}

/* --------------- animations --------------- */

[data-interactive="1"] section.calltoaction .content,
[data-interactive="1"] section.calltoaction .image {
	animation: none;
	opacity: 0;
}

section.calltoaction.viewable .content,
section.calltoaction.viewable .image {
	animation: fade-in .3s forwards;
}

section.calltoaction.viewable .image {
	animation-delay: .3s;
	animation-duration: 2s;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	section.calltoaction {
		grid-template-columns: auto var(--base) auto;
		grid-template-rows: var(--offset) auto var(--offset); 
	}

	section.calltoaction .content .illustration {
		display: none;
	}

	section.calltoaction .content .text {
		width: 100%;
		border-radius: var(--offset-small);
	}
}
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
label.file div,
textarea,
select 
{
	font-size: 14px;
	line-height: var(--line-height);
	color: #000;
	background: rgba(255,255,255,.1); 
	border: 1px solid #f0eef0;
	border-radius: 5px;
	/*padding: 11px 11px 11px 25px;*/
	padding: 5px 5px 5px 15px;
	display: block;
	font-family: var(--font-family); 
	width: 100%;
}

::placeholder {
	color: #000;
	font-weight: 700;
}

textarea {
	min-height: calc(var(--line-height) * 4);
}

label.file input[type="file"] { display: none; }

label.file > div { cursor: pointer; }

.newsletter-form {
	--input-size: 50px;
}

.newsletter-form form {
	display: grid;
	grid-template-columns: minmax(150px, 1fr) auto;
	grid-template-rows: var(--input-size);
	align-items: center;
	justify-content: start;
	gap: 0;
}

.newsletter-form form > div:first-child {
	grid-column: 1;
	display: flex;
	align-items: center;
}
.newsletter-form form > div:last-child {
	grid-column: 2;
}

/* ---------- lipstick ---------- */

.newsletter-form form {
	background: rgba(0,0,0,.1);
	border-radius: 25px;
	max-width: 450px;
}

.newsletter-form form > div:first-child {
	padding: 0 25px;
	color: var(--color-text);
}

.newsletter-form form input {
	background: none;
	width: 100%;
	color: var(--color-text);
	border: 0;
}

.newsletter-form form button {
	border: 0;
	background: var(--color-green);
	margin-left: -85px;
	box-shadow: none;
}

.newsletter-form form button:before {
	content: '';
	margin-left: -22px;
}

.newsletter-form form button:hover:before {
	content: '';
	margin-left: -17px;
}

.newsletter-form form input::placeholder {
	color: var(--color-text-medium);
	font-weight: 400;
}

.newsletter-form form input:focus-visible {
	outline: none;
}

div.form {
	--row-spacing: 10px;
	margin-top: var(--line-height); 
}

div.form .fields {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-direction: column;
}

div.form form, 
div.form .fields > div {
	width: 100%;
}

div.form .fields .columns {
	display: flex;
	align-items: flex-start; 
	justify-content: space-between;
	flex-wrap: wrap;
}

div.form .fields .columns .column {
	width: calc((100% - var(--offset-small)) / 2);
}

div.form .fields .row + *,
div.form .fields .columns + *,
div.form .fields .columns .column:nth-child(n+3) {
	margin-top: var(--row-spacing);
}

div.form .fields .row.action {
	text-align: right;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	div.form .fields .columns {
		flex-direction: column;
	}

	div.form .fields .columns .column {
		width: 100%;
	}
	
	div.form .fields .columns .column + .column {
		margin-top: var(--row-spacing);
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.news.module {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 60px;
}

section.news.module .background {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	grid-template-columns: calc(50% + (var(--grid-6) - var(--offset)));
	place-items: stretch;
}


section.news.module .container {
	padding-top: var(--offset); 
	grid-column: 1;
	grid-row: 1 / 3;
	z-index: 100;
}

[data-interactive="1"] section.news.module .background { animation: none; opacity: 1; }

/* ---------- lipstick ---------- */
section.news.module[data-theme-color="green"] .background > div { background: var(--color-green); }
section.news.module[data-theme-color="red"] .background > div { background: var(--color-secondary); }
section.news.module[data-theme-color="yellow"] .background > div { background: var(--color-primary); }

section.news.module .background { opacity: 0; }
section.news.module.viewable .background { animation: fade-in .3s forwards .3s}
section.news.module.viewable .background div { animation: news-module-background .3s forwards .3s;  }


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}

@keyframes news-module-background {
	0% {
		width: 50%;
	}

	100% {
		width: 100%;
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.page.news .overview {
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

section.page.news .overview > * {
	grid-row: 1;
	grid-column: 1;
}

section.page.news .overview .background {
	display: grid;
	grid-template-columns: calc(50% - (var(--grid-2) + var(--offset)));
}

section.page.news .overview .background div {
	background: var(--color-green);
}

section.page.news .overview > .container { z-index: 100; }

/* ---------- lipstick ---------- */
section.page.news .content.overview .container {
	padding: calc(var(--offset) * 2) 0; 	

}


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1499px) {


}
/* ---------- vars ---------- */
section.news .list .item .source {
	--source-size: 24px;
}

/* ---------- layout ---------- */
section.news .list .wrapper {
	display: grid; 
	grid-template-columns: repeat(4, var(--grid-3));
	gap: var(--offset); 
	place-items: stretch start;
}

section.news .list .item:first-child {
	grid-column: span 1;
}

section.news .list .item {
	width: 100%;
	display: grid;
	grid-template-columns: var(--offset-small) auto auto;
	grid-template-rows: var(--offset-small) 100px 180px auto;
}

section.news .list .item .date {
	grid-column: 2;
	grid-row: 1 / 3;
	z-index: 300;
}

section.news .list .item .image {
	grid-column: 1 / 4;
	grid-row: 2 / 4; 
	z-index: 100;
}

section.news .list .item .content {
	grid-column: 1 / 4;
	grid-row: 3 / 5;
	z-index: 200;
	display: flex;
	align-items: end;
}

section.news .list .item .source {
	grid-column: 3;
	grid-row: 2;
	justify-self: end;
	z-index: 150;
	padding: 10px;
}

section.news .list .item .source[data-source="instagram"] div {
	width: var(--source-size);
	height: var(--source-size);
	display: flex;
	justify-content: center;
	align-items: center;
}

/* section.news .list .item:nth-child(n+2) { display: none; } */

/* ---------- lipstick ---------- */
[data-interactive="1"] section.news .list .item,
[data-interactive="1"] section.news .list .item > div { opacity: 1; animation: none; }

section.news .list .item .source div {
	color: white;
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
	border-radius: 50%;
}

section.news .list .item > div { opacity: 0; }

section.news .list .item .image {
	background-size: cover;
	background-position: 50%;
}

section.news .list .item .content {
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 120px, rgba(0,0,0,1) 180px );
	padding: 60px var(--offset-small) var(--offset-small) var(--offset-small);
	color: white;
}

section.news .list .item .content header h2 {
	margin-bottom: 15px;
}
section.news .list .item .content h2 {
	font-size: 30px;
	line-height: 32px;
}

section.news .list .item .content h2 span {
	display: block; 
	font-size: 16px;
}

section.news .list .item .content .action {
	text-align: right;
}

section.news .list .item .content .readmore {
	color: white;
	margin-top: 0; 
}

section.news .list .item .content .readmore:hover {
	color: var(--color-primary); 
}

section.news[data-theme-color="green"] h2 span,
section.news[data-theme-color="red"] h2 span { color: var(--color-primary); }
section.news[data-theme-color="yellow"] h2 span { color: var(--color-text-medium); }
 
/* ---------- animations ---------- */

section.news.viewable .list .item { }
section.news.viewable .list .item > div { animation: fade-in .3s forwards .5s; }

section.news.viewable.module .list .item:nth-child(2) { animation-delay: .8s }
section.news.viewable.module .list .item:nth-child(2) > div { animation-delay: .8s }

section.news.viewable.module .list .item:nth-child(3) { animation-delay: 1s }
section.news.viewable.module .list .item:nth-child(3) > div { animation-delay: 1s }

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1499px) {

	section.news .list .wrapper {
		grid-template-columns: repeat(auto-fit, minmax(280px, 460px));
	}

	section.news .list .item:first-child {
		grid-column: unset;
	}
}


@media screen and (max-width: 1023px) {

	section.news .list .wrapper {
		justify-content: center;
	}

	section.news .list .item:first-child {
		grid-column: span 1;
	}
}
/* ---------- vars ---------- */
section.news .date {
	--date-size: 80px;
}

/* ---------- layout ---------- */
section.news .date {
	position: relative;
	display: grid;
	place-items: center;
	width: var(--date-size); 
	height: var(--date-size); 
}

/* ---------- lipstick ---------- */
section.news .date {
	background: var(--color-primary); 
	text-align: center;
}

section.news .date:before {
	position: absolute;
	width: calc(var(--date-size) - 15px);
	height: calc(var(--date-size) - 15px);
	border: 3px solid white;
	display: block;
	content: "";
}

section.news .date > div {
	color: white;
	padding: 10px;
	font-size: 30px;
	font-weight: 700;
	line-height: 28px;
}

section.news .date > div span {
	font-size: 16px;
	line-height: 14px;
	display: block;
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}
section.page .title.video {
	--height: 70vh;
	--min-height: 700px;
	position: relative;
}


section.page .title.video .overlay,
section.page .title.video .player,
section.page .title.video .jwplayer {
	width: 100%;
	height: var(--height) !important; /* <- dear world, i'm sorry */
	min-height: var(--min-height); 
}

section.page .title.video .overlay {
	position: absolute;
	z-index: 1000;
}

section.page .title.video .jwplayer {
	overflow: hidden;
}
section.page .scroll {
	--size: 70px;
}

section.page .scroll {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	margin-top: -35px;
}

section.page .scroll .bubble, 
section.page .scroll .bubble i.icon-background {
	display: flex;
	align-items: center;
	justify-content: center; 
	cursor: pointer;
}

section.page .scroll .bubble {
	position: relative;
	background: #fff;
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    text-align: center;
}

section.page .scroll .arrow {
	transition: all var(--transition-speed);
	color: var(--color-primary);
	font-size: 40px;
	z-index: 20;
	position: absolute;
	animation: goarrow 2s infinite ;
	cursor: pointer;
	pointer-events: none;
}

section.page .scroll .bubble i.icon-background {
	transition: all var(--transition-speed);
	color: var(--color-text-soft);
	background: #efeeef;
    width: calc(var(--size) - 14px);
    height: calc(var(--size) - 14px);
    border-radius: 50%;
    text-align: center;
    font-size: 32px;
    z-index: 19;
}

section.page .scroll .bubble:hover i.icon-background {
	width: var(--size); 
	height: var(--size); 
	background: var(--color-text);
	color: white;
	animation: scroll-bounce .6s forwards ease-in-out ; 
}

@keyframes goarrow {
	0% { 
		top: 30px; 
		opacity: 0; 
		transform: scale(.5);
	}

	30% {
		opacity: 1;
		transform: scale(1);
	}

	70% {
		opacity: 1;
		transform: scale(1);
	}

	100% {
		top: 50px;
		opacity: 0; 
		transform: scale(.5);
	}
}

@keyframes scroll-bounce {
	0% {
		transform: scale(1);
	}

	20% {
		transform: scale(.4);
	}

	40% {
		transform: scale(.8);
	}

	70% {
		transform: scale(.5);
	}

	100% {
		transform: scale(1.1);
	}
}
/* ---------- vars ---------- */

/* ---------- layout ---------- */
section.page .product-detail .background {
	display: grid; 
	grid-template-columns: var(--media);
	grid-template-rows: var(--offset) auto var(--offset);
}

section.page .product-detail .background div { z-index: 0; }
section.page .product-detail .background div:first-child {
	grid-column: 1 / 3;
	grid-row: 2;
}

section.page .product-detail .background div:last-child {
	grid-column: 2 / 4;
	grid-row: 1 / 4;
}


section.page .product-detail .background div:first-child {
	z-index: 100;
}

/* ---------- lipstick ---------- */

section.page .product-detail .background div:first-child {
	background: linear-gradient(90deg, #5fa9f4 0%, var(--color-yellow) 100%);
}

section.page .product-detail[data-color="grey"] .background div:first-child {
	background: linear-gradient(to left, var(--color-light-grey) 0%, white 100%);
}

section.page .product-detail[data-color="green"] .background div:first-child{
	background: var(--color-green);
}

section.page .product-detail[data-color="yellow"] .background div:first-child {
	background: var(--color-primary);
}

section.page .product-detail[data-color="bordeaux"] .background div:first-child {
    background: var(--color-bordeaux);
}

--------- mediaquery ---------- */


@media screen and (max-width: 979px) {


}

@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */


section.page .product-detail{
	--media: calc((50% - var(--grid-3) - (var(--offset) * 1))) var(--offset) auto;
}

/* ---------- layout ---------- */
section.page .product-detail { 
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: var(--offset) var(--offset) auto var(--offset) var(--offset) ;
}

section.page .product-detail .background,
section.page .product-detail .content {
	grid-column: 1;
	grid-row: 1 / 6;
}

section.page .product-detail .content {
	z-index: 100;
	grid-row: 3;
	display: grid; 
	grid-template-columns: 1fr;
	justify-content: center;
}

section.page .product-detail .wrapper {
	display: grid; 
	grid-template-columns: var(--grid-6) var(--grid-6);
	grid-template-areas: "media text";
	gap: calc(var(--offset) * 2);
	align-items: start;
}

section.page .product-detail .wrapper > article { grid-area: text; }
section.page .product-detail .wrapper > aside { grid-area: media; }

/* ---------- lipstick ---------- */


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}

section.page {
	padding-top: 0;
}

section.page .title {
	--height: 30vh; 
	--min-height: 300px;
	opacity: 0;
	background-size: cover;
	background-repeat: no-repeat; 
	background-position: 50% 50%;
}

section.page .title[data-size="large"] {
	--height: 40vh;
	--min-height: 450px;
}

section.page .title[data-size="very-large"] {
	--height: 50vh;
	--min-height: 580px;
}

section.page .title {
	margin-bottom: 0;
}

section.page .title[data-position="top"] {
	background-position: 50% 0%;
}

section.page .title[data-position="bottom"] {
	background-position: 50% 100%;
}

section.page .title .overlay {
	display: flex;
	/*align-items: flex-end;*/
	justify-content: center;
	height: var(--height);
	min-height: var(--min-height);
	color: #FFF;
}

section.page .title .overlay[data-overlay="dark"] {
	background: linear-gradient(to bottom, rgba(34,34,34,0) 0%, rgba(34,34,34,.5) 50%, rgba(34,34,34,1) 100%);
}

section.page .title .overlay[data-overlay="medium"] {
	background: linear-gradient(to bottom, rgba(34,34,34,0) 0%, rgba(34,34,34,.5) 75%, rgba(34,34,34,1) 100%);
}

section.page .title .overlay[data-overlay="light"] {
	background: linear-gradient(to bottom, rgba(240,240,240,0) 0%, rgba(240,240,240,.5) 50%, rgba(240,240,240,1) 100%);
}

section.page .title article {
	margin-bottom: var(--offset);
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	max-width: var(--grid-8);
}


[data-interactive="1"] section.page .title,
[data-interactive="1"] section.page .title article {
	opacity: 1; 
	animation: none;
}

section.page .title h1 {
	padding-top: 180px;
}

section.page .title h1 span{
	margin-left: 0;
}

h1[data-color="dark"] {
	color: var(--color-text);
}

h1[data-color="dark"] span {
	color: var(--color-text-medium);
}

h1[data-color="light"] {
	/*color: var(--color-primary);*/
	color: #fff;
}

h1[data-color="light"] span {
	color: var(--color-section-gray);
}

/* --------------- animations --------------- */

section.page.viewable .title article {
	animation: fade-in .2s forwards .7s;
}

section.page.viewable .title {
	animation: fade-in .5s forwards;
}


@media screen and (max-width: 1499px) {
	section.page .title {
		--height: 30vh; 
		--min-height: 300px;
	}
	
	section.page .title[data-size="large"] {
		--height: 40vh;
		--min-height: 250px;
	}
	
	section.page .title[data-size="very-large"] {
		--height: 50vh;
		--min-height: 400px;
	}
}
section.page .content {
	--offset-top: 0px;
	--offset-top-large: calc(var(--offset-top) + var(--offset-large));
	--offset-top-medium: calc(var(--offset-top) + var(--offset-medium));
	padding-top: var(--offset-top); 
	background: var(--color-gradient-page);
}

section.page .content[data-offset-top="medium"] {
	padding-top: var(--offset-top-medium);
}

section.page .content[data-offset-top="large"] {
	padding-top: var(--offset-top-large);
}

section.page .content[data-offset-top="none"] {
	padding-top: 0;
}
div.skeletonbase {
	display: grid;
	padding-top: var(--section-spacing);
}

div.skeletonbase .columns, div.skeletonbase .background {
	justify-content: center;
}

div.skeleton.columns {
	display: grid; 
	grid-template-columns: repeat(2, var(--grid-6));
	grid-template-rows: auto;
	gap: var(--offset);
	width: var(--base);
	padding-top: var(--offset);
	padding-bottom: var(--offset);
	margin-left: auto;
	margin-right: auto;
	z-index: 100;
}

div.skeleton.columns > article {
	opacity: 0;
}

div.skeleton.columns[data-align="top"] {
	align-items: start;
}

div.skeleton.columns[data-align="middle"] {
	align-items: center;
}

div.skeleton.columns[data-align="bottom"] {
	align-items: end;
}

div.skeleton.columns[data-align="stretch"] {
	align-items: stretch;
}

div.skeleton.columns[data-size="left"] {
	grid-template-columns: calc((var(--column) * 8) + (var(--offset) * 4)) calc((var(--column) * 4) + (var(--offset) * 6));
}

div.skeleton.columns[data-size="right"] {
	grid-template-columns: calc((var(--column) * 4) + (var(--offset) * 6)) calc((var(--column) * 8) + (var(--offset) * 4));
}

div.skeleton.columns[data-size="3"] {
	grid-template-columns: repeat(3, var(--grid-4));
}

div.skeleton.columns[data-size="merken"] {
	grid-template-columns: calc((var(--column) * 4) + (var(--offset) *3)) calc((var(--column) * 2) + (var(--offset) *3)) calc((var(--column) * 6) + (var(--offset) *3));
}

div.skeleton.columns[data-size="4"] {
	grid-template-columns: repeat(4, var(--grid-3));
}

div.skeleton.columns[data-size="5"] {
	grid-template-columns: repeat(5, 17.5%);
}

div.skeleton.base[data-background="light-grey"] {
	background: var(--color-light-grey);
}

div.skeleton.base[data-background="green"] {
	background: var(--color-green);
	color: #fff;
}

div.skeleton.base[data-background="bordeaux"] {
    background: var(--color-bordeaux);
    color: #fff;
}

div.skeleton.base[data-background="yellow"] {
	background: var(--color-primary);
}

div.skeleton.base[data-background="red"] {
	background: var(--color-secondary);
}

 /* Background */
div.skeleton.background {
	display: grid;
	grid-template-rows: auto;
	margin-top: 0;
	grid-column: 1 / 3;
}

div.skeletonbase > div { z-index: 0;  }
div.skeletonbase > div:first-child {
	grid-column: 2 / 3;
	grid-row: 1;
}

div.skeletonbase > div:last-child {
	grid-column: 1 / 3;
	grid-row: 1 / 3;
}

div.skeletonbase > div:first-child {
	z-index: 100;
}

div.skeleton.background[data-background="right"][data-color="yellow"] {
	background: linear-gradient(90deg,  white 75%, var(--color-primary) 0%);
}

div.skeleton.background[data-background="right"][data-color="red"] {
	background: linear-gradient(90deg,  white 75%, var(--color-secondary) 0%);
}

div.skeleton.background[data-background="right"][data-color="bordeaux"] {
    background: linear-gradient(90deg,  white 75%, var(--color-bordeaux) 0%);
}

div.skeleton.background[data-background="right"][data-color="green"] {
	background: linear-gradient(90deg,  white 75%, var(--color-green) 0%);
}

div.skeleton.background[data-background="right"][data-color="light-grey"] {
	background: linear-gradient(90deg,  white 75%, var(--color-light-grey) 0%);
}

div.skeleton.background[data-background="left"][data-color="yellow"] {
	background: linear-gradient(90deg, var(--color-primary) 0%, white 75%);
}

div.skeleton.background[data-background="left"][data-color="red"] {
	background: linear-gradient(90deg, var(--color-secondary) 0%, white 75%);
}

div.skeleton.background[data-background="left"][data-color="bordeaux"] {
    background: linear-gradient(90deg, var(--color-bordeaux) 0%, white 75%);
}

div.skeleton.background[data-background="left"][data-color="green"] {
	background: linear-gradient(90deg, var(--color-green) 0%, white 75%);
}

div.skeleton.background[data-background="left"][data-color="light-grey"] {
	background: linear-gradient(90deg, var(--color-light-grey) 0%, white 75%);
}

div.skeleton.columns[data-size="left"] > article {
	margin-right: 100px;
}

div.skeleton.columns[data-size="left"] > article > header {
	margin-left: -75px;
	margin-bottom: var(--offset);
}

div.skeleton.columns > article p:first-child {
	font-weight: 500;
}

div.skeleton.viewable.columns > * { animation: fade-in .3s forwards; }
div.skeleton.viewable.columns > *:nth-child(2) { animation-delay: .2s; }
div.skeleton.viewable.columns > *:nth-child(3) { animation-delay: .3s; }
div.skeleton.viewable.columns > *:nth-child(4) { animation-delay: .4s; }

/* Tablet */
@media screen and (max-width: 1499px) {
	div.skeleton.columns[data-size="left"] > article {
		margin-right: 0px;
	}
	
	div.skeleton.columns[data-size="left"] > article > header {
		margin-left: 0px;
		margin-bottom: var(--offset);
	}
}

/* Mobile */
@media screen and (max-width: 1023px) {
	div.skeleton.columns,
	div.skeleton.columns[data-size="left"],
	div.skeleton.columns[data-size="right"],
	div.skeleton.columns[data-size="3"],
	div.skeleton.columns[data-size="4"],
	div.skeleton.columns[data-size="5"],
	div.skeleton.columns[data-size="merken"]
	{
		grid-template-columns: 1fr;
	}

	div.skeleton.columns {
		width: calc(var(--base) - (var(--offset) * 2));
		grid-template-columns: 1fr;
	}	

	div.skeleton.columns[data-size="merken"] > article:nth-child(2) {
		justify-self: center;
	}

	div.skeleton.columns[data-size="left"] > article {
		margin-right: 0px;
	}
	
	div.skeleton.columns[data-size="left"] > article header {
		margin-left: 0px;
	}

	div.skeleton.background {
		display: none;
	}
}


[data-interactive="1"] div.skeleton.viewable.columns,
[data-interactive="1"] div.skeleton.columns > * {
	animation: none; 
	opacity: 1; 
}



div.skeleton.centered {
	display: grid; 
	width: var(--base); 
	grid-template-columns: 1fr calc((var(--column) * 8) + (var(--offset) * 7)) 1fr;
	grid-template-rows: auto;
	grid-template-areas: ". content .";
	gap: var(--offset);
	margin-left: auto;
	margin-right: auto;
}

div.skeleton.centered[data-size="small"] {
	grid-template-columns: 1fr calc((var(--column) * 6) + (var(--offset) * 5)) 1fr;
}

div.skeleton.centered article {
	grid-area: content;
}

/* Mobile */
@media screen and (max-width: 1023px) {
	
}

div.skeleton + * {
	margin-top: var(--offset);
}
.merken {
	--merk-width: calc((var(--column) * 2) + var(--offset));
	--merk-height: cal(var(--merk-width - 50px));
}

.merken .container {
	display: flex;
	align-items: stretch; 
	flex-wrap: wrap;
}

.merken .merk {
	width: var(--merk-width);
	height: var(--merk-height);
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: var(--offset); 
	padding: var(--offset-small);
	border-radius: var(--offset-small);
	transition: all .2s;
}

.merken .merk:nth-child(2n+1) {
	margin-left: 0;
}

.merken .merk:nth-child(n+7) {
	display: none;
}

[data-interactive="1"] .merken .merk:nth-child(n+7) {
	display: flex;
}

.merken .merk img {
	max-width: 100%;
	/*filter: grayscale(100%);*/
	transition: all .2s;
	opacity: .9;
}

.merken .merk:hover {
	/*background: #FFF;
	box-shadow: 0 0 var(--offset-small) rgba(0,0,0,.2);*/
}

.merken .merk:hover img {
	filter: grayscale(0%);
	opacity: 1;
}


@media screen and (max-width: 1499px) {
	.merken {
		--merk-width: 120px;
		--merk-height: var(--merk-width);
	}
	.merken .container {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(var(--merk-width), 1fr));
		gap: var(--offset);
	}

	.merken .merk {
		margin-left: 0;
		margin: 0;
	}
}


/* Mobile */
@media screen and (max-width: 1023px) {
	.merken {
		--merk-width: 160px;
		--merk-height: var(--merk-width);
	}

	.merken .container {
		justify-content: center;
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.products .category {}

/* ---------- lipstick ---------- */

section.products > .category {
	background: var(--color-green);
	color: white; 
	padding: var(--offset); 
}

section.products > .category p {
	font-size: 16px;
	line-height: 28px;
	margin-top: 10px;
}

section.products > .category .text .button {
	margin-right: 5px;
	padding-left: 30px;
	padding-right: 15px;
	margin-top: 20px;
}

section.products[data-theme="yellow"] .category {
	background: var(--color-primary);
	color: black; 
}

section.products[data-theme="red"] .category {
	background: var(--color-secondary);
	color: white; 
}

section.products[data-theme="bordeaux"] .category {
    background: var(--color-bordeaux);
    color: white;
}

section.products[data-theme="yellow"] article header h1 span { color: white; }
section.products[data-theme="green"] article header h1 span { color: var(--color-primary); }
section.products[data-theme="red"] article header h1 span { color: var(--color-black); }
section.products[data-theme="bordeaux"] article header h1 span { color: var(--color-white); }


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {
	section.products > .category .text .button,
	section.products > .category .text .button + .button {
		margin-left: 10px;
		margin-right: 10px;
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */

section.products .product:not(.calltoaction):not(.sale) {
	width: 100%;
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: 200px 90px auto;
	gap: 15px;
}

section.products .product figure {
	display: flex;
	align-items: center;
	justify-content: center
}

section.products .product .action[data-value=""] {
	display: none;
}

article.text span.text-smaller {
	font-size: 0.8em;
	display:inline-block;
	line-height: 24px !important;
	margin-top: 0;
}

/* ---------- lipstick ---------- */

section.products .product {
	transition: all var(--transition-speed); 
	background: white;
	padding: var(--offset-small);
	border: 2px solid rgba(0,0,0,.1);
}

section.products .product figure {
	text-align: center;
	height: 100%;
}
section.products .product figure img {
	max-width: 100%;
	max-height: 100%;
}

section.products .product article {
	text-align: center;
}

section.products .product .action {
	text-align: center;
} 

section.products .product .action .readmore {
	margin-top: 0; 
} 

section.products[data-theme] .product h3 span,
section.products[data-theme="green"] .product h3 span { color: var(--color-green); }
section.products[data-theme="yellow"] .product h3 span { color: var(--color-primary); }
section.products[data-theme="red"] .product h3 span { color: var(--color-secondary); }
section.products[data-theme="bordeaux"] .product h3 span { color: var(--color-bordeaux); }

section.products .product img {
	max-width: 100%;
}

section.textmedia[data-media="right"] .content .wrapper {
	align-items: flex-start;
}

section.product-detail figure.image {
	border: 2px solid rgba(0,0,0,.1);
	text-align: center;
	background: #fff;
	padding: 20px;
}

section.product-detail aside.media a {
	color: rgba(0,0,0,.5);
	margin-top: 20px;
	font-size: 14px;
	text-decoration: none;
}

section.product-detail aside.media a:hover {
	text-decoration: underline;
}


/* ---------- mediaquery ---------- */

@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */
section.products .product.sale {
	--price-radius: 5px;
}

/* ---------- layout ---------- */
section.products .product.sale {
	width: 100%;
	max-width: 460px;
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: 200px 90px 1fr auto auto;
	gap: 0 15px;
}

section.products .product.sale .image {
	grid-column: 1;
	grid-row: 1 / 3;
}

section.products .product.sale .overlay {
	grid-column: 1;
	grid-row: 1 / 5;
	z-index: 50;
}
section.products .product.sale article {
	grid-column: 1;
	grid-row: 2 / 4;
	z-index: 100;
}

section.products .product.sale .price {
	grid-column: 1;
	grid-row:4 / 6;
	z-index: 200;
}

section.products .product.sale .price {
	display: grid;
	grid-template-columns: auto;
	grid-template-rows: auto 5px auto;
	justify-content: center;
	justify-items: center;
}

section.products .product.sale .price > div {
	grid-column: 1;
	display: flex;
	justify-content: center;
	align-items: stretch;
}

section.products .product.sale .price > div.before {
	grid-row: 1 / 3;
}

section.products .product.sale .price > div.current {
	z-index: 100;
	grid-row: 2 / 4;
}

/* ---------- lipstick ---------- */
section.products .product.sale {
	padding: 0; 
	cursor: pointer;
	color: white;
	border: 0; 
	background: transparent; 
}

section.products .product.sale .image {
	background-size: cover;
	background-position: 50%;
}

section.products .product.sale .overlay {
	background: linear-gradient(to bottom, rgba(1,2,2, 0)200px, rgba(1,2,2,1) 290px);
}

section.products .product.sale article {
	padding: var(--offset) var(--offset-small) var(--offset-small) var(--offset-small); 
}

section.products .product.sale article p a {
	color: white; 
	font-weight: 700;
}

section.products .product.sale .price {
	text-align: center;
	transition: all var(--transition-speed);
	transform: scale(.8);

}

section.products .product.sale:hover .price{
	transform: rotate(5deg) scale(1);
} 

section.products .product.sale .price > div {
	border-radius: var(--price-radius);
	transition: all var(--transition-speed);
	transition-delay: .15s;
}

section.products .product.sale .price > div span {
	padding: 5px;
}

section.products .product.sale .price > div span:first-child {
	padding: 5px 10px;
	border-top-left-radius: var(--price-radius);
	border-bottom-left-radius:var(--price-radius);
} 

section.products .product.sale .price > div.before {
	font-size: 14px;
	line-height: 24px;
	font-weight: 700;
	background: var(--color-secondary); 
}

section.products .product.sale .price > div.before span:last-child {
	text-decoration: line-through;
}

section.products .product.sale .price > div.current {
	transform: scale(.9);
	font-size: 24px;
	font-weight: 700;
	background: var(--color-primary); 
	color: var(--color-black); 
}

section.products .product.sale:hover .price > div.current {
	transform: scale(1);
	box-shadow: 0 0 20px rgba(17,17,17,.3);
}

section.products .product.sale .price > div > span:first-child {
	background: rgba(17,17,17,.1);
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */
section.products .calltoaction article p {
	--font-size: 16px;
	--line-height: 28px;
}

/* ---------- layout ---------- */
section.products .calltoaction {
	grid-column: span 2;
	width: 100%;
	display: grid;
	grid-template-columns: 200px 1fr;
	grid-template-rows: 1fr;
	place-items: center;
}

section.products .calltoaction .image,
section.products .calltoaction .overlay {
	grid-column: 1 / 3;
	grid-row: 1;
	height: 100%;
	width: 100%;
}

section.products .calltoaction .overlay {
	z-index: 100;
}

section.products .calltoaction article {
	grid-column: 2;
	grid-row: 1;
	z-index: 200;
	
}

/* ---------- lipstick ---------- */
section.products .calltoaction .image {
	background-size: cover;
	background-position: 50%;
}

section.products .calltoaction .overlay {
	background: linear-gradient(120deg, rgba(34,34,34,0) 20%, rgba(34,34,34,.9) 50%);
}

section.products .calltoaction article {
	padding: var(--offset); 
	color: white;
	text-align: left;
}

section.products .calltoaction article > .button {
	margin-top: 15px;
}

section.products .calltoaction article header h3 span { 
	color: var(--color-primary); 
	margin-left: 15px;
}

section.products[data-theme="green"] .calltoaction article header h3 span,
section.products[data-theme="yellow"] .calltoaction article header h3 span { color: var(--color-primary);  }
section.products[data-theme="red"] .calltoaction article header h3 span { color: var(--color-secondary);  }
section.products[data-theme="bordeaux"] .calltoaction article header h3 span { color: var(--color-bordeaux);  }

[data-interactive="1"] section.products .calltoaction {  }

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {

	section.products .calltoaction {
		grid-column: span 1;
	}

	section.products .calltoaction {
		grid-template-columns: 1fr;
		grid-template-rows: 120px auto;
	}

	section.products .calltoaction .image,
	section.products .calltoaction .overlay {
		grid-column: 1;
		grid-row: 1 / 3;
	}

	section.products .calltoaction article {
		grid-column: 1;
		grid-row: 2;
	}

	section.products .calltoaction .overlay {
		background: linear-gradient(to bottom, rgba(34,34,34,0) 90px, rgba(34,34,34,.9) 50%);
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */

section.products .product.sale {
	width: 100%;
	max-width: 460px;
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: 200px 90px 1fr;
	gap: 0 15px;
}

section.products .product.sale .overlay {
	grid-column: 1;
	grid-row: 1 / -1;
	z-index: 50;
}


/* ---------- lipstick ---------- */

section.products .product.sale.link {
	padding: var(--offset-small);
}

section.products .product.sale.link .action a.readmore {
	color: white;
}

section.products .product.sale.link .action a.readmore:hover {
	color: var(--color-primary); 
}

/* ---------- mediaquery ---------- */

@media screen and (max-width: 1023px) {


}

/* ---------- vars ---------- */
section.products {}

/* ---------- layout ---------- */

section.products {
	display: grid;
	grid-template-columns: calc(50% + (var(--column) + (var(--offset)) + var(--offset-small))) var(--grid-5) 1fr;
	grid-template-rows: minmax(60vh, 700px) var(--offset) var(--offset) auto var(--offset);
	place-items: end start;
}

section.products.categories {
	grid-template-rows: none;
	padding-top: var(--section-spacing);
}

section.products > .image {
	grid-column: 1 / 4;
	grid-row: 1 ;
}

section.products > .category {
	grid-column: 2;
	grid-row: 1 / 3;
}

section.products > .container {
	grid-column: 1 / 4;
	grid-row: 4 / 6;
	width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	grid-template-rows: auto;
	gap: var(--offset);
	place-items: stretch center;
}

section.products > .container  > .sub-pages {
	padding-top: 0;
	grid-column: 1 / -1;
}

/* ---------- lipstick ---------- */

section.products { background: var(--color-section-gray); }

section.products > .image {
	background-size: cover;
	background-position: 50%;
	width: 100%;
	height: 100%;

}

section.products > .container {
	padding: 0 var(--offset);
}


section.products > .container article h3 {
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 0px;
}

section.products > .container article h3 span {
	font-size: 18px;
	margin: 0;
}

/* ---------- mediaquery ---------- */
@media screen and (max-width: 1499px) {
	section.products {
		display: grid;
		grid-template-columns: calc(50% + (var(--offset-small))) var(--grid-6) 1fr;
		grid-template-rows: minmax(40vh, 600px) var(--offset) var(--offset) auto var(--offset);
	}
}

@media screen and (max-width: 1023px) {
	section.products {
		grid-template-columns: var(--offset) 1fr var(--offset);
		grid-template-rows: 60vh var(--offset) auto var(--offset) auto var(--offset);
		place-items: start;
	}

	section.products > .image {
		grid-column: 1 / 4;
		grid-row: 1 / 3;
	}

	section.products > .category {
		grid-column: 2;
		grid-row: 2 / 4;
	}

	section.products > .container {
		grid-column: 1 / 4;
		grid-row: 5;
	}


	section.products > .container  > .sub-pages {
		padding-top: 0;
		grid-column: 1 / -1;
		width: 100%;
	}


}
div.datatable {
	display: flex;
	flex-direction: column;
	margin-top: var(--line-height); 
	padding: var(--offset-small); 
	border-radius: var(--offset-small); 

	box-shadow: 0 0 30px rgba(0,0,0,.1);

}

div.datatable div.row {
	--min: var(--column);
	--max: calc((var(--column) * 3) + var(--offset));
	font-size: 14px;
	line-height: 18px;
	display: grid;
	width: auto;
	/* grid-template-columns: repeat(auto-fit, minmax(var(--min), 1fr)); */
	grid-template-columns: repeat(auto-fit, minmax(10px, 1fr));
}

div.datatable div.row > div {
	padding: 5px 5px;
}

div.datatable div.row > div:nth-child(n+2) {
	text-align: right
}

div.datatable div.row:nth-child(n+14),
div.datatable.expanded + a  {
	display: none;
}

div.datatable.expanded div.row:nth-child(n+14) {
	display: grid;
}

div.datatable + a[href="#expanded"] {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: calc((var(--offset) / 2)* -1);
	background: #fff;
	color: var(--color-red);
	width: 40px;
	height: 40px;
	font-size: 24px;
	border-radius: 50%;
	text-decoration: none;
	box-shadow: 0 0 15px rgba(0,0,0,.2);
	transition: all .2s;
}

div.datatable + a[href="#expanded"]:hover {
	background: var(--color-primary); 
	color: #fff;
}

div.datatable div.row:nth-child(odd) {
	background: var(--color-section-gray);
}

div.datatable div.row.header {
	background: var(--color-gradient-red);
	color: #FFF;
	font-size: 12px;
	line-height: 18px;
	font-weight: 700;
	text-transform: lowercase;
} 

div.datatable div.row.header > div {
	border-left: 1px solid rgba(255,255,255,.5);
}

div.datatable div.row.header > div:first-child {
	border-left: 0;
}
section.paginate {
	margin-top: 0; 
	padding-top: 0;
	display: flex;
	justify-content: center;
}

section.paginate a:not(.text) {
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	box-shadow: 0 0 10px rgba(1,1,2,.2);
	border-radius: 50%;
	text-decoration: none;
	font-weight: 700;
	line-height: 20px;
}

section.paginate a + a {
	margin-left: 5px;
}

section.paginate a.text {
	margin-left: var(--offset-small);
	text-transform: lowercase;
	font-weight: 700;
}

section.paginate > a.text:first-child {
	margin-left: 0; 
	margin-right: var(--offset-small);
}

section.paginate a.active {
	background: var(--color-primary); 
	color: #FFF;
}
div.cookie {
	position: fixed;
	z-index: var(--z-index-cookie);
	bottom: 0;
	padding: calc(var(--offset) / 2) 0;
	width: 100%;
	background: rgba(0,0,0,.9);
	color: #fff;
	display: none;
}

div.cookie.active {
	display: block;
}

div.cookie .text h3 {
	font-size: 24px;
	margin-bottom: 15px;
	line-height: 30px;
}

div.cookie .text p {
	font-size: 14px;
	line-height: 24px;
	margin-top: 0;
}

div.cookie .wrapper {
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

div.cookie .wrapper div {
	width: var(--grid-6);
}
div.cookie .wrapper div:last-child {
	width: var(--grid-2);
}

/* Mobile */
@media screen and (max-width: 1023px) {
	div.cookie .wrapper {
		flex-direction: column;
	}
	div.cookie .wrapper div,
	div.cookie .wrapper div:last-child {
		width: 100%;
	}

	div.cookie .wrapper div:last-child {
		padding-bottom: 60px;
	}

}
div.team {
	--member-width: calc((var(--column) * 4) + (var(--offset) * 3));
	width: var(--base); 
	display: grid;
	grid-gap: var(--offset);
	grid-template-columns: repeat(3, var(--member-width));
	margin-left: auto;
	margin-right: auto;

}

div.team .member {
	width: 100%;
	display: flex;
	align-items: stretch; 
	justify-content: space-between;
	background: #fff;
	border-radius: var(--offset-small);
	box-shadow: 0 0 10px rgba(0,0,0,.1);
	opacity: 0;
}

div.team .member .image {
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	height:225px;
	width: 150px;
	border-top-left-radius: var(--offset-small);
	border-bottom-left-radius: var(--offset-small);
}

div.team .member article {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
	width: calc(100% - 150px);
	padding: var(--offset-small);
}

div.team .member article h3 {
	font-size: 18px;
	line-height: 24px;
}

div.team .member article h3 span {
	display: block;
	font-size: 14px;
	line-height: 20px;
	color: var(--color-primary);
}

div.team .member .data {
	font-size: 14px;
	line-height: 20px;
	margin-top: var(--line-height); 
	border-top: var(--border); 
}

div.team .member .data div[data-value=""] {
	display: none;
}

div.team .member .data a {
	text-decoration: none;
}

div.team .member .data a span {
	color: var(--color-primary);
}

/* --------------- animations --------------- */

[data-interactive="1"] div.team.viewable .member,
[data-interactive="1"] div.team .member {
	opacity: 1;
	animation: none;
}

div.team.viewable .member { animation: fade-in .3s forwards; }

div.team.viewable .member:nth-child(8), 
div.team.viewable .member:nth-child(4),
div.team.viewable .member:nth-child(n+10) { animation-delay: .2s; }

div.team.viewable .member:nth-child(2), 
div.team.viewable .member:nth-child(5)
div.team.viewable .member:nth-child(7) { animation-delay: .4s; }

div.team.viewable .member:nth-child(1), 
div.team.viewable .member:nth-child(6), 
div.team.viewable .member:nth-child(9) { animation-delay: .3s; }

/* Mobile */
@media screen and (max-width: 1023px) {
	div.team {
		--member-width: 1fr;
		grid-template-columns: repeat(1, var(--member-width));
		padding:0 20px;
	}
}
section.gallery {
	--content-width:calc((var(--column) * 6) + (var(--offset) * 5));
	--image-height: 50vh; 
	--image-width: calc((var(--column) * 10) + (var(--offset) * 9));
}
section.gallery > .wrapper {
	display: flex;
	justify-content: center;
}

section.gallery > .wrapper article {
	width: var(--content-width);
	text-align: center;
}

section.gallery .images {
	margin-top: var(--offset); 
}

section.gallery .images .image {
	height: auto;
	width: auto;
	background: white;
	display: flex;
	align-items: flex-end;
}

section.gallery .images .image.portrait {
	width: auto;
}

section.gallery .images .image figure {
	max-width: 920px;
	max-height: 613px;
}

section.gallery .images .image figure img {
	max-width: 100%;
	max-height: 100%;
}

section.gallery .images .image .content {
	position: absolute;
}

section.gallery .images .image .content article {
	width: 200px;
	padding: var(--offset-small);
	background: rgba(0,0,0,.8);
	font-size: 12px;
	line-height: 18px;
	color: #FFF;
	opacity: 0;
}

section.gallery .images .swiper-slide-active.image .content article {
	animation: gallery-in .3s forwards .3s, fade-in .3s forwards .3s;
}

section.gallery .images .image .content article[data-visible="false"] { display: none; }

section.gallery .images .image .content article p {
	font-size: 12px;
	line-height: 18px;
	margin-top: 5px;
}

section.gallery .images .image .content article h3 {
	font-size: 16px;
	margin: 0;
}

/* --------------- pagination --------------- */

section.gallery .swiper-container .swiper-pagination {
	position: relative;
	margin-top: var(--offset-small);
}

/* --------------- animation --------------- */

@keyframes gallery-in {
	0% {
		margin-bottom: var(--offset); 
	}

	100% {
		margin-bottom: 0; 
	}
}

/* --------------- mobile --------------- */

@media screen and (max-width: 1023px) {
	section.gallery {
		--content-width:var(--base-mobile);
		--image-height: 275px;
		--image-width: var(--base-mobile);
	}
}
/* ---------- vars ---------- */

section.carousel .background {
	--grid-col: calc((50% - ((var(--column) * 2) + (var(--offset) * 2))));
}
/* ---------- layout ---------- */
section.carousel .background {
	display: grid;
	grid-template-columns: var(--grid-col); 
}

/* ---------- lipstick ---------- */

section.carousel .background {
	width: 0;
}

section.carousel .background div {
	background: var(--color-green); 
	transition: all var(--transition-speed); 
}


[data-interactive="1"] section.carousel .background{ opacity: 1; width: 100%;  }

/* ---------- colors ---------- */

section.carousel [data-theme-color="yellow"] .background div {
	background: var(--color-primary); 
}

section.carousel [data-theme-color="red"] .background div {
	background: var(--color-secondary); 
}

section.carousel [data-theme-color="bordeaux"] .background div {
	background: var(--color-bordeaux); 
	color: #fff !important;
}

/* ---------- mediaquery ---------- */

@media screen and (max-width: 1499px) {
	section.carousel .background {
		--grid-col: calc((50% - ((var(--column) * 1) + (var(--offset) * 1))));
	}
}

@media screen and (max-width: 1023px) {
	section.carousel .background {
		--grid-col: 1fr;
	}

}
/* ---------- vars ---------- */

section.carousel .swiper .content {
	--content-col: calc(50% - (var(--grid-6) + var(--offset-small))) var(--grid-6);
}
/* ---------- layout ---------- */
section.carousel .swiper .slide .content {
	width: 100vw;
	display: grid;
	grid-template-columns: var(--content-col);
	grid-template-rows: auto;
	place-items: center start;
}

section.carousel .swiper .slide .content > article {
	grid-column: 2;
}

section.carousel .swiper .slide .content p {
	max-width: calc(var(--grid-4) - var(--offset));
}

/* ---------- lipstick ---------- */

section.carousel .swiper .slide .content > article { opacity: 0; margin-top: -60px; }
[data-interactive="1"] section.carousel .swiper .slide .content > article { opacity: 1; margin-top: 0;  }


section.carousel .slide .content > article > p {
	--font-size: 18px;
	--line-height: 28px;
}

/* ---------- colors ---------- */

section.carousel .slide[data-theme-color="green"] .content > article { color: white;    }
section.carousel .slide[data-theme-color="yellow"] .content > article,
section.carousel .slide[data-theme-color="red"] .content > article { color: white }
section.carousel .slide[data-theme-color="bordeaux"] .content > article { color: white }
section.carousel .slide[data-theme-color="yellow"] .content > article header span,
section.carousel .slide[data-theme-color="yellow"] .content > article p,
section.carousel .slide[data-theme-color="red"] .content > article header span { color: var(--color-text);  }
section.carousel .slide[data-theme-color="green"] .content > article header span { color: var(--color-primary); }

/* ---------- mediaquery ---------- */
@media screen and (max-width: 1499px) {
	section.carousel .swiper .content {
		--content-col: calc(50% - (var(--grid-6) + var(--offset-small))) var(--grid-6);
	}

	section.carousel .swiper .slide .content p {
		max-width: calc(var(--grid-5) - var(--offset));
	}

	section.carousel .slide .content > article > p {
		--font-size: 14px;
		--line-height: 28px;
	}
}

@media screen and (max-width: 1023px) {

	section.carousel .swiper .content {
		--content-col: 1fr;
		padding: var(--offset) var(--offset-small) ; 
	}

	section.carousel .swiper .slide .content > article {
		grid-column: 1;
	}

	section.carousel .swiper .slide .content p {
		max-width: 100%;
	}
}
/* ---------- vars ---------- */
section.carousel .media {
	--media-col: calc((50% - ((var(--column) * 3) + (var(--offset) * 3))));
}

/* ---------- layout ---------- */
section.carousel .media {
	width: 100vw; 
	display: grid; 
	grid-template-columns: var(--media-col) 1fr;
	place-items: stretch;
}

section.carousel .media .container { 
	grid-column: 2; 
	grid-row: 1;
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

section.carousel .media .overlay,
section.carousel .media .image,
section.carousel .media .jwplayer {
	width: 100%;
	height: 100%;
	grid-row: 1;
	grid-column: 1;
}


section.carousel .media .overlay {
	z-index: 10;
}

[data-interactive="1"] section.carousel .media .image,
[data-interactive="1"] section.carousel .media .overlay { opacity: 1; }

/* ---------- lipstick ---------- */

section.carousel .media .container { 
	background: var(--color-light-grey); 
}

section.carousel .media .image,
section.carousel .media .overlay {
	opacity: 0; 
	background-size: cover;
	background-position: 50%;
}


section.carousel .media .overlay[data-type="dark"] { background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 75%, rgba(0,0,0,1) 100%); }
section.carousel .media .overlay[data-type="light"] { background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.3) 75%, rgba(0,0,0,.5) 100%); }
section.carousel .media .overlay[data-type="medium"] { background: linear-gradient(to left, rgba(0,0,0,0) 0%, rgba(0,0,0,.4) 75%, rgba(0,0,0,.8) 100%); }
section.carousel .media .overlay[data-type="none"] { background: none; }

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {

	section.carousel .media {
		grid-template-columns: 1fr
	}

	section.carousel .media .container { 
		grid-column: 1; 
		grid-row: 1;
		grid-template-rows: minmax(300px, 1fr);
	}

	section.carousel .media .overlay[data-type="dark"],
	section.carousel .media .overlay[data-type="light"],
	section.carousel .media .overlay[data-type="medium"],
	section.carousel .media .overlay[data-type="none"]
	{
		background: none;
	}
}
/* ---------- vars ---------- */
section.carousel .navigation {
	--link-color: #d1d1d1;
}
section.carousel .navigation .bullet {
	--bullet-size: 12px;

}
section.carousel .navigation .bullet.active {
	--bullet-size: 16px;
}
/* ---------- layout ---------- */
section.carousel .navigation,
section.carousel .navigation .pagination {
	display: flex;
	justify-content: center;
	align-items: center;
}

section.carousel .navigation .pagination {
	display: inline-flex;
	width: auto;
	margin: 0 var(--offset-small); 
}

section.carousel .navigation .bullet {
	width: var(--bullet-size);
	height: var(--bullet-size);
	display: block;
}

/* ---------- lipstick ---------- */
section.carousel .navigation {
	padding: var(--offset-small) 0; 
}

section.carousel .navigation > a {
	text-transform: lowercase;
	font-weight: 700;
	font-style: italic;
	color: var(--link-color);
	text-decoration: none;
	transition: all var(--transition-speed);
}

section.carousel .navigation .bullet {
	background: var(--link-color);
	border-radius: 50%;
	margin: 0 3px;
	transition: all var(--transition-speed); 
	cursor: pointer;
}

section.carousel .navigation .bullet.active {
	background: var(--color-secondary); 
	transition: all var(--transition-speed); 
}

section.carousel .navigation > a:hover { color: var(--color-text); }
section.carousel .navigation .bullet:hover {
	background: var(--color-text);
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.carousel > .upcoming {
	display: none;
	position: absolute;
	width: var(--grid-3); 
	left: calc(50% + (var(--grid-3) + var(--offset)) );
	z-index: 200;
	top: calc(var(--offset) * -1); 
}

section.carousel > .upcoming .container {
	display: grid; 
	grid-template-columns: var(--offset) auto 1fr;
	grid-template-rows: var(--offset-small) auto calc(var(--offset) * 1.5);
}

section.carousel > .upcoming .container div:first-child { grid-row: 1 / 4; grid-column: 2 / 4; }
section.carousel > .upcoming .container div:last-child { 
	grid-row: 2;
	grid-column: 1 / 3;
	z-index: 100; 
}

[data-interactive="1"] section.carousel > .upcoming { display: none; }

/* ---------- lipstick ---------- */
section.carousel > .upcoming {
	
	opacity: 0; 
	margin-top: calc(var(--offset) * -1);
}


section.carousel > .upcoming.inactive {
	animation: upcoming-desktop-out .25s both ease-in-out
}

section.carousel > .upcoming.active {
	display: block;
	animation: upcoming-desktop-in .25s both ease-in-out
}

section.carousel > .upcoming .container div:first-child {
	background-size: cover;
	background-position: 50%;
	box-shadow: 0 0 30px rgba(0,0,0,.4);
}

section.carousel > .upcoming .container h5 {
	padding: calc(var(--offset-small) / 2)  calc(var(--offset-small));
	background: var(--color-section-gray);
	font-family: var(--font-family-header);
	font-size: 24px;
	line-height: 28px;
	font-weight: 700;
}

section.carousel > .upcoming .container h5 span {
	display: block; 
	padding: 0 10px;
	font-style: italic;
	line-height: 18px;
	font-size: 14px;
	font-family: var(--font-family);
	font-weight: 400;
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1499px) {
	section.carousel > .upcoming {
		width: var(--grid-4); 
		left: calc(50% + (var(--grid-2) + var(--offset)) );
	}

}

@keyframes upcoming-desktop-out {
	0% {
		opacity: 1;
		margin-top: 0; 
	}

	100% {
		opacity: 0; 
		margin-top: calc(var(--offset) * -1);
	}
}

@keyframes upcoming-desktop-in {

	0% {
		opacity: 0; 
		margin-top: calc(var(--offset) * -1);
	}

	100% {
		opacity: 1;
		margin-top: 0; 
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */


/* ---------- lipstick ---------- */
section.carousel .swiper-slide-active .media .image { animation: fade-in .4s forwards ease-in .2s;   }
section.carousel .swiper-slide-active .media .overlay { animation: fade-in .4s forwards ease-in .6s;   }
section.carousel .swiper-slide-active .background { animation: fade-in .3s forwards ease-in .3s, carousel-desktop-background .3s forwards ease-in .3s;  }
section.carousel .swiper-slide-active .content > article {animation: carousel-desktop-content .3s forwards ease-in .8s;   }
/* ---------- mediaquery ---------- */

@keyframes carousel-desktop-background {
	0% {
		width: 0; 
	}

	100% {
		width: 100%;
	}
}

@keyframes carousel-desktop-content {
	0% {
		margin-top: -60px;
		opacity: 0; 
	}

	30% {
		opacity: 1;
		margin-top: 20px;
	}

	100% {
		opacity: 1;
		margin-top: 0px
	}
}

@media screen and (max-width: 1023px) {


}

/* ---------- vars ---------- */

section.carousel {
	--min-height: 700px;
	--offset: 60px;
}

/* ---------- layout ---------- */

section.carousel {
	position: relative;
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: var(--min-height) auto;
}

section.carousel .swiper { grid-column: 1; grid-row: 1; width: 100%; }

section.carousel .swiper,
section.carousel .swiper .slide { height: var(--min-height); }

section.carousel .swiper .slide { width: 100vw; overflow: hidden; }

section.carousel .swiper .slide {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: calc(var(--min-height) - var(--offset)) var(--offset);
}

section.carousel .swiper .slide > div {
	grid-column: 1;
}

section.carousel .swiper .slide .media { 
	grid-row: 1 / 3; 
	z-index: 100; 
}

section.carousel .swiper .slide .background { 
	grid-row: 1;
	z-index: 200;  
}

section.carousel .swiper .slide .content {
	grid-row: 1; 
	z-index: 300;
}

section.carousel .swiper .slide .content .bordeaux {
	color: #fff !important;
}

section.carousel > .navigation,
section.carousel > .upcoming {
	grid-row: 2;
	grid-column: 1;
}

[data-interactive="1"] section.carousel {--min-height: auto;}
[data-interactive="1"] section.carousel .swiper .swiper-wrapper { display: block; padding: 20px; }
[data-interactive="1"] section.carousel * { opacity: 1; animation: none; }

[data-interactive="1"] section.carousel > .upcoming,
[data-interactive="1"] section.carousel > .navigation { display: none; } 

/* ---------- lipstick ---------- */

section.carousel {
	padding: 0; 
}

/* ---------- mediaquery ---------- */
/* Tablet */
@media screen and (max-width: 1499px) {
	section.carousel {
		--min-height: 600px;
		--offset: 60px;
	}
}

@media screen and (max-width: 1023px) {
	section.carousel {
		--min-height: auto;
	}

	section.carousel .swiper .slide {
		grid-template-rows: calc(var(--min-height) - var(--offset)) auto;
	}
	
	section.carousel .swiper .slide .media { 
		grid-row: 1; 
	}
	
	section.carousel .swiper .slide .background { 
		grid-row: 2;
		z-index: 200;  
	}
	
	section.carousel .swiper .slide .content {
		grid-row: 2; 
		z-index: 300;
	}

	section.carousel > .upcoming.active {
		display: none;
	}
}
/* ---------- vars ---------- */
section.textmedia[data-media="left"],
section.textmedia[data-media] {
	--media: calc((50% - var(--grid-3) - (var(--offset) * 1))) var(--offset) auto;
}

section.textmedia[data-media="right"] {
	--media: 1fr var(--offset) var(--offset) calc((50% - var(--grid-3)) + (var(--offset) * 1)); 
}

/* ---------- layout ---------- */
section.textmedia .background {
	display: grid; 
	grid-template-columns: var(--media);
	grid-template-rows: var(--offset) auto var(--offset);
}

section.textmedia .background div { z-index: 0; }
section.textmedia .background div:first-child {
	grid-column: 1 / 3;
	grid-row: 2;
}

section.textmedia .background div:last-child {
	grid-column: 2 / 4;
	grid-row: 1 / 4;
}

section.textmedia[data-media="right"] .background div:first-child {
	grid-column: 2 / 5;
	grid-row: 2;
}

section.textmedia[data-media="right"] .background div:last-child {
	grid-column: 1 / 3;
	grid-row: 1 / 4;
}

section.textmedia .background div:first-child {
	z-index: 100;
}

/* ---------- lipstick ---------- */

section.textmedia .background div:first-child {
	background: linear-gradient(90deg, #5fa9f4 0%, var(--color-yellow) 100%);
}

section.textmedia[data-media="left"][data-color="grey"] .background div:first-child {
	background: linear-gradient(to left, var(--color-light-grey) 0%, white 100%);
}

section.textmedia[data-media="left"][data-color="green"] .background div:first-child{
	background: var(--color-green);
}

section.textmedia[data-media="left"][data-color="bordeaux"] .background div:first-child{
    background: var(--color-bordeaux);
}

section.textmedia[data-media="left"][data-color="yellow"] .background div:first-child {
	background: var(--color-primary);
}

section.textmedia[data-media="right"][data-color="grey"] .background div:first-child {
	background: linear-gradient(to right, var(--color-light-grey) 0%, white 100%);
}

section.textmedia[data-media="right"][data-color="green"] .background div:first-child {
	background: var(--color-green);
}

section.textmedia[data-media="right"][data-color="bordeaux"] .background div:first-child {
    background: var(--color-bordeaux);
}

section.textmedia[data-media="right"][data-color="yellow"] .background div:first-child {
	background: var(--color-primary);
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 979px) {


}
/* ---------- vars ---------- */
section.textmedia { 
	--media-left: "";
}

/* ---------- layout ---------- */
section.textmedia { 
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: var(--offset) var(--offset) auto var(--offset) var(--offset) ;
}

section.textmedia .background,
section.textmedia .content {
	grid-column: 1;
	grid-row: 1 / 6;
}

section.textmedia .content {
	z-index: 100;
	grid-row: 3;
	display: grid; 
	grid-template-columns: 1fr;
	justify-content: center;
}

section.textmedia .content .wrapper {
	display: grid; 
	grid-template-columns: var(--grid-6) var(--grid-6);
	grid-template-areas: "media text";
	gap: calc(var(--offset) * 2);
	align-items: center;
}

section.textmedia[data-media="right"] .content .wrapper {
	grid-template-columns: var(--grid-6) var(--grid-6);
	grid-template-areas: "text media";
}

section.textmedia[data-media="right"] .content .wrapper > article { grid-area: text; }
section.textmedia[data-media="right"] .content .wrapper > aside { grid-area: media; }

section.textmedia[data-media="right"] .content .wrapper > article { margin-left: 75px; margin-right: 50px; }
section.textmedia[data-media="right"] .content .wrapper > article header { margin-left: -75px; }

section.textmedia[data-position="top"] .content .wrapper {
	align-items: start;
}

section.textmedia[data-position="middle"] .content .wrapper {
	align-items: center;
}

section.textmedia[data-position="bottom"] .content .wrapper {
	align-items: end;
}

/* ---------- lipstick ---------- */


/* ---------- mediaquery ---------- */
@media screen and (max-width: 1499px) {
	section.textmedia .content {
		padding: var(--offset); 
	}
	section.textmedia .content .wrapper {
		grid-template-columns: 1fr 1fr;
	}
	
	section.textmedia[data-media="right"] .content .wrapper {
		grid-template-columns: 1fr 1fr;
		grid-template-areas: "text media";
	}

	section.textmedia[data-media="right"] .content .wrapper > article { margin-left: 40px; margin-right: 0px; }
	section.textmedia[data-media="right"] .content .wrapper > article header { margin-left: -40px; }
}

@media screen and (max-width: 1023px) {
	section.textmedia { 
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: 1fr;
	}

	section.textmedia .background { display: none; }

	section.textmedia .content .wrapper,
	section.textmedia[data-media="right"] .content .wrapper  {
		grid-template-columns: auto;
		grid-template-areas: 
			"media"
			"text";
	}

	section.textmedia[data-media="right"] .content .wrapper {
		grid-template-areas: 
		"text"
		"media";
	}

	section.textmedia[data-media="right"] .content .wrapper > article,
	section.textmedia[data-media="right"] .content .wrapper > article header { margin-left: 0; margin-right: 0; }

	section.textmedia .content .wrapper aside.media figure { margin-left: auto; margin-right: auto; }

}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.news.module {
	display: grid;
	grid-template-columns: 1fr;
	grid-template-rows: auto 60px;
}

section.news.module .background {
	grid-column: 1;
	grid-row: 1;
	display: grid;
	grid-template-columns: calc(50% + (var(--grid-6) - var(--offset)));
	place-items: stretch;
}


section.news.module .container {
	padding-top: var(--offset); 
	grid-column: 1;
	grid-row: 1 / 3;
	z-index: 100;
}

[data-interactive="1"] section.news.module .background { animation: none; opacity: 1; }

/* ---------- lipstick ---------- */
section.news.module[data-theme-color="green"] .background > div { background: var(--color-green); }
section.news.module[data-theme-color="red"] .background > div { background: var(--color-secondary); }
section.news.module[data-theme-color="yellow"] .background > div { background: var(--color-primary); }

section.news.module .background { opacity: 0; }
section.news.module.viewable .background { animation: fade-in .3s forwards .3s}
section.news.module.viewable .background div { animation: news-module-background .3s forwards .3s;  }


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}

@keyframes news-module-background {
	0% {
		width: 50%;
	}

	100% {
		width: 100%;
	}
}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
section.page.news .overview {
	display: grid; 
	grid-template-columns: 1fr;
	grid-template-rows: 1fr;
}

section.page.news .overview > * {
	grid-row: 1;
	grid-column: 1;
}

section.page.news .overview .background {
	display: grid;
	grid-template-columns: calc(50% - (var(--grid-2) + var(--offset)));
}

section.page.news .overview .background div {
	background: var(--color-green);
}

section.page.news .overview > .container { z-index: 100; }

/* ---------- lipstick ---------- */
section.page.news .content.overview .container {
	padding: calc(var(--offset) * 2) 0; 	

}


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1499px) {


}
/* ---------- vars ---------- */
section.news .list .item .source {
	--source-size: 24px;
}

/* ---------- layout ---------- */
section.news .list .wrapper {
	display: grid; 
	grid-template-columns: repeat(4, var(--grid-3));
	gap: var(--offset); 
	place-items: stretch start;
}

section.news .list .item:first-child {
	grid-column: span 1;
}

section.news .list .item {
	width: 100%;
	display: grid;
	grid-template-columns: var(--offset-small) auto auto;
	grid-template-rows: var(--offset-small) 100px 180px auto;
}

section.news .list .item .date {
	grid-column: 2;
	grid-row: 1 / 3;
	z-index: 300;
}

section.news .list .item .image {
	grid-column: 1 / 4;
	grid-row: 2 / 4; 
	z-index: 100;
}

section.news .list .item .content {
	grid-column: 1 / 4;
	grid-row: 3 / 5;
	z-index: 200;
	display: flex;
	align-items: end;
}

section.news .list .item .source {
	grid-column: 3;
	grid-row: 2;
	justify-self: end;
	z-index: 150;
	padding: 10px;
}

section.news .list .item .source[data-source="instagram"] div {
	width: var(--source-size);
	height: var(--source-size);
	display: flex;
	justify-content: center;
	align-items: center;
}

/* section.news .list .item:nth-child(n+2) { display: none; } */

/* ---------- lipstick ---------- */
[data-interactive="1"] section.news .list .item,
[data-interactive="1"] section.news .list .item > div { opacity: 1; animation: none; }

section.news .list .item .source div {
	color: white;
	background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
	border-radius: 50%;
}

section.news .list .item > div { opacity: 0; }

section.news .list .item .image {
	background-size: cover;
	background-position: 50%;
}

section.news .list .item .content {
	background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 120px, rgba(0,0,0,1) 180px );
	padding: 60px var(--offset-small) var(--offset-small) var(--offset-small);
	color: white;
}

section.news .list .item .content header h2 {
	margin-bottom: 15px;
}
section.news .list .item .content h2 {
	font-size: 30px;
	line-height: 32px;
}

section.news .list .item .content h2 span {
	display: block; 
	font-size: 16px;
}

section.news .list .item .content .action {
	text-align: right;
}

section.news .list .item .content .readmore {
	color: white;
	margin-top: 0; 
}

section.news .list .item .content .readmore:hover {
	color: var(--color-primary); 
}

section.news[data-theme-color="green"] h2 span,
section.news[data-theme-color="red"] h2 span { color: var(--color-primary); }
section.news[data-theme-color="yellow"] h2 span { color: var(--color-text-medium); }
 
/* ---------- animations ---------- */

section.news.viewable .list .item { }
section.news.viewable .list .item > div { animation: fade-in .3s forwards .5s; }

section.news.viewable.module .list .item:nth-child(2) { animation-delay: .8s }
section.news.viewable.module .list .item:nth-child(2) > div { animation-delay: .8s }

section.news.viewable.module .list .item:nth-child(3) { animation-delay: 1s }
section.news.viewable.module .list .item:nth-child(3) > div { animation-delay: 1s }

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1499px) {

	section.news .list .wrapper {
		grid-template-columns: repeat(auto-fit, minmax(280px, 460px));
	}

	section.news .list .item:first-child {
		grid-column: unset;
	}
}


@media screen and (max-width: 1023px) {

	section.news .list .wrapper {
		justify-content: center;
	}

	section.news .list .item:first-child {
		grid-column: span 1;
	}
}
/* ---------- vars ---------- */
section.news .date {
	--date-size: 80px;
}

/* ---------- layout ---------- */
section.news .date {
	position: relative;
	display: grid;
	place-items: center;
	width: var(--date-size); 
	height: var(--date-size); 
}

/* ---------- lipstick ---------- */
section.news .date {
	background: var(--color-primary); 
	text-align: center;
}

section.news .date:before {
	position: absolute;
	width: calc(var(--date-size) - 15px);
	height: calc(var(--date-size) - 15px);
	border: 3px solid white;
	display: block;
	content: "";
}

section.news .date > div {
	color: white;
	padding: 10px;
	font-size: 30px;
	font-weight: 700;
	line-height: 28px;
}

section.news .date > div span {
	font-size: 16px;
	line-height: 14px;
	display: block;
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
.readmore {
	position: relative;
	display: inline-flex;
}

.readmore:after {
	position: absolute;
	display: inline-block;
	right: -20px;

}

/* ---------- lipstick ---------- */
.readmore {
	font-size: 14px;
	transition: all var(--transition-speed); 
	margin: var(--line-height) 20px 0 0;
	color: var(--color-text);
	font-style: italic;
	text-underline-offset: 2px;
}

.readmore:hover {
	text-decoration: none;
	color: var(--color-primary); 
}

.readmore:after {
	font-style: normal;
	transition: all var(--transition-speed); 
	color: var(--color-primary); 
	font-weight: 400;
	font-size: 16px;
	content: "\f343";
	font-family: var(--fontawesome);
}

.readmore:hover:after {
	right: -17px;
}


/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {


}
/* ---------- vars ---------- */


/* ---------- layout ---------- */
.sub-pages {
	display: grid;
	grid-template-columns: auto;
	justify-content: center;
}

.sub-pages > .pages {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	align-items: center;
	gap: var(--offset-small); 
}

.sub-pages > .pages ul {
	display: flex;
	justify-content: flex-start;
	flex-wrap: wrap;
}


/* ---------- lipstick ---------- */

.sub-pages {
	padding-top: var(--section-spacing); 
	font-weight: 700;
}

.sub-pages > .pages > div:first-child {
	font-size: 14px;
	line-height: 20px;
}
.sub-pages > .pages a {
	font-size: 16px;
	padding: 10px var(--offset-small); 
	background: var(--color-light-grey);
	border-radius: 5px;
	text-decoration: none;
	transition: all var(--transition-speed); 
}

.sub-pages > .pages a:hover {
	background: var(--color-text); 
}

.sub-pages > .pages ul li {
	margin: 0 5px;
}

*[data-theme="red"] .sub-pages > .pages a {
	background: white;
	color: var(--color-red); 
}

*[data-theme="red"] .sub-pages > .pages a:hover {
	background: var(--color-secondary);
	color: white; 
}

*[data-theme="yellow"] .sub-pages > .pages a {
	background: white;
	color: var(--color-black); 
}

*[data-theme="yellow"] .sub-pages > .pages a:hover {
	background: var(--color-primary);
	color: var(--color-black); 
}

*[data-theme="green"] .sub-pages > .pages a {
	background: white;
	color: var(--color-green); 
}

*[data-theme="green"] .sub-pages > .pages a:hover {
	background: var(--color-green);
	color: white; 
}

*[data-theme="bordeaux"] .sub-pages > .pages a {
    background: white;
    color: var(--color-bordeaux);
}

*[data-theme="bordeaux"] .sub-pages > .pages a:hover {
    background: var(--color-bordeaux);
    color: white;
}

/* ---------- mediaquery ---------- */


@media screen and (max-width: 1023px) {
	
	.sub-pages { grid-template-columns: 1fr;}

	.sub-pages > .pages {
		display: block;
	}
	
	.sub-pages > .pages > div {
		grid-column: 1 / -1;
	}

	.sub-pages > .pages > div:first-child {
		text-align: center;
	}

	.sub-pages > .pages ul {
		padding: var(--offset-small);
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(50px, 150px));
		justify-content: center;
		justify-items: center;
		gap: var(--offset-small); 
		
	}

}

