/* Reset */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, 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, 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; -webkit-margin-after: 0px; -webkit-margin-before: 0px; }
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; }
strong, b { font-weight: 700; }
i { font-style: italic; }
* { -webkit-margin-before: 0; -webkit-margin-after: 0; }
.clear { clear: both; }
textarea, label, input, select { cursor: pointer; }
img { width: auto; height: auto; max-width: 100%; }
sup { vertical-align: super; font-size: smaller; }

/* General */
body { background: #bba494; width: 100%; height: 100%; padding:0; font: 400 12px/1.2 'Open sans', 'Arial', sans-serif; }
h1, h2, h3, h4, h5, h6 { font-family: 'Muli', 'Arial', sans-serif; text-transform: uppercase; }
#page { width: 1000px; max-width: 100%; margin: 36px auto 4%; margin: auto; color: #666; text-align: center; counter-reset: banners; }
#page > div { box-sizing: border-box; }
h1 { font: 300 42pt/.95 'Muli', 'Arial', sans-serif; display: block; text-align: right; color: #231f20; letter-spacing: 0; margin: 0 0 50px 0; max-width: 100%; }
h1 b { display: block; font: inherit; color: #6f1947; font-weight: 800; font-size: 36pt; line-height: 1; margin: 6px 0 0; }
#page [type="text"], #page [type="tel"], #page select { box-sizing: border-box; background: #FFF; width: 100%; max-width: 100%; margin: 0 0 10px; height: 36px; padding: 0 14px; font-size: 15pt; color: #653231; outline: none; border: 0; }
#page [type="text"]:active, #page [type="text"]:focus { outline: none; }
#page button { transition: all .4s; font: 400 16pt 'Open Sans', 'Arial', sans-serif; background: #653231; color: #fdfeff; border: 0; letter-spacing: 2px; text-align: center; padding: 9px 48px; cursor: pointer; margin: 6px auto 0; }
#page button:hover { background: #d2d2d3; color: #fff; }
hr { border: 0; width: 86px; height: 9px; background: #76848f; margin: 15px auto 33px; }

/* Link to main website */
#page > a { display: block; width: -webkit-max-content; width: max-content; margin: 20px 0; }
#page > a img { display: block; }

/* Summary */
#summary { background: no-repeat url( '../images/bg/summary.jpg' ) top right; padding: 88px 45px; height: 945px; }
#summary p { font: 500 22.8pt/1.2 'Muli', 'Arial', sans-serif; text-align: right; letter-spacing: .5px; color: #231f20; margin: 0 0 0 auto; max-width: 366px; }
#summary p b { font: inherit; font-weight: 800; }
#summary section { width: 500px; max-width: 100%; margin: 0 0 0 auto; }
#summary div { position: relative; width: 353px; height: 330px; margin: 70px 0 0 auto; border: 2px solid #6f1947; padding: 20px 20px 0; box-sizing: border-box; z-index: 0; }
#summary div:before { content: ''; position: absolute; top: -12px; left: -12px; display: block; width: 100%; height: 100%; border: 2px solid #6f1947; z-index: -1; }
#summary h2 { color: #6f1947; font-size: 27pt; letter-spacing: 1px; line-height: 1; }
#summary h2 b { color: #75858f; font: inherit; font-weight: 700; font-size: 29pt; letter-spacing: inherit; }
.price { font: 800 43pt/.7 'Muli', 'Arial', sans-serif; color: #6f1947; letter-spacing: .5px; }
.price small { font: inherit; font-size: 14pt; font-weight: 300; color: inherit; margin: 0 8px 0 0; letter-spacing: inherit; }
#summary button { position: absolute; left: 50%; transform: translateX( -50% ); bottom: -17px; background: #6f1947; margin: 0; width: 205px; font: 600 19pt 'Muli', 'Arial', sans-serif; letter-spacing: 1px; padding: 7px 35px; box-shadow:  -2px 5px 5px 0px #00000080; }

/* Differents */
#differents { background: url( '../images/bg/differents.jpg' ) no-repeat; height: 1146px; padding: 68px 0; }
#differents h2 { color: #fff; letter-spacing: .5px; font-weight: 300; font-size: 38pt; line-height: 1.1; }
#differents h2 b { display: block; font: inherit; font-weight: 800; letter-spacing: inherit; }
#differents section { position: relative; top: 54%; left: 50%; transform: translate( -50%, -50% ); }
#differents h3 { color: #fff; font-weight: 300; font-size: 38pt; letter-spacing: .5px; line-height: 1.1; }
#differents h3 b { display: block; font: inherit; font-weight: 800; letter-spacing: inherit; }
#differents ul { position: relative; }
#differents li { position: absolute; background: url( '../images/icons/tissue-regeneration.png' ) no-repeat center top; padding: 160px 0 0; letter-spacing: .5px; font-size: 16pt; font-weight: 600; color: #fff; line-height: 1.2; width: 201px; }
#differents li:first-of-type { top: 143px; left: 66px; }
#differents li:nth-of-type( 2 ) { background-image: url( '../images/icons/skin-rejuvenation.png' ); top: -80px; left: 50%; transform: translateX( -50% ); }
#differents li:nth-of-type( 3 ) { background-image: url( '../images/icons/stem-cell.png' ); top: 165px; right: 60px; }
#differents li:nth-of-type( 4 ) { background-image: url( '../images/icons/collagen-synthesis.png' ); left: 153px; top: 530px; }
#differents li:nth-of-type( 5 ) { background-image: url( '../images/icons/anti-aging.png' ); right: 140px; top: 530px; }
#differents hr { margin: 27px auto; }

/* Description */
#description { position: relative; background: url( '../images/bg/description.jpg' ) no-repeat center right; padding: 70px 20px 113px; height: 1260px; }
#description h2 { text-transform: none; color: #231f20; font-size: 22.4pt; letter-spacing: .5px; line-height: 1.4; max-width: 709px; margin: auto; }
#description h2 b { display: block; text-transform: uppercase; font: inherit; font-size: 37.4pt; font-weight: 800; color: inherit; }
#description hr { margin: 31px auto 39px; }
#description p { max-width: 709px; margin: 0 auto 25px; letter-spacing: .5px; color: #231f20; font-size: 12.9pt; font-weight: 400; line-height: 1.6; text-align: justify; text-align-last: center; }
#description p b { font: inherit; font-weight: 600; }
#description p ~ p { max-width: 792px; text-align: center; }
#description h3 { font-size: 32pt; font-weight: 700; line-height: 1; color: #231f20; margin: 0; max-width: 100%; }
#description h3 span { font: inherit; color: #804853; margin: 0; }
#description div p { text-align: center; font-weight: 300; font-style: normal; color: #6f1947; font-size: 16pt; letter-spacing: 0; margin: 0; }
#description div { position: absolute; bottom: 446px; right: 150px; max-width: 238px; }
#description div:nth-of-type( 2 ) { max-width: 172px; bottom: 286px; right: 381px; }
#description div:nth-of-type( 3 ) { max-width: 201px; bottom: 149px; right: 23px; }
#description div:nth-of-type( 2 ) p, #description div:nth-of-type( 3 ) p { font-size: 12pt; line-height: 1.6; }
#description div:nth-of-type( 2 ):after { content: ' '; position: absolute; bottom: -7px; right: -106px; background: url( '../images/icons/plus.png' ) no-repeat center; display: block; width: 66px; height: 67px; font: 900 50pt 'Muli', 'Arial', sans-serif; }

/* Benefits */
#benefits { background: #6f1947; padding: 93px 80px 70px; }
#benefits h2 { color: #fff; letter-spacing: 2px; font-size: 35pt; font-weight: 300; text-align: left; }
#benefits hr { margin: 38px 0 58px; }
#benefits ul { display: flex; flex-wrap: wrap; column-gap: 29px; row-gap: 27px; margin: 0 0 93px; }
#benefits li { letter-spacing: .5px; background: #d1d3d4; flex: 0 calc( ( 100% - 87px ) / 4 ); aspect-ratio: 1; display: flex; align-items: center; font: italic 300 14.6pt/1.4 'Muli', 'Arial', sans-serif; text-align: left; color: #6f1947; box-sizing: border-box; padding: 0 32px; }
#benefits li:nth-of-type( odd ):not( :nth-of-type( 5 ) ):not(:nth-of-type( 7 )), #benefits li:nth-of-type( 6 ), #benefits li:nth-of-type( 8 ) { background: #75858f; color: #fff; }

/* Recommended */
#recommended { background: #fff; padding: 40px 10px 60px; margin: 61px auto 0; max-width: 816px; box-sizing: border-box; }
#recommended h2 { font-size: 36pt; font-weight: 300; text-transform: none; line-height: 1.1; text-align: center; color: #34000c; letter-spacing: 1px; }
#recommended hr { margin: 30px auto 35px; }
#recommended span { font-size: 19pt; letter-spacing: 1px; color: #34000c; line-height: 1.48; }
#recommended span:before { content: '\2022'; display: inline; font-size: 18pt; font-weight: 800; margin: 0 13px; color: #6f1947; }
#recommended span:first-of-type:before, #recommended span:nth-of-type( 5 ):before { content: ''; }
#recommended h3 { margin: 81px 0 30px; color: #34000c; letter-spacing: .5px; font: 800 18.8pt 'Open Sans', 'Arial', sans-serif; }
#recommended p { font-size: 18pt; letter-spacing: .5px; color: #34000c; max-width: 664px; margin: auto; text-align: justify; text-align-last: center; }
#recommended cite { display: block; margin: 10px 0 81px; color: #6f1947; font-size: 13.5pt; font-style: italic; font-weight: 600; letter-spacing: .5px; }
#recommended time { color: #34000c; letter-spacing: .5px; font-weight: 300; }
#recommended cite:last-of-type { margin: 10px 0 0; }

/* Promotion */
#promotion { background: url( '../images/bg/promotion.jpg' ) no-repeat center/cover; padding: 99px 70px;  }
#promotion section { position: relative; max-width: 868px; margin: auto; border: 2px solid #6f1947; padding: 53px 89px; box-sizing: border-box; z-index: 0; }
#promotion section:after { content: ' '; position: absolute; bottom: -11px; right: -11px; display: block; width: 100%; height: 100%; border: 2px solid #6f1947; z-index: -1; }
#promotion h2 { font-size: 32pt; font-weight: 300; text-align: left; letter-spacing: 1px; color: #231f20; margin: 0 0 42px; }
#promotion h2 b { font: inherit; font-weight: 700; letter-spacing: inherit; }
#promotion em { display: block; color: #6f1947; text-align: center; letter-spacing: 1px; font: 300 45pt/1.05 'Muli', 'Arial', sans-serif; text-shadow:  -2px 5px 4.75px #00000045; margin: 0 0 66px; }
#promotion em b { display: block; color: #75858f; font: inherit; font-weight: 700; font-size: 52pt; }
#promotion .price { color: #6f1947; font-weight: 800; font-size: 56pt; }
#promotion .price small { font-size: 24pt; color: inherit; }

/* Sign-up form */
#sign-up { padding: 80px 20px 66px; background: #fff; color: #6f1947; }
#sign-up h2 { max-width: 100%; font: 800 25.6pt/1.3 'Muli', 'Arial', sans-serif; letter-spacing: 2px; margin: 0 0 10px; color: #6f1947; }
#sign-up hr { width: 80px; height: 6px; margin: 26px auto; }
#sign-up > p { font-size: 14pt; margin: 10px auto 22px; line-height: 1.7; }
#sign-up form { max-width: 620px; margin: 25px auto 0; }
#sign-up [type="text"], #sign-up [type="tel"], #sign-up select { font-size: 13pt; width: 100%; max-width: 395px; background: 0; margin: 0 0 11px; height: 40px; color: #663230; border: 2px solid #663230; }
#sign-up [type="submit"] { line-height: 1; background: #702f29; padding: 9px 36px; color: #fff; font-size: 16pt; font-weight: 700; letter-spacing: 0; }
#sign-up form p { padding: 0 0 24px; text-align: justify; font-size: 9.5pt; color: #77838f; text-align: center; line-height: 1.6; }
#sign-up form div { max-width: 425px; font-size: 0; text-align: left; margin: 22px auto 32px 115px; }
#sign-up form div > label:not( .label ) { font-size: 11pt; display: inline-block; vertical-align: middle; }
.label { font-size: 11pt; display: block; margin: 0 0 8px; }
#sign-up [type="radio"] { display: none; }
#sign-up form label:not( .label ) { padding: 0 10px 0 29px; position: relative; }
#sign-up form label:not( .label ):last-of-type { padding: 0 0 0 29px; }
#sign-up form label:not( .label ):before { margin: -3px 4px 0 0; color: #6f1947; content: ' '; border: 2px solid #999; border-radius: 50%; text-align: center; line-height: 18px; font-size: 14pt; display: block; position: absolute; left: 0; top: 3px; width: 20px; height: 20px; }
#sign-up [type="radio"]:checked + label:before { content: '\2713'; }
#sign-up > span { font-size: 11pt; letter-spacing: 2px; display: block; margin: 25px auto 0; line-height: 1; color: #6f1947; }
#sign-up ::-webkit-input-placeholder { color: #6f1947; }
#sign-up :-moz-placeholder { color: #6f1947; opacity: 1; }
#sign-up ::-moz-placeholder { color: #6f1947; opacity: 1; }
#sign-up :-ms-input-placeholder { color: #6f1947; }
#sign-up [type="submit"] { text-transform: uppercase; background: #6f1947; font-size: 17pt; letter-spacing: 1px; margin: 23px auto 0; padding: 9px 49px; font-weight: 700; border-radius: 0; box-shadow:  -2px 5px 5px 0px #00000080; }
#sign-up small { display: block; font-size: 11pt; margin: 30px 0 0; }
#sign-up a { color: inherit; }

@media (max-width: 1050px) {
	#page > a { margin: 20px auto; }
}

@media (max-width: 1000px) {
	#benefits { padding: 33px 50px; }
	#benefits ul { row-gap: 17px; column-gap: 17px; }
	#benefits li { padding: 0 25px; font-size: 13pt; flex: 0 calc( ( 100% - 51px ) / 4 ); }

	#differents { background: #6f1947; height: auto; padding: 40px 20px; }
	#differents h2 { margin: 0 0 30px; }
	#differents h3 { font-size: 28pt; }
	#differents section { transform: translate( 0, 0 ); top: 0; left: 0; }
	#differents ul { display: flex; flex-wrap: wrap; justify-content: center; width: 700px; max-width: 100%; margin: auto; row-gap: 30px; column-gap: 20px; }
	#differents li:nth-of-type( n ) { position: static; transform: translateX( 0 ); }
}

@media (max-width: 938px) {
	#promotion { padding: 44px 32px; }
	#promotion section { padding: 38px 49px; }
	#promotion em { font-size: 35pt; }
	#promotion em b { font-size: 39pt; }
	#promotion h2 { font-size: 24pt; }
	#promotion .price { font-size: 47pt; }
	#promotion .price small { font-size: 21pt; }
}

@media (max-width: 911px) {
	#benefits ul { margin: 0 0 60px; }
}

@media (max-width: 850px) {
	#benefits { padding: 33px 30px; }
}

@media (max-width: 800px) {
	#summary { background: linear-gradient( to left, #eaeaeb, #f3f3f4 ); height: auto; padding: 30px 20px 50px; text-align: center; }
	#summary section { margin: auto; }
	h1, h1 b, #summary p { text-align: center; }
	#summary p { margin: auto; }
	#summary div { margin: 50px auto 0; }
}

@media (max-width: 778px) {
	#summary h2, #summary h2 b { font-size: 24pt; }
	#summary p { font-size: 20pt; }

	#description h2 { font-size: 19.4pt; }
	#description h2 b { font-size: 30pt; line-height: 1.2; }

	#differents h2 { font-size: 28pt; }
	#differents h3 { font-size: 22pt; }
	#differents li { font-size: 13pt; }

	#benefits h2, #open-house h2 { font-size: 29pt; letter-spacing: 0; }
	#benefits li { flex: 0 calc( ( 100% - 34px ) / 3 ); }
	#benefits small { font-size: 11pt; }

	#recommended { padding: 40px 25px; }
	#recommended span { font-size: 17pt; letter-spacing: 0; }
	#recommended br { display: none; }
	#recommended span:nth-of-type( 5 ):before { content: '\2022'; }
	#recommended h3 { margin: 45px 0 30px; }
	#recommended p { font-size: 16pt; }

	#promotion h2 { font-size: 22pt; }
	#promotion em { font-size: 32pt; margin: 0 0 51px; }
	#promotion em b { font-size: 36pt; }
	#promotion .price { font-size: 46pt; }
	#promotion .price small { font-size: 14pt; }
	#promotion section { padding: 42px 49px; }
}

@media (max-width: 737px) {
	#description { background: #e5e5e5; height: auto; padding: 40px 20px; }
	#description div { position: static; margin: 0 auto 30px; }
	#description div:last-of-type { margin-bottom: 0; }
	#description div:nth-of-type( 2 ):after { display: block; position: relative; bottom: 0; left: 50%; transform: translateX( -50% ); margin: 30px 0; }
	#description p ~ p br { display: none; }
	#description p + div { margin-top: 37px; }
}

@media (max-width: 675px) {
	#page button { font-size: 13pt; letter-spacing: 2px; }

	#sign-up h2 { letter-spacing: 0; font-size: 22pt; }
	#sign-up > p { font-size: 14pt; }
	#sign-up form div { margin: 22px auto 32px; }
}

@media (max-width: 600px) {
	#benefits h2, #open-house h2 { font-size: 25pt; }
	#recommended span { font-size: 15pt; }

	#promotion { padding: 28px 23px; }
	#promotion section { padding: 26px 35px; }
	#promotion h2 { letter-spacing: 0; font-size: 20pt; }
	#promotion em { font-size: 25pt; }
	#promotion em b { font-size: 28pt; }
	#promotion .price { font-size: 38pt; }

	#sign-up { padding: 40px 15px; }
	#sign-up [type="submit"] { font-size: 15pt; padding: 9px 29px; }
	#sign-up small { font-size: 10pt; }
}

@media (max-width: 560px) {
	hr { width: 67px; height: 6px; }
	h1 { font-size: 28pt; max-width: 100%; width: 400px; margin: 0 auto 24px; }
	h1 b { font-size: inherit; }
	#summary p { font-size: 16pt; }
	#summary h2, #summary h2 b { font-size: 18pt; }
	.price { font-size: 30pt; }
	#summary div { width: 90%; height: auto; padding: 30px 15px 40px; }

	#differents h2 { font-size: 24pt; }
	#differents h2 b { display: inline; }
	#differents h3 { font-size: 19pt; }
	#differents li { font-size: 13pt; width: calc( 50% - 10px ); background-size: 150px 133px; padding: 130px 0 0; }

	#description h2 { font-size: 16pt; }
	#description hr { margin: 20px auto 23px; }
	#description h2 b { font-size: 24pt; }
	#description h3 { font-size: 28pt; }
	#description div p { font-size: 13pt; }
	#description div:nth-of-type( 2 ):after { width: 50px; height: 50px; }

	#benefits { padding: 30px 20px; }
	#benefits hr { margin: 21px 0 29px; }
	#benefits li { flex: 0 calc( ( 100% - 17px ) / 2 ); }
	#benefits h2, #open-house h2 { font-size: 23pt; }

	#recommended { margin: 28px auto 0; padding: 23px 25px; }
	#recommended h3 { margin: 30px 0 20px; font-size: 16pt; }
	#recommended hr { margin: 21px auto 29px; }
	#recommended span { font-size: 14pt; line-height: 1.2; }
	#recommended p { font-size: 13pt; line-height: 1.3; }
	#recommended cite { font-size: 12pt; margin: 10px 0 30px; }
}

@media (max-width: 500px) {
	#sign-up { padding: 25px 15px; }
	#sign-up h2 { letter-spacing: 0; font-size: 20pt; }
	#sign-up > p { font-size: 12pt; }
	#sign-up form div > label:not( .label ) { display: block; }
	#sign-up form label:not( .label ):last-of-type { margin: 10px 0 0; }
	#sign-up form p { padding: 0 0 13px; }
}

@media (max-width: 490px) {
	#page > a { width: 220px; }

	#differents li { background-size: 130px 115px; }

	#recommended span { font-size: 13pt; }
	#recommended cite { letter-spacing: 0; font-size: 11pt; }

	#promotion h2 { font-size: 16pt; text-align: center; margin: 0 0 20px; }
	#promotion h2 br { display: none; }
	#promotion em { font-size: 22pt; margin: 0 0 25px; }
	#promotion em b { font-size: 25pt; }
	#promotion .price { font-size: 30pt; }

	#sign-up { padding: 30px 20px; }
	#sign-up > p { font-size: 11pt; }
	#sign-up form div { margin: 20px auto 12px; }
	#sign-up [type="text"], #sign-up [type="tel"] { font-size: 12pt; margin: 0 0 12px; padding: 0 14px; }
	.label, #sign-up form div > label:not( .label ) { font-size: 11pt; margin: 0 0 9px; }
	#sign-up form p { line-height: 1.4; }
	#sign-up [type="submit"] { font-size: 13pt; }
	#sign-up small { margin: 15px 0 0; display: block; }
}

@media (max-width: 420px) {
	h1 { font-size: 21pt; }
	#summary div { width: 100%; }

	#benefits h2 { font-size: 18pt; }
	#benefits ul { margin: 0 0 34px; }
	#benefits li { padding: 0 18px; font-size: 11pt; }

	#recommended h3 { font-size: 15pt; letter-spacing: 0; }
	#recommended span { font-size: 12pt; line-height: 1.4; }
	#recommended span:before { font-size: 14pt; margin: 0 6px; }

	#promotion { padding: 28px 15px; }
}