﻿@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@100;200;300;400;500;600;700;800;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Muli:wght@200;300;400;500;600;700;800;900&display=swap');

/* 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, font, 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 { margin: 0; padding: 0; border: 0; outline: 0; vertical-align: baseline; }

/* Make HTML 5 elements display block-level for consistent styling */
header, nav, article, footer, address { display: block; }

* { box-sizing: border-box; }

body { width: 100%; max-width: 100%; color: #fff; font-family: 'Montserrat', sans-serif; font-size: 16px; line-height: 1.2em; background: #000; }
a { text-decoration: none; }

/* classes */
.cleaner { clear: both; }
.centered { text-align: center; }
.center { text-align: center; }
.left { text-align: left; }
.right { text-align: right; }
.middle { vertical-align: middle; }
.top { vertical-align: top; }
.bottom { vertical-align: bottom; }
.row { clear: both; }
.onLeft { clear: left; float: left; }
.onRight { clear: right; float: right; }

.wrapper { margin: 0 auto; width: 1000px; height: 100%; position: relative; }

.hidden { display: none; }
.hide-field { height: 0px !important; overflow: hidden; }
.data { display: none; }
.dataHidden { display: none; }

.scroll-less { overflow: hidden; }

.vertical-aligner { display: flex; align-items: center; height: 100%; }
.vertical-aligner > div { margin: 0 auto; }

/**/
body[dev-mode="false"] .showOnDev { height: 0px !important; overflow: hidden !important; }

h1 { margin-bottom: 20px; font-size: 60px; font-weight: 800; line-height: 1.1em; transition: all 0.3s ease-out 0s; }
h2 { margin-bottom: 20px; font-size: 40px; font-weight: 800; line-height: 1.1em; transition: all 0.3s ease-out 0s; }
h3 { font-size: 30px; font-weight: 800; line-height: 1.1em; transition: all 0.3s ease-out 0s; }
h4 { font-size: 26px; font-weight: 800; line-height: 1.1em; transition: all 0.3s ease-out 0s; }
h5 { font-size: 22px; font-weight: 800; line-height: 1.1em; transition: all 0.3s ease-out 0s; }
	.pre-title { margin: 0px 0px 24px 0px; font-size: 15px; font-weight: 600; line-height: 1.2em; letter-spacing: 3px; transition: all 0.3s ease-out 0s; }

.row { box-sizing: border-box; position: relative; width: 100%; height: 100%; margin: 0 auto; text-align: center; }
.row .container { position: relative; max-width: 1000px; height: 100%; margin: 0 auto; padding: 85px 20px; }

.bt { display: inline-block; position: relative; margin: 14px; padding: 16px 40px 18px; color: inherit; font-size: 13px; font-weight: 900; line-height: 1em; border: 3px solid #fff; z-index: 0; cursor: pointer; overflow: hidden; }
	.bt:before { content: ''; display: block; position: absolute; top: 49%; left: 49%; width: 2%; padding-bottom: 2%; background: rgba(0,0,0,0.5); transform: scale(0); border-radius: 1000px; z-index: -1; transition: all 0.5s ease-out 0s; }
	.bt:hover:before { transform: scale(100); }

.withSplitter:after { content: ''; display: block; width: 100%; max-width: 50%; height: 1px; margin: 0 auto; margin-top: 50px; background: rgba(255,255,255,0.5); }

.highlight { font-size: 25px; font-weight: 700; line-height: 1.2em; }

/**/
.stripe_whatsapp { margin: 0px 0px 0px; padding: 20px 0px; font-size: 30px; line-height: 1em; white-space: nowrap; transition: all 0.3s ease-out 0s; }
.stripe_whatsapp a { color: inherit; }
.stripe_whatsapp img { vertical-align: middle; transition: all 0.3s ease-out 0s; }
@media only screen and ( max-width: 420px ) {
	.stripe_whatsapp { font-size: 22px; line-height: 1em; }
	.stripe_whatsapp img { width: 38px; }
}
.bottom-fixed { position: fixed; bottom: -100px; width: 100%; text-align: center; background: #333; z-index: 3; transition: all 0.5s ease-out 0s; }
.bottom-fixed .stripe_whatsapp { margin: 0px; padding: 12px 0px 10px; }
.bottom-fixed.enabled { bottom: 0px; }

/**/
#topbar { position: fixed; top: 0px; height: auto; z-index: 4; }
#topbar:before { content: ''; display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0,0,0,0.5); background: #333; opacity: 0; transition: all 0.3s ease-out 0s; }
#topbar .container { display: flex; align-items: center; justify-content: space-between; max-width: 1500px; height: 132px; padding: 26px; transition: all 0.3s ease-out 0s; }

	#topbar.floating:before { opacity: 1; }
	#topbar.floating .container { height: 60px; }
	#topbar.floating .logo-wrapper img { height: 40px; }
	
#topbar .logo-wrapper { position: relative; max-width: 60%; text-align: left; z-index: 1; }
#topbar .logo-wrapper img { max-width: 100%; margin-bottom: -4px; cursor: pointer; transition: all 0.3s ease-out 0s; }

#topbar #menu { position: relative; z-index: 0; }
#topbar #menu .menu_overlay { display: none; position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: rgba(0,0,0,0.5); opacity: 0; z-index: -1; transition: all 0.3s ease-out 0s; }

#topbar #menu .menu_trigger { display: flex; position: relative; padding: 0; background-color: transparent; border: none; cursor: pointer; z-index: 2; }
	.line { fill: none; stroke: white; stroke-width: 6; transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1); }
	.line1 { stroke-dasharray: 60 207; stroke-width: 6; }
	.line2 { stroke-dasharray: 60 60; stroke-width: 6; }
	.line3 { stroke-dasharray: 60 207; stroke-width: 6; }
	.opened .line1 { stroke-dasharray: 90 207; stroke-dashoffset: -134; stroke-width: 6; }
	.opened .line2 { stroke-dasharray: 1 60; stroke-dashoffset: -30; stroke-width: 6; }
	.opened .line3 { stroke-dasharray: 90 207; stroke-dashoffset: -134; stroke-width: 6; }
#topbar #menu .menu_trigger .menu_label { padding: 11px; color: #fff; font-size: 14px; font-weight: 600; }

#topbar #menu .menu_content { display: block; position: fixed; top: 0px; right: -320px; width: 320px; min-height: 100vh; padding: 140px 20px 40px; background: #1A1A1A; z-index: 1; transition: all 0.3s ease-out 0s; }
#topbar #menu .menu_content .menu_group { display: block; margin: 0px 0 30px; padding: 0; }
#topbar #menu .menu_content .menu_group_title { display: block; margin: 0px; padding: 14px 4px 16px; color: #fff; font-size: 15px; font-weight: 600; line-height: 1.2em; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.2); }
#topbar #menu .menu_content .menu_item { display: block; margin: 0px; padding: 14px 10px 16px; color: #fff; font-size: 15px; font-weight: 400; line-height: 1.2em; text-align: left; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.2); cursor: pointer; transition: all 0.3s ease-out 0s; }
#topbar #menu .menu_content .menu_item:hover { background: rgba(255,255,255,0.2); }
#topbar #menu .menu_content .sm { display: block; margin: 20px 0px 0px; text-align: center; }
#topbar #menu .menu_content .sm a { display: inline-block; width: 48px; height: 48px; margin: 4px; line-height: 1em; }
#topbar #menu .menu_content .sm a:before { content: attr(href); display: none; }
@media only screen and ( max-height: 520px ) {
	/*
	#topbar #menu .menu_content { padding-top: 90px; }
	*/
}
@media only screen and ( max-width: 520px ) {
	#topbar #menu .menu_content { right: -100vw; width: 100vw; }
}

#topbar #menu.opened .menu_overlay { display: block; opacity: 1; z-index: 0; }
#topbar #menu.opened .menu_content { right: 0px; }

@media only screen and ( max-width: 420px ) {
	#topbar .container { height: 100px; padding: 14px; }
	#topbar #menu .menu_trigger .menu_label { display: none; }
}

/**/
#header { min-height: 100vh; color: #fff; font-family: 'Muli'; text-align: center; background: url('imgs/header_bg.webp') no-repeat center center transparent; background-size: cover; }
#header { display: flex; align-items: center; padding: 180px 30px 30px 30px; }
#header .container { padding: 0px; }
#header p { font-size: 22px; line-height: 1.2em; text-align: left; }
#header .content { max-width: 60%; text-align: left; }
#header .content .bt { margin-left: 0px; }

#header .image-wrapper { position: absolute; bottom: 10px; bottom: -16px; right: 20px; width: 40%; max-height: 86vh; }
#header .image-wrapper img { max-width: 100%; max-height: 530px; }

@media only screen and ( max-width: 700px ) {
	#header { display: block; }
	#header .content { max-width: 100%; }
	#header .content .bt { margin-left: 0px; }
	#header .image-wrapper { position: relative; bottom: auto; right: auto; width: 100%; margin: 0 auto; margin-top: 40px; }
}

/**/
.row.stripe_presentation { background: #2772FA; }
.row.stripe_presentation .pre-title { margin-bottom: 10px; font-weight: 800; }
.row.stripe_presentation p { max-width: 1000px; margin: 0px 0px 30px; font-size: 22px; line-height: 1.2em; }
.row.stripe_presentation div.withSplitter { margin-top: 50px; margin-bottom: 30px; }
.row.stripe_presentation h3 { margin-bottom: 20px; }

/**/
.row.stripe_benefits { color: #294045; background: #fff; }
.row.stripe_benefits .container { padding-top: 110px; padding-bottom: 50px; }
.row.stripe_benefits p { margin: 20px 0px 60px; font-size: 22px; font-weight: 700; line-height: 1.2em; }

.row.stripe_benefits .columns { display: flex; justify-content: space-around; max-width: 520px; margin: 0 auto; text-align: center; }
.row.stripe_benefits .columns .column { width: 40%; }
.row.stripe_benefits .columns .column p { margin: 0px 0px 20px; font-size: 20px; font-weight: 700; line-height: 1.2em; }
.row.stripe_benefits .columns + p { margin: 0px 0px 60px; font-size: 20px; font-weight: 700; line-height: 1.2em; }

.tiles { text-align: center; }
.tiles .tile { display: inline-block; width: 30%; min-width: 170px; margin: 0px 0px 60px; font-size: 22px; font-weight: 900; line-height: 1.2em; }
.tiles .tile img { position: relative; margin: 0px 0px 14px; }

@media only screen and ( max-width: 540px ) {
	.row.stripe_benefits .columns { flex-direction: column; }
	.row.stripe_benefits .columns .column { width: 100%; }
}

/**/
.row.stripe_gallery { background: #2772FA; }
.row.stripe_gallery .container { padding-top: 100px; padding-bottom: 100px; }
.row.stripe_gallery .pre-title { margin-bottom: 34px; }
.row.stripe_gallery .bt { margin: 65px 0px; }
.row.stripe_gallery .bt:before { background: rgba(255,255,255,0.1); }

.row.stripe_gallery .columns { display: flex; justify-content: space-around; max-width: 440px; margin: 0 auto; margin-top: 30px; margin-bottom: -10px; text-align: center; }
.row.stripe_gallery .columns .column { width: 40%; }
.row.stripe_gallery .columns .column p { margin-bottom: 10px; font-size: 20px; font-weight: 700; line-height: 1.2em; _text-align: center; }

.row.stripe_gallery .masonry { width: 1120px; max-width: 100%; }
.row.stripe_gallery .masonry .masonry-item { display: block; float: left; position: relative; width: 50%; overflow: hidden; transition: all 0.3s ease-out 0s; }
.row.stripe_gallery .masonry .masonry-item:nth-of-type(2n) { float: right; }
.row.stripe_gallery .masonry .masonry-item img { max-width: 100%; margin-bottom: -4px; transition: all 0.3s ease-out 0s; }
.row.stripe_gallery .masonry .masonry-item .masonry-item_info { position: absolute; bottom: 16px; left: 16px; max-width: calc(100% - 32px); color: rgba(255,255,255,0.5); font-size: 14px; font-weight: 400; line-height: 1.2em; text-align: left; z-index: 2; }
.row.stripe_gallery .masonry .masonry-item .masonry-item_info > div { color: rgba(255,255,255,1); font-weight: 600; }
.row.stripe_gallery .masonry .masonry-item:before { content: ''; display: block; position: absolute; top: 0px; left: 0px; width: 100%; height: 100%; background: url('imgs/icon_more.png') no-repeat center center rgba(0,0,0,0.7); cursor: pointer; opacity: 0; z-index: 1; transition: all 0.3s ease-out 0s; }
.row.stripe_gallery .masonry .masonry-item:hover:before { opacity: 1; }
.row.stripe_gallery .masonry .masonry-item:hover img { transform: scale(1.2); }
@media only screen and ( max-width: 600px ) and ( min-width: 501px ) {
	.row.stripe_gallery .masonry .masonry-item:before { background-position: center 30%; }
}
@media only screen and ( max-width: 500px ) {
	.row.stripe_gallery .columns { flex-direction: column; }
	.row.stripe_gallery .columns .column { width: 100%; }
}
@media only screen and ( max-width: 500px ) and ( min-width: 401px ) {
	.row.stripe_gallery .masonry .masonry-item:before { background-position: center 15%; }
}
@media only screen and ( max-width: 400px ) {
	.row.stripe_gallery .masonry .masonry-item { float: none; width: 100%; }
}

/**/
.row.stripe_features { background: url('imgs/features_bg.jpg') no-repeat center center transparent; background-size: cover; }
.row.stripe_features h3 { margin-bottom: 40px; }
.row.stripe_features .columns { columns: 300px 2; column-gap: 80px; margin: 0px 0px 40px; text-align: left; }
.row.stripe_features p { margin: 0px 0px 8px; font-size: 15px; font-weight: 500; line-height: 1.2em; page-break-inside: avoid; }
.row.stripe_features .bt { margin: 0px; }
@media only screen and ( max-width: 720px ) {
	.row.stripe_features .columns { columns: auto; text-align: center; }
}

/**/
.row.stripe_success { color: #fff; background: url('imgs/success_bg.jpg') no-repeat center center #2772FA; background-size: cover; }
.row.stripe_success .container { padding-top: 100px; padding-bottom: 0px; }
.row.stripe_success h3 { margin-bottom: 16px; }
.row.stripe_success .highlight { margin-bottom: 50px; font-size: 22px; line-height: 1.2em; }
.row.stripe_success h5 { margin-bottom: 30px; }
.row.stripe_success .columns { display: flex; justify-content: space-around; text-align: center; }
.row.stripe_success .columns .column { width: 40%; text-align: left; }
	.row.stripe_success .columns .column:first-of-type { text-align: right; }
.row.stripe_success .columns .column p { margin-bottom: 16px; }
.row.stripe_success img { max-width: 100%; margin: 20px 0px -4px; }
@media only screen and ( max-width: 720px ) {
	.row.stripe_success .columns { display: block }
	.row.stripe_success .columns .column { width: 100%; text-align: center !important; }
}

/**/
.row.stripe_contact { color: #294045; background: #fff; }
.row.stripe_contact .container { padding-bottom: 50px; }
.row.stripe_contact h3 { margin: 0px 0px 40px; }

.row.stripe_contact form .col_05 { float: left; display: inline-block; width: calc(50% - 4px); }
.row.stripe_contact form .col_05:after { content: ''; display: block; width: 100%; clear: both; ; }
.row.stripe_contact form .col_05:nth-child(2n) { margin-left: 8px; }

.row.stripe_contact form { width: 660px; max-width: 100%; margin: 0 auto; }
.row.stripe_contact form .form-group { position: relative; padding: 4px 0px; transition: all 0.3s ease-out 0s; }
.row.stripe_contact form input,
.row.stripe_contact form textarea { box-sizing: border-box; width: 100%; height: auto; margin: 0px; padding: 12px; color: #fff; font-family: inherit; font-size: 20px; font-weight: 300; line-height: 1.2em; background: #333; border: 1px solid rgba(255,255,255,1); }
.row.stripe_contact form textarea { height: 200px; resize: none; }
.row.stripe_contact form .bt_submit { width: 100%; margin: 14px auto; padding: 18px 20px 20px 20px; color: #fff; font-size: 22px; font-weight: 600; line-height: 1em; text-align: center; background-color: #2772FA; border: 0px; border-radius: 0px; transition: all 0.3s ease-out 0s; }
.row.stripe_contact form .bt_submit:hover { background: rgba(255,255,255,0.30) !important; }
.row.stripe_contact form .bt_submit:not(.disable) { cursor: pointer; }

.row.stripe_contact form .contact_form_element_validation { display: none; position: absolute; bottom: 6px; right: 3px; color: red; font-family: Arial; font-size: 11px; line-height: 1em; }
.row.stripe_contact form .contact_form_element_validation:empty { display: none; }
/*
.row.stripe_contact form.advising .contact_form_element_validation { display: block; }
*/
.row.stripe_contact form.advising .withError + .contact_form_element_validation { display: block; }

.row.stripe_contact form .legend { margin: 16px 0px 8px 0px; font-size: 18px; opacity: 0.5; }

.row.stripe_contact .adviser { position: fixed; bottom: 0px; left: 0px; width: 100%; padding: 12px; color: #fff; background: #333; z-index: 3; }
.row.stripe_contact .adviser:empty { padding: 0px; }
.row.stripe_contact .adviser .command { cursor: pointer; }

.row.stripe_contact .sm { display: block; margin: 20px 0px 0px; text-align: center; }
.row.stripe_contact .sm a { display: inline-block; width: 32px; height: 32px; margin: 12px 5px 0px; line-height: 1em; transition: all 0.3s ease-out 0s; }
.row.stripe_contact .sm a:hover { transform: scale(1.2); }
.row.stripe_contact .sm a:before { content: attr(href); display: none; }

/**/
#overlay { position: fixed; top: 0px; left: 0px; width: 100%; height: 100%; background: var(--color-contrast-03); z-index: -1; opacity: 0; transition: all 0.5s ease-out 0s; }
#overlay.enabled { z-index: 899; opacity: 1; transition: all 0.5s ease-out 0s; }
#overlay.heavy { background: var(--color-contrast-06); }

/* #footer */
#footer { color: rgba(255,255,255,0.2); font-size: 13px; line-height: 1em; background: #333; }
#footer .container { padding-top: 75px; padding-bottom: calc(70px + 50px); }
	#footer img { margin: 0px 0px 20px 0px; }
	#footer a { color: inherit; }
	#footer a:hover { text-decoration: underline; }

/**/
#bottom-bar { display: none; padding: 16px 0px 19px 0px; }
#bottom-bar img { position: relative; top: 0px; transition: all 0.5s ease-out 0s; }
#bottom-bar img:hover { transition: all 0.5s ease-out 0s; -webkit-transform: rotate(360deg); -moz-transform: rotate(360deg); -ms-transform: rotate(360deg); -o-transform: rotate(360deg); transform: rotate(360deg); }

@media only screen and ( max-width: 700px ) {
	h1 { font-size: 48px; line-height: 1.1em; }
	h2 { font-size: 36px; line-height: 1.1em; }
	h3 { font-size: 30px; line-height: 1.1em; }
	h4 { font-size: 26px; line-height: 1.1em; }
	h5 { font-size: 20px; line-height: 1.1em; }
}
@media only screen and ( max-width: 500px ) {
	h1 { font-size: 40px; line-height: 1.1em; }
	h2 { font-size: 32px; line-height: 1.1em; }
	h3 { font-size: 26px; line-height: 1.1em; }
	h4 { font-size: 22px; line-height: 1.1em; }
	h5 { font-size: 18px; line-height: 1.1em; }
}

/**/
.row.stripe_content { color: #333; text-align: left; background: #eee; }

/**/
.type_content h1 { margin: 1.6em 0 0.5em; font-size: 60px; font-weight: 800; line-height: 1.1em; }
.type_content h2 { margin: 1.6em 0 0.5em; font-size: 40px; font-weight: 800; line-height: 1.1em; }
.type_content h2:first-child { margin-top: 0em; }
.type_content h3 { margin: 1.6em 0 0.5em; font-size: 30px; font-weight: 800; line-height: 1.1em; }
.type_content h4 { margin: 1.6em 0 0.5em; font-size: 26px; font-weight: 800; line-height: 1.1em; }
.type_content h5 { margin: 1.6em 0 0.5em; font-size: 22px; font-weight: 800; line-height: 1.1em; }

.row.type_content { color: #333; text-align: left; background: #ffc; }
.type_content p { margin-bottom: 0.8em; line-height: 1.3em; }
.type_content a { color: inherit; text-decoration: underline; }
.type_content a:hover { text-decoration: none; }
.type_content ul, 
.type_content ol { margin-bottom: 0.8em; padding-left: 22px; line-height: 1.3em; }
.type_content ul li, 
.type_content ol li { margin-bottom: 0.4em; line-height: 1.3em; }
.type_content code { display: inline-block; margin: 0.4em 0em 0.4em 0em; padding: 0.4em 0.8em; background: rgba(0,0,0,0.05); border-left: 0.4em solid rgba(0,0,0,0.1); }

@media only screen and ( max-width: 700px ) {
	.type_content h1 { font-size: 48px; line-height: 1.1em; }
	.type_content h2 { font-size: 36px; line-height: 1.1em; }
	.type_content h3 { font-size: 30px; line-height: 1.1em; }
	.type_content h4 { font-size: 26px; line-height: 1.1em; }
	.type_content h5 { font-size: 20px; line-height: 1.1em; }
}
@media only screen and ( max-width: 500px ) {
	.type_content h1 { font-size: 38px; line-height: 1.1em; }
	.type_content h2 { font-size: 32px; line-height: 1.1em; }
	.type_content h3 { font-size: 26px; line-height: 1.1em; }
	.type_content h4 { font-size: 22px; line-height: 1.1em; }
	.type_content h5 { font-size: 18px; line-height: 1.1em; }
}

/**/
.type_content #header { display: block; min-height: 260px; padding-left: 0px; padding-right: 0px; padding-bottom: 60px; font-family: inherit; }
.type_content #header .content { max-width: none; padding: 0px 20px; }
.type_content #header .content .pre-title { margin: 0 0 0 0.1em; font-size: 1.6em; font-weight: 900; line-height: 1.2em; }
.type_content #header .content h1 { margin: 0; }

@media only screen and ( max-width: 700px ) {
	.type_content #header .content .pre-title { font-size: 1.4em; line-height: 1.2em; }
}
@media only screen and ( max-width: 500px ) {
	.type_content #header .content .pre-title { font-size: 1.3em; line-height: 1.2em; }
}

.type_content .bottom-fixed { display: hidden; }
