@charset "utf-8";
/* CSS Document */

*	{
	border: 0 none;
	margin: 0;
	padding: 0;
	line-height: 1em;
	
	box-sizing: 		border-box;
	-moz-box-sizing: 	border-box; 
	-webkit-box-sizing: border-box;
	-o-box-sizing: 		border-box;
	-ms-box-sizing: 	border-box;
}

:root {
	--maincolor: #fdd702;
	--mainlightercolor: #fffae0;
	--blackcolor: #111;
	--graycolor1: #f5f5f5;
	--graycolor2: #eaeaea;
	--whitecolor: #fff;
	--darkerwhitecolor: #fbfbfb;
}
			
html	{
	width: 100%;
	height: auto;
	
	font-family: "Montserrat", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	text-align: left;
	
	font-size: 20px;
	
	color: var(--blackcolor);
	
	background-color: #fff;

	-webkit-text-size-adjust: 100%;	/* !! iphone font-size !! */
	
	overflow-x: hidden;
}
		
body	{
	width: 100%;
	height: auto;
	font-size: 1rem;
}

p	{ font-size: 1rem; line-height: 1.5em; margin-bottom: 1rem; }

p:last-of-type	{ margin-bottom: 0; }

a	{
	text-decoration: none;
	cursor: pointer;
	outline: none;
	transition: all 0.5s ease;
}

p a			{ color: var(--blackcolor); background-color: var(--maincolor); padding: 0.25rem 0.5rem; border-radius: 7px; }
p a:hover	{ color: var(--whitecolor); background-color: var(--blackcolor); }

h1 a, h2 a, h3 a					{ color: var(--blackcolor); }
h1 a:hover, h2 a:hover, h3 a:hover	{ color: #6831D4; }

img	{ max-width: 100%; }

strong	{ font-weight: 600; }

ul, ol, li	{ list-style: none; list-style-type: none; }

h1, h2, h3	{ font-weight: 700; margin-bottom: 1rem; color: var(--maindarkercolor); }

h1, h2	{ font-size: 2.25rem; line-height: 1.3em; }
h3	{ font-size: 1.25rem; line-height: 1.4em; }

/* -------------------------------------------------------------------------------------------------------- */

/* general */

header	{
	position: relative;
	background-color: var(--whitecolor);
	display: grid;
	grid-template-columns: 33.333% 66.666%;
	align-items: center;
	width: 100%;
	height: auto;
	padding: 2rem 15%;
}

.logo	{
	display: block;
	width: auto;
	height: auto;
	text-align: left;
}

a.logo-link	{
	display: inline-block;
	width: auto;
	max-width: 100%;
	height: auto;
}

a.logo-link img	{ display: block; width: auto; height: auto; }

nav	{
	display: block;
	width: auto;
	height: auto;
	text-align: right;
}

nav a	{
	display: inline-block;
	width: auto;
	height: auto;
	padding: 1rem;
	margin-left: 0.5rem;
	font-size: 1rem;
	line-height: 1em;
	font-weight: 600;
	color: var(--blackcolor);
	border-radius: 7px;
}

nav a:hover	{ background-color: var(--maincolor); color: var(--blackcolor); }

a.mobile-nav-trigger	{
	position: absolute;
	background-color: var(--maincolor);
	display: none;
	width: 5rem;
	height: 100%;
	top: 0;
	bottom: 0;
	right: 0;
	color: var(--blackcolor);
	
	border-top-left-radius: 7px;
	border-bottom-left-radius: 7px;
}

a.mobile-nav-trigger i	{
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	margin-top: -1.25rem;
	margin-left: -1.25rem;
	font-size: 2.5rem;
	line-height: 1em;
	
	transform: rotate(90deg);
}

.mobile-nav	{
	position: fixed;
	display: none;
	background-color: var(--mainlightercolor);
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	padding: 0 20%;
	z-index: 10;
	overflow-y: auto;
	user-select: none;
}

.mobile-nav.active	{ display: block; }

.mobile-nav-inner	{ 
	display: grid; 
	width: 100%;
	height: 100%;
	align-content: center;
}

.mobile-nav-inner a	{
	display: block;
	height: auto;
	padding: 1rem;
	
	font-size: 1.5rem;
	line-height: 1.3em;
	font-weight: 600;
	color: var(--blackcolor);
	text-align: center;
	
	border-bottom: solid 1px rgba(253,215,2,0.5);
}

.mobile-nav-inner a:first-of-type	{ border-top: solid 1px rgba(253,215,2,0.5); }

a.mobile-nav-close	{
	position: absolute;
	display: block;
	background-color: var(--whitecolor);
	width: 5rem;
	height: 6rem;
	top: 0;
	right: 0;
	color: var(--maininvertedcolor);
	
	border-top-left-radius: 7px;
	border-bottom-left-radius: 7px;
}

a.mobile-nav-close i	{
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	margin-top: -1.25rem;
	margin-left: -1.25rem;
	font-size: 2.5rem;
	line-height: 1em;
}

a.btn	{ 
	display: inline-block;
	width: auto;
	height: auto;
	padding: 1rem;
	margin-top: 1.5rem;
	font-size: 1rem;
	line-height: 1em;
	font-weight: 600;
	border-radius: 7px;
}

a.btn		{ background-color: var(--maincolor); color: var(--blackcolor); }
a.btn:hover	{ background-color: var(--blackcolor); color: var(--whitecolor); }

a.btn.inverted-color		{ background-color: var(--whitecolor); color: var(--blackcolor); }
a.btn.inverted-color:hover	{ background-color: var(--maincolor); color: var(--blackcolor); }

section	{
	position: relative;
	width: 100%;
	height: auto;
	min-height: 550px;
	padding: 0 15%;
}

footer	{
	position: relative;
	background-color: var(--blackcolor);
	padding: 2rem 15%;
	text-align: left;
	line-height: 1.3em;
	color: rgba(255,255,255,0.7);
}

footer p	{ margin-bottom: 1rem; }
footer p:last-of-type	{ margin-bottom: 0; }

footer a		{ color: rgba(255,255,255,0.7); background-color: transparent; padding: 0; border-radius: 0; }
footer a:hover	{ color: rgba(255,255,255,1); background-color: transparent; }

footer .footer-links i	{ font-style: normal; }

footer .social-links a	{ display: inline-block; margin-right: 1rem; font-size: 3rem; }

.cookie-notif	{
	position: fixed;
	display: none;
	background-color: var(--blackcolor);
	width: 100%;
	height: auto;
	bottom: 0;
	left: 0;
	padding: 1rem 3.5rem 1rem 1rem;
	text-align: left;
	z-index: 15;
	box-shadow: 0 0 10px rgba(0,0,0,0.5);
}

.cookie-notif.accepted	{ display: none; }
.cookie-notif.notaccepted	{ display: block; }

.cookie-notif p	{ color: var(--whitecolor); margin-bottom: 0; }

.cookie-notif p a	{ display: inline-block; }

.cookie-notif p a,
a.cookie-close	{ color: var(--maincolor); }

.cookie-notif p a:hover,
a.cookie-close:hover	{ color: rgba(255,255,255,0.7); }

.cookie-notif p a,
.cookie-notif p a:hover	{ background-color: transparent; padding: 0; border-radius: 0;  }

a.cookie-close	{
	position: absolute;
	display: block;
	width: 2rem;
	height: 2rem;
	right: 1rem;
	top: 50%;
	margin-top: -1rem;
	color: var(--maincolor);
	border: solid 1px rgba(255,255,255,0.25);
	border-radius: 7px;
}

a.cookie-close i	{ 
	display: block;
	width: 2rem;
	height: 2rem;
	font-size: 2rem;
	line-height: 1em;
}

hr.hr-separator	{ margin: 1.5rem 0 1rem; height: 1px; background-color: #ccc; }

/* end general */

/* -------------------------------------------------------------------------------------------------------- */

/* homepage */

ul.box-wrapper	{
	display: grid;
	align-items: start;
	column-gap: 3%;
	row-gap: 2rem;
	margin-bottom: 2rem;
}

ul.box-wrapper.col-1	{ grid-template-columns: 100%; }
ul.box-wrapper.col-2	{ grid-template-columns: 48.5% 48.5%; }
ul.box-wrapper.col-3	{ grid-template-columns: 31.333% 31.333% 31.333%; }
ul.box-wrapper.col-2-3	{ grid-template-columns: 31.333% 65.666%; }
ul.box-wrapper.col-3-2	{ grid-template-columns: 65.666% 31.333%; }
/*ul.box-wrapper.col-4	{ grid-template-columns: 22.75% 22.75% 22.75% 22.75%; }
ul.box-wrapper.col-5	{ grid-template-columns: 17.6% 17.6% 17.6% 17.6% 17.6%; }*/

li.box-item,
.box-title,
.box-full-width	{ 
	display: block;
	width: 100%;
	height: auto;
	padding: 2rem;
	border-radius: 7px;
}

li.box-item.graycolor1			{ background-color: var(--graycolor1); }
li.box-item.graycolor2			{ background-color: var(--graycolor2); }
li.box-item.mainlightercolor	{ background-color: var(--mainlightercolor); }
li.box-item.darkerwhitecolor	{ background-color: var(--darkerwhitecolor); }

li.box-item.treatments a.btn	{ margin: 0.5rem 0.5rem 0.5rem 0; }

.box-title,
.box-full-width	{ background-color: var(--graycolor1); margin-bottom: 2rem; }

.clear-container	{ padding: 0 2rem; margin-bottom: 2rem; }

.clear-container h2,
.box-title h1,
.box-title h2	{ margin-bottom: 0; }

.clear-container h2	{ font-weight: 400; color: #555; }

.cta-container.inactive	{ display: none; }

a.cta-btn	{ color: #555; }
a.cta-btn:hover	{ color: var(--blackcolor); }

.box-highlight	{ 
	background-color: var(--mainlightercolor); 
	padding: 2rem 0; 
	margin-bottom: 2rem;
	border-radius: 7px;
}

.box-highlight ul.box-wrapper	{ margin-bottom: 0; }

.box-highlight li.box-item	{ padding-top: 0; padding-bottom: 0; }

.icon-container	{ margin-bottom: 1rem; }

.icon-container img	{ display: block; width: auto; height: auto; }

.box-highlight strong	{ color: var(--maincolor); }

li.box-item.full-image	{
	position: relative;
	height: 100%;
	padding: 0;
	overflow: hidden; 
	border-radius: 7px;
	
	background-position: center;
	background-repeat: no-repeat;
	
	background-size: 			cover;
	-moz-background-size: 		cover;
	-webkit-background-size: 	cover;
	-o-background-size: 		cover;
	-ms-background-size: 		cover;
}

.secondary-full-image	{
	position: relative;
	display: none;
	width: 100%;
	height: 15rem;
	margin-bottom: 2rem;
	
	overflow: hidden; 
	border-radius: 7px;
	
	background-position: center;
	background-repeat: no-repeat;
	
	background-size: 			cover;
	-moz-background-size: 		cover;
	-webkit-background-size: 	cover;
	-o-background-size: 		cover;
	-ms-background-size: 		cover;
}

li.box-item.full-image.hp-image,
.secondary-full-image.hp-image	{ background-image: url(../images/hp-image.webp); }

/* end homepage */

/* -------------------------------------------------------------------------------------------------------- */

/* homepage slider */

li.box-item.slider	{ 
	position: relative;
	height: 100%;
	padding: 0;
	overflow: hidden; 
	border-radius: 7px;
}

.slider-wrapper	{ 
	position: relative; 
	width: 100%; 
	height: 100%;
	top: 0;
	left: 0;
}

.slider-image	{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	
	opacity: 0;
	border-radius: 7px;
	
	background-position: center;
	background-repeat: no-repeat;
	
	background-size: 			cover;
	-moz-background-size: 		cover;
	-webkit-background-size: 	cover;
	-o-background-size: 		cover;
	-ms-background-size: 		cover;
	
	transition: all 2s ease;
}

.slider-image.si1	{ background-image: url(../images/slider/slide1.webp); }
.slider-image.si2	{ background-image: url(../images/slider/slide2.webp); }
.slider-image.si3	{ background-image: url(../images/slider/slide3.webp); }
.slider-image.si4	{ background-image: url(../images/slider/slide4.webp); }
.slider-image.si5	{ background-image: url(../images/slider/slide5.webp); }
.slider-image.si6	{ background-image: url(../images/slider/slide6.webp); }

.slider-image.active	{ opacity: 1; }

.slider-nav	{
	position: absolute;
	width: auto;
	height: auto;
	bottom: 2rem;
	right: 2rem;
	z-index: 5;
}

.slider-nav a	{
	display: inline-block;
	background-color: var(--whitecolor);
	width: 1rem; 
	height: 1rem;
	margin: 0 1rem;
	
	opacity: 0.7;
	
	border-radius: 50%;
	
	box-shadow: 0 2px 5px rgba(0,0,0,0.3);
}

.slider-nav a.active	{ opacity: 1; background-color: var(--maincolor); }

.slider-nav a:hover	{ opacity: 1; }

/* end homepage slider */

/* -------------------------------------------------------------------------------------------------------- */

/* article view */

.address-widget	{
	position: relative;
	width: 100%; 
	height: auto; 
	padding: 1rem 0;
	margin-bottom: 1rem; 
	border-top: dotted 1px rgba(0,0,0,0.1);
	border-bottom: dotted 1px rgba(0,0,0,0.1);
	overflow: hidden;
}

.aw-email	{
	position: relative;
	background-color: var(--whitecolor);
	display: block;
	float: left;
	width: auto;
	height: 3rem;
	padding: 0.875rem 1rem;
	margin-right: 1rem;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1em;
	text-align: center;
	border-radius: 7px;
}

.aw-email a	{ 
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1em;
	color: var(--blackcolor); 
	font-weight: 700; 
}

.aw-email a:hover	{ color: #6831D4; }

a.aw-copy	{
	position: relative;
	display: block;
	float: left;
	width: auto;
	height: auto;
	padding: 1rem;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1em;
	color: var(--whitecolor);
	text-align: center;
	border-radius: 7px;
}

a.aw-copy	{ background-color: var(--maincolor); color: var(--blackcolor); }
a.aw-copy:hover	{ background-color: var(--blackcolor); color: var(--whitecolor); }

a.aw-copy.done,
a.aw-copy.done:hover	{ background-color: #6831D4; color: var(--whitecolor); }

span.awc-first.hidden,
span.awc-last.hidden	{ display: none; }

.share-widget	{ 
	position: relative;
	background-color: #F4F0FC; 
	width: 100%; 
	height: auto; 
	padding: 2rem;
	margin-bottom: 2rem; 
	border-radius: 7px;
}

.share-widget a	{ 
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	padding: 1rem;
	margin: 0.25rem 0.25rem 0.25rem 0;
	font-weight: 600;
	font-size: 1rem;
	line-height: 1em;
	color: var(--whitecolor);
	text-align: center;
	border-radius: 7px;
}

.share-widget a.sw-fb	{ background-color: #1877f2; }
.share-widget a.sw-tx	{ background-color: #000; }
.share-widget a.sw-in	{ background-color: #0a66c2; }
.share-widget a.sw-re	{ background-color: #ff5700; }

.share-widget a.sw-cta,
.share-widget a.sw-cta:hover	{ background-color: var(--whitecolor); border: solid 1px #6831D4; color: var(--blackcolor); cursor: default; }

.share-widget a.sw-copy	{ background-color: var(--darkerwhitecolor); border: solid 1px var(--blackcolor); color: var(--blackcolor); }
.share-widget a.sw-copy.done	{ background-color: var(--graycolor2); border: solid 1px var(--blackcolor); color: var(--blackcolor); }

span.swc-first.hidden,
span.swc-last.hidden	{ display: none; }

.share-widget a:last-of-type	{ margin-right: 0; }

/* end article view */

/* -------------------------------------------------------------------------------------------------------- */

/* input, textarea */

input,
textarea	{
	display: block;
	background-color: var(--graycolor1);
	width: 100%;
	height: auto;
	margin-bottom: 1.5rem;
	
	font-family: "Montserrat", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	color: var(--blackcolor);
	
	border: solid 2px var(--blackcolor);
	border-radius: 7px;
	outline: none;
	resize: none;
	
	-moz-appearance: none;
	-webkit-appearance: none;
	
	transition: all 0.5s ease;
}

input	{ height: 3rem; padding: 1rem; line-height: 1em; }

textarea	{ height: 17rem; padding: 1rem; line-height: 1.5em; }

input:focus,
textarea:focus	{ background-color: var(--whitecolor); }

input:last-of-type	{ margin-bottom: 0; }
			
input[type=submit]	{ 
	background-color: var(--maincolor);
	width: auto;
	height: 3.5rem;
	margin-bottom: 1.5rem;
	
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--blackcolor);
	
	border: none;
	cursor: pointer;
}

input[type=submit]:hover	{ background-color: var(--blackcolor); color: var(--whitecolor); }

::-webkit-input-placeholder { color: var(--blackcolor); }
::-moz-placeholder 			{ color: var(--blackcolor); }
:-ms-input-placeholder 		{ color: var(--blackcolor); }
:-moz-placeholder 			{ color: var(--blackcolor); }

input[type=checkbox]	{
	display: block;
	background-color: transparent;
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 0;
	
	border: none;
	border-radius: 0;
	cursor: pointer;
	
	-moz-appearance: auto;
	-webkit-appearance: auto;
	
	transition: none;
}

.agree-terms	{ 
	margin-bottom: 1.5rem; 
	overflow: hidden;
}

.agree-terms label.label-checkterms	{
	position: relative;
	display: block;
	float: left;
	width: auto;
	height: auto;
	margin-right: 0.5rem;
}

.agree-terms p.text-checkterms	{
	position: relative;
	display: block;
	float: left;
	width: 80%;
	height: auto;
}

p.text-checkterms a	{ color: #6831D4; background-color: transparent; padding: 0; border-radius: 0; }

p.text-checkterms a:hover	{ color: var(--blackcolor); }

.form-fields	{
	display: block;
	width: 100%;
	height: auto;
}

.form-success	{
	display: block;
	width: 100%;
	height: auto;
	padding: 1rem;
	background-color: #10bf56;
	color: #fff;
	
	border-radius: 7px;
}

.form-success i	{
	display: inline-block;
	font-size: 5rem;
	margin-bottom: 0.5rem;
}

.form-success.inactive,
.form-fields.inactive	{ display: none; }

.form-box-columns-wrapper	{ position: relative; margin-bottom: 1.5rem; overflow: hidden; }

.fbc-col	{
	position: relative;
	float: left;
	width: 48.5%;
	height: auto;
}

.fbc-col:first-of-type	{ margin-right: 3%; }

/* end input, textarea */

/* -------------------------------------------------------------------------------------------------------- */

/* customize */

.fleft	{ float: left; }
.fright	{ float: right; }
.hide	{ display: none; }
	
/* end customize */

/* -------------------------------------------------------------------------------------------------------- */


