@charset "UTF-8";
/*global root variables*/
:root {
  --first-font: 'Georgia', serif;
  --first-font-regular: 400;
  --first-font-bold: 900;
  --highlight-font: 'Courier New', monospace;
  --highlight-font-weight: 900;
  --titles: var(--highlight-font);
  --tagline: var(--first-font);
  --text: var(--first-font);
  --evo2-main-width: 1400px;
  --evo2-section-gap: 0px;
  --evo2-card-shadow: 0 0 var(--evo2-card-shadow-blurring) rgba(0, 0, 0, var(--evo2-card-shadow-intensity));
  --evo2-card-spacer: 1rem;
  --evo2-icon-font: 'Font Awesome 7 Pro';
  --evo2-icon-brands-font: 'Font Awesome 7 Brands';
  --evo2-icon-weight: 300;
  --evo2-icon-dropdown: "\f078" / "";
  --evo2-icon-search: "\e901" / "";
  --evo2-icon-close: "\f00d" / "";
  --evo2-icon-user: "\e904" / "";
  --evo2-icon-calendar: "\f133" / "";
  --evo2-icon-calendar-arrow: "\f053" / "";
  --evo2-icon-arrow-right: "\f054" / "";
  --evo2-icon-error: "\f06a" / "";
  --evo2-icon-night: "\f186" / "";
  --evo2-icon-promo: "\25" / "";
  --evo2-icon-mail: "\f0e0" / "";
  --evo2-icon-phone: "\f095" / "";
  --evo2-icon-file: "\f15b" / "";
  --evo2-icon-whatsapp: "\f232" / "";
  --evo2-icon-info: "\f059" / "";
}
@media (max-width: 1399px) {
  :root {
    --evo2-main-width: 1200px;
  }
}

/*general utilities*/
html,
body {
  all: unset;
  box-sizing: border-box;
  font-family: var(--text);
  font-weight: var(--first-font-regular);
  scrollbar-color: var(--body-accent) var(--body-bg);
  scrollbar-width: thin;
}
html h1, html h2, html h3, html h4, html h5, html h6,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
  margin: 0;
  padding: 0;
  font-family: var(--titles);
  font-weight: var(--highlight-font-weight);
  line-height: 120%;
}
html *:focus,
body *:focus {
  outline: none;
}
html *:focus-within,
body *:focus-within {
  overflow: visible;
}
html *:focus-visible,
body *:focus-visible {
  outline: 2px solid white !important;
  outline-offset: 2px !important;
  box-shadow: 0 0 0 2px black !important;
  border-radius: 5px !important;
  z-index: 1;
  transition: none !important;
}
html p, html ul, html ol, html li,
body p,
body ul,
body ol,
body li {
  margin: 0;
  padding: 0;
  font-family: var(--text);
}
html p.tagline,
body p.tagline {
  margin: 0;
  padding: 0;
  font-family: var(--tagline);
}
html .section_header h1,
body .section_header h1 {
  font-size: clamp(1.5em, 0.462em + 4.615cqw, 4.5em);
}
html .section_header h2,
body .section_header h2 {
  font-size: clamp(1.375em, 0.813em + 2.5cqw, 3em);
}
html .section_header h3,
body .section_header h3 {
  font-size: 1.5em;
}
html .section_header .tagline,
body .section_header .tagline {
  color: var(--accent-text);
}
html .section_header + .description,
body .section_header + .description {
  margin-top: 1.5rem;
}

body * {
  box-sizing: border-box;
  line-height: 150%;
}

*::-moz-selection {
  color: var(--accent-color);
  background-color: var(--accent);
}

*::selection {
  color: var(--accent-color);
  background-color: var(--accent);
}

.inverted::-moz-selection {
  color: var(--bg);
  background-color: var(--color);
}

.inverted::selection {
  color: var(--bg);
  background-color: var(--color);
}

.description h1 + p, .description h2 + p, .description h3 + p, .description h4 + p, .description h5 + p, .description h6 + p {
  margin-top: 1rem;
}
.description p + p,
.description p + h1,
.description p + h2,
.description p + h3,
.description p + h4,
.description p + h5 {
  margin-top: 1rem;
}
.description strong, .description b {
  font-weight: bold;
}
.description a {
  color: var(--accent-text);
  text-decoration: underline;
  cursor: pointer;
  transition: all 0.3s ease;
}
.description a:hover {
  color: var(--text);
  text-decoration: none;
  outline: 0;
}
.description a:focus {
  outline: 0;
  text-decoration: none;
}
.description ul, .description ol {
  margin: 1em 0 1em 3em;
}
.description ul {
  list-style: disc outside none;
}
.description ol {
  list-style: decimal outside none;
}
.description em, .description i {
  font-style: italic;
  color: var(--accent);
}
.description hr {
  border-width: 1px 0 0 0;
  border-style: solid;
  margin: 1em 0;
  border-color: var(--border);
}
.description blockquote {
  font-style: italic;
  margin: 1em 0 1em 3em;
  padding: 1em 2em;
  background-color: var(--alternative-bg);
  border-left: 5px solid var(--accent);
}
.description blockquote p:before, .description blockquote p:after {
  font-size: 1.2em;
}
.description blockquote p:before {
  content: "“";
  padding-right: 5px;
}
.description blockquote p:after {
  content: "”";
  padding-left: 5px;
}
.description dl {
  margin: 1em 0 1em 2em;
}
.description dl dd {
  border-left: 5px solid var(--accent);
  padding-left: 1em;
}
.description dl dt + dd {
  margin-top: 0.5em;
}
.description dl dd + dt {
  margin-top: 0.5em;
}
.description mark {
  padding: 0 0.5em;
  background-color: var(--accent);
  color: var(--accent-color);
}
.description .table_wrap + p,
.description table + p {
  margin-top: 20px;
}
.description p + .table_wrap,
.description p + table {
  margin-top: 1em;
}
.description .table_wrap {
  width: 100%;
  overflow-x: auto;
}
.description table {
  line-height: 140%;
  width: 99%;
  border-width: 0 0 1px 1px;
  border-style: solid;
  border-color: var(--border);
  border-collapse: collapse;
  border-spacing: 0;
}
.description table td, .description table th {
  border-width: 1px 1px 0 0;
  border-style: solid;
  border-color: var(--border);
  padding: 0.5em 1em;
  vertical-align: middle;
  text-align: center;
  min-width: 90px;
}
.description table th {
  background: var(--alternative-bg);
  border-right-color: var(--border);
}

/*color utility*/
body,
.default {
  --color: var(--body-bg-color);
  --bg: var(--body-bg);
  --accent: var(--body-accent);
  --accent-text: var(--body-accent-text);
  --accent-color: var(--body-accent-color);
  --error: var(--body-bg-error);
  --success: var(--body-bg-success);
  --bg-color-mixer: var(--body-bg-color-mixer);
}
body.de_block,
.default.de_block {
  background-image: none;
  --bg: transparent;
}
body.inverted,
.default.inverted {
  --color: var(--body-bg);
  --bg: var(--body-accent-text);
  --accent: var(--body-bg);
  --accent-color: var(--body-bg-color);
  --error: var(--body-accent-error);
  --success: var(--body-accent-success);
  --bg-color-mixer: var(--body-accent-color-mixer);
}

.primary {
  --color: var(--primary-bg-color);
  --bg: var(--primary-bg);
  --accent: var(--primary-accent);
  --accent-text: var(--primary-accent-text);
  --accent-color: var(--primary-accent-color);
  --error: var(--primary-bg-error);
  --success: var(--primary-bg-success);
  --bg-color-mixer: var(--primary-bg-color-mixer);
}
.primary.inverted {
  --color: var(--primary-accent-color);
  --bg: var(--primary-accent);
  --accent: var(--primary-bg);
  --accent-color: var(--primary-bg-color);
  --error: var(--primary-accent-error);
  --success: var(--primary-accent-success);
  --bg-color-mixer: var(--primary-accent-color-mixer);
}

.secondary {
  --color: var(--secondary-bg-color);
  --bg: var(--secondary-bg);
  --accent: var(--secondary-accent);
  --accent-text: var(--secondary-accent-text);
  --accent-color: var(--secondary-accent-color);
  --error: var(--secondary-bg-error);
  --success: var(--secondary-bg-success);
  --bg-color-mixer: var(--secondary-bg-color-mixer);
}
.secondary.inverted {
  --color: var(--secondary-accent-color);
  --bg: var(--secondary-accent);
  --accent: var(--secondary-bg);
  --accent-color: var(--secondary-bg-color);
  --error: var(--secondary-accent-error);
  --success: var(--secondary-accent-success);
  --bg-color-mixer: var(--secondary-accent-color-mixer);
}

.tertiary {
  --color: var(--tertiary-bg-color);
  --bg: var(--tertiary-bg);
  --accent: var(--tertiary-accent);
  --accent-text: var(--tertiary-accent-text);
  --accent-color: var(--tertiary-accent-color);
  --error: var(--tertiary-bg-error);
  --success: var(--tertiary-bg-success);
  --bg-color-mixer: var(--tertiary-bg-color-mixer);
}
.tertiary.inverted {
  --color: var(--tertiary-accent-color);
  --bg: var(--tertiary-accent);
  --accent: var(--tertiary-bg);
  --accent-color: var(--tertiary-bg-color);
  --error: var(--tertiary-accent-error);
  --success: var(--tertiary-accent-success);
  --bg-color-mixer: var(--tertiary-accent-color-mixer);
}

button.btn, a.btn {
  --btn-color: var(--button-bg-color);
  --btn-bg: var(--button-bg);
  --btn-hover: var(--button-hover-bg);
  --btn-hover-color: var(--button-hover-bg-color);
}

body, .default, .header, .primary, .secondary, .tertiary {
  --border: color-mix(in srgb, var(--bg) 80%, var(--color));
  --alternative-bg: color-mix(in srgb, var(--bg) var(--bg-color-mixer), var(--color));
  color: var(--color);
  background-color: var(--bg);
  scrollbar-color: var(--accent) var(--alternative-bg);
}

/*button and form utilities*/
button.btn, a.btn {
  all: unset;
  box-sizing: border-box;
  text-align: center;
  padding: 0 1rem;
  border-radius: var(--evo-button-radius);
  cursor: pointer;
  font-size: 1em;
  font-family: inherit;
  display: inline-flex;
  height: 50px;
  align-items: center;
  justify-content: center;
  max-width: 250px;
  line-height: 110%;
  background: var(--btn-bg);
  color: var(--btn-color);
  transition: 0.3s ease all;
}
button.btn:hover, button.btn:focus, a.btn:hover, a.btn:focus {
  background: var(--btn-hover);
  color: var(--btn-hover-color);
}
button.btn.btn_inverted, a.btn.btn_inverted {
  --btn-color: var(--button-hover-bg-color);
  --btn-bg: var(--button-hover-bg);
  --btn-hover: var(--button-bg);
  --btn-hover-color: var(--button-bg-color);
}
button.btn.btn_secondary, a.btn.btn_secondary {
  background: transparent;
  border: 1px solid var(--accent);
  color: var(--color);
}
button.btn.btn_secondary:hover, button.btn.btn_secondary:focus, a.btn.btn_secondary:hover, a.btn.btn_secondary:focus {
  background: var(--accent);
  color: var(--accent-color);
}
button.btn.btn_secondary.btn_inverted, a.btn.btn_secondary.btn_inverted {
  background: var(--accent);
  color: var(--accent-color);
}
button.btn.btn_secondary.btn_inverted:hover, button.btn.btn_secondary.btn_inverted:focus, a.btn.btn_secondary.btn_inverted:hover, a.btn.btn_secondary.btn_inverted:focus {
  background: transparent;
  color: var(--color);
}
button.btn > span:before, a.btn > span:before {
  font-family: var(--evo2-icon-font);
  font-weight: var(--evo2-icon-weight);
  display: inline-block;
  margin-right: 0.5rem;
}
button.btn.mail > span:before, a.btn.mail > span:before {
  content: var(--evo2-icon-mail);
}
button.btn.phone > span:before, a.btn.phone > span:before {
  content: var(--evo2-icon-phone);
}
button.btn.file > span:before, a.btn.file > span:before {
  content: var(--evo2-icon-file);
}
button.btn.calendar > span:before, a.btn.calendar > span:before {
  content: var(--evo2-icon-calendar);
}
button.btn.whatsapp > span:before, a.btn.whatsapp > span:before {
  content: var(--evo2-icon-whatsapp);
  font-family: var(--evo2-icon-brands-font);
}

button, fieldset {
  all: unset;
}

label {
  margin-bottom: 0.5rem;
}

input[type=text], select, textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-width: var(--evo2-input-border);
  border-style: var(--evo2-input-border-style);
  border-color: var(--border);
  background-color: var(--alternative-bg);
  color: var(--color);
  border-radius: var(--evo2-input-radius);
  line-height: var(--evo2-input-height);
  height: var(--evo2-input-height);
  font-weight: var(--first-font-regular);
  padding: 0 var(--evo2-input-padding);
  font-size: 1em;
  font-family: inherit;
  width: 100%;
}
input[type=text]::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: color-mix(in srgb, var(--color) 66.66%, transparent);
}
input[type=text]::placeholder, select::placeholder, textarea::placeholder {
  color: color-mix(in srgb, var(--color) 66.66%, transparent);
}

div:has(> select):after {
  content: var(--evo2-icon-dropdown);
  font-family: var(--evo2-icon-font);
  font-weight: var(--evo2-icon-weight);
  font-size: 0.8rem;
  background: transparent;
  border: none;
  color: currentColor;
  position: absolute;
  right: max(var(--evo2-input-padding), 0.5rem);
  top: 50%;
  transform: translateY(-50%);
}

/*Containers and columns*/
main .row {
  display: flex;
  flex-wrap: nowrap;
}
@media (max-width: 1199px) {
  main .row {
    flex-wrap: wrap;
  }
}
main .row .de_block {
  flex-grow: 1;
  /*block width 100%*/
}
main .row .de_block.big {
  width: 100%;
  --k: 1;
}
main .row .de_block {
  /*block width 66.66%*/
}
main .row .de_block.large {
  width: 66.6666%;
  --k: 1.5;
}
main .row .de_block.large.boxed {
  width: calc((100% - var(--evo2-main-width)) / 2 + var(--evo2-main-width) * 2 / 3);
}
main .row .de_block {
  /*block width 50%*/
}
main .row .de_block.half {
  width: 50%;
  --k: 2;
}
main .row .de_block {
  /*block width 33.33%*/
}
main .row .de_block.small {
  width: 33.3333%;
  --k: 3;
}
main .row .de_block.small.boxed {
  width: calc((100% - var(--evo2-main-width)) / 2 + var(--evo2-main-width) / 3);
}
main .row .de_block.small.boxed:nth-child(2):has(+ .de_block.small) {
  width: calc(var(--evo2-main-width) / 3);
}
main .row .de_block {
  /*alignment of first boxed blocks*/
}
main .row .de_block:first-child .de_block_wrapper {
  margin-right: 0;
  margin-left: auto;
}
main .row .de_block {
  /*alignment of last boxed blocks*/
}
main .row .de_block:last-child .de_block_wrapper {
  margin-left: 0;
  margin-right: auto;
}
main .row .de_block {
  /*alignment of single boxed blocks*/
}
main .row .de_block:only-child.boxed {
  width: 100%;
}
main .row .de_block:only-child.boxed .de_block_wrapper {
  max-width: var(--evo2-main-width);
  margin-left: auto;
  margin-right: auto;
}
main .row .de_block {
  /*mixed row of boxed and full blocks*/
}
main .row .de_block.boxed:has(~ .full), main .row .de_block.full ~ .boxed {
  flex-grow: 0;
  flex-shrink: 0;
}
main .row .de_block {
  /*50% + 50% in a row*/
}
@media (max-width: 1023px) {
  main .row .de_block.half:has(+ .half), main .row .de_block.half + .half {
    width: 100%;
  }
  main .row .de_block.half:has(+ .half) .de_block_wrapper, main .row .de_block.half + .half .de_block_wrapper {
    max-width: unset;
  }
}
main .row .de_block {
  /*33% + 66% in a row*/
}
@media (max-width: 1199px) {
  main .row .de_block.small:has(+ .large), main .row .de_block.large:has(+ .small), main .row .de_block.small + .large, main .row .de_block.large + .small {
    width: 50%;
  }
  main .row .de_block.small:has(+ .large) .de_block_wrapper, main .row .de_block.large:has(+ .small) .de_block_wrapper, main .row .de_block.small + .large .de_block_wrapper, main .row .de_block.large + .small .de_block_wrapper {
    max-width: calc(var(--evo2-main-width) / 2);
  }
}
@media (max-width: 1023px) {
  main .row .de_block.small:has(+ .large), main .row .de_block.large:has(+ .small), main .row .de_block.small + .large, main .row .de_block.large + .small {
    width: 100%;
  }
  main .row .de_block.small:has(+ .large) .de_block_wrapper, main .row .de_block.large:has(+ .small) .de_block_wrapper, main .row .de_block.small + .large .de_block_wrapper, main .row .de_block.large + .small .de_block_wrapper {
    max-width: unset;
  }
}
main .row .de_block {
  /*33% + 50% in a row --> force 50% + 50%*/
}
main .row .de_block.boxed.small:has(+ .boxed.half), main .row .de_block.boxed.half:has(+ .boxed.small), main .row .de_block.boxed.small + .boxed.half, main .row .de_block.boxed.half + .boxed.small {
  width: 50%;
}
main .row .de_block.boxed.small:has(+ .boxed.half) .de_block_wrapper, main .row .de_block.boxed.half:has(+ .boxed.small) .de_block_wrapper, main .row .de_block.boxed.small + .boxed.half .de_block_wrapper, main .row .de_block.boxed.half + .boxed.small .de_block_wrapper {
  max-width: calc(var(--evo2-main-width) / 2);
}
@media (max-width: 1023px) {
  main .row .de_block.boxed.small:has(+ .boxed.half), main .row .de_block.boxed.half:has(+ .boxed.small), main .row .de_block.boxed.small + .boxed.half, main .row .de_block.boxed.half + .boxed.small {
    width: 100%;
  }
  main .row .de_block.boxed.small:has(+ .boxed.half) .de_block_wrapper, main .row .de_block.boxed.half:has(+ .boxed.small) .de_block_wrapper, main .row .de_block.boxed.small + .boxed.half .de_block_wrapper, main .row .de_block.boxed.half + .boxed.small .de_block_wrapper {
    max-width: unset;
  }
}
main .row .de_block {
  /*33% + 33% + 33% in a row*/
}
@media (max-width: 1199px) {
  main .row .de_block.small:has(+ .small + .small), main .row .de_block.small:has(+ .small):has(+ .small), main .row .de_block.small + .small + .small {
    width: 100%;
  }
  main .row .de_block.small:has(+ .small + .small) .de_block_wrapper, main .row .de_block.small:has(+ .small):has(+ .small) .de_block_wrapper, main .row .de_block.small + .small + .small .de_block_wrapper {
    max-width: unset;
  }
}
main .row .de_block {
  /*33% + 33% in a row --> force 50% + 50%*/
}
main .row .de_block.boxed.small + .boxed.small:last-child:nth-child(2), main .row .de_block.boxed.small:first-child:nth-last-child(2):has(+ .boxed.small) {
  width: 50%;
}
main .row .de_block.boxed.small + .boxed.small:last-child:nth-child(2) .de_block_wrapper, main .row .de_block.boxed.small:first-child:nth-last-child(2):has(+ .boxed.small) .de_block_wrapper {
  max-width: calc(var(--evo2-main-width) / 2);
}
@media (max-width: 1023px) {
  main .row .de_block.boxed.small + .boxed.small:last-child:nth-child(2), main .row .de_block.boxed.small:first-child:nth-last-child(2):has(+ .boxed.small) {
    width: 100%;
  }
  main .row .de_block.boxed.small + .boxed.small:last-child:nth-child(2) .de_block_wrapper, main .row .de_block.boxed.small:first-child:nth-last-child(2):has(+ .boxed.small) .de_block_wrapper {
    max-width: unset;
  }
}
main .row .de_block {
  /*generic width for internal container*/
}
main .row .de_block .de_block_wrapper {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  align-items: flex-start;
  height: 100%;
  max-width: calc(var(--evo2-main-width) / var(--k));
}
main .row .de_block .de_block_wrapper.block_pos_top {
  align-items: flex-start;
}
main .row .de_block .de_block_wrapper.block_pos_top .block_pos_sticky {
  top: 1rem; /*todo header height*/
}
main .row .de_block .de_block_wrapper.block_pos_center {
  align-items: center;
}
main .row .de_block .de_block_wrapper.block_pos_center .block_pos_sticky {
  top: 50%; /*to do is that really useful?*/
  transform: translateY(-50%);
}
main .row .de_block .de_block_wrapper.block_pos_bottom {
  align-items: flex-end;
}
main .row .de_block .de_block_wrapper.block_pos_bottom .block_pos_sticky {
  bottom: 1rem;
}
main .row .de_block .de_block_wrapper .de_block_inner_wrapper {
  position: relative;
  width: 100%;
}
main .row .de_block .de_block_wrapper .de_block_inner_wrapper.block_pos_relative {
  position: relative;
}
main .row .de_block .de_block_wrapper .de_block_inner_wrapper.block_pos_sticky {
  position: sticky;
}
main .de_block {
  --gap-x: 2rem;
  --gap-y: 6rem;
}
@media (min-width: 768px) and (max-width: 1023px) {
  main .de_block {
    --gap-x: 2rem;
    --gap-y: 4rem;
  }
}
@media (max-width: 767px) {
  main .de_block {
    --gap-x: 1.5rem;
    --gap-y: 2.5rem;
  }
}
main .de_block.full .de_block_wrapper {
  max-width: 100%;
}
main .de_block .de_block_wrapper {
  margin-left: auto;
  margin-right: auto;
  padding: var(--gap-y) var(--gap-x);
}
main .de_block .de_block_wrapper {
  border: 1px dashed var(--accent);
}
main .de_block .de_block_inner_wrapper {
  container-name: de_block;
  container-type: inline-size;
}
main {
  /*text alignment utilities*/
}
main .alignment_left {
  text-align: left;
}
main .alignment_center {
  text-align: center;
}
main .alignment_right {
  text-align: right;
}
main .alignment_justify {
  text-align: justify;
}

main > .row {
  position: relative;
  z-index: 2;
  /*Outside shapes containers*/
}
main > .row:has(section[class*=_top][class*=_bottom]) {
  --evo2-shape-height: 100px;
}
@media (max-width: 1023px) {
  main > .row:has(section[class*=_top][class*=_bottom]) {
    --evo2-shape-height: 50px;
  }
}
main > .row:has(section[class*=_top][class*=_bottom]) .de_block {
  position: relative;
  background: transparent;
  --custom-gap-y: var(--gap-y); /*custom gap compensate the shape height and the inner padding*/
  --shape-top: linear-gradient(0deg, var(--bg) 100%, transparent 0%);
  --shape-bottom: linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(section[class*=_top][class*=_bottom]) .de_block:before, main > .row:has(section[class*=_top][class*=_bottom]) .de_block:after {
  display: block;
  position: absolute;
  background: var(--bg);
  width: 100%;
  left: 0;
  top: 0;
  -webkit-mask-image: var(--shape-top), linear-gradient(0deg, var(--bg) 100%, transparent 0%), var(--shape-bottom);
          mask-image: var(--shape-top), linear-gradient(0deg, var(--bg) 100%, transparent 0%), var(--shape-bottom);
  height: 100%;
  -webkit-mask-position: top left, center center, bottom left;
          mask-position: top left, center center, bottom left;
  -webkit-mask-size: 100% var(--evo2-shape-height), 100% calc(100% - 2 * var(--evo2-shape-height)), 100% var(--evo2-shape-height);
          mask-size: 100% var(--evo2-shape-height), 100% calc(100% - 2 * var(--evo2-shape-height)), 100% var(--evo2-shape-height);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
main > .row:has(section[class*=_top][class*=_bottom]) .de_block:before {
  content: "";
}
main > .row:has(section[class*=_bottom_inside]) .de_block {
  --shape-bottom: none !important;
}
main > .row:has(section[class*=_top_inside]) .de_block {
  --shape-top: none !important;
}
main > .row:has(section[class*=_top]:not([class*=linear_top])) .de_block, main > .row:has(section[class*=_bottom]:not([class*=linear_bottom])) .de_block {
  --custom-gap-y: 4rem;
}
@media (max-width: 1023px) {
  main > .row:has(section[class*=_top]:not([class*=linear_top])) .de_block, main > .row:has(section[class*=_bottom]:not([class*=linear_bottom])) .de_block {
    --custom-gap-y: 2rem;
  }
}
main > .row:has(section[class*=_top]:not([class*=linear_top])) .de_block .de_block_wrapper {
  padding-top: var(--custom-gap-y);
}
main > .row:has(section[class*=_bottom]:not([class*=linear_bottom])) .de_block .de_block_wrapper {
  padding-bottom: var(--custom-gap-y);
}
main > .row:has(section[class*=_bottom]:not([class*=_bottom_inside])) .de_block {
  padding-bottom: var(--evo2-shape-height);
}
main > .row:has(section[class*=_top]:not([class*=_top_inside])) .de_block {
  padding-top: var(--evo2-shape-height);
}
main > .row:has(section[class*=linear_top]:not([class*=_top_inside])) .de_block {
  padding-top: 0;
}
main > .row:has(section[class*=linear_bottom]:not([class*=_bottom_inside])) .de_block {
  padding-bottom: 0;
}
main > .row {
  /*Inside shapes containers*/
}
main > .row:has(section[class*=_top_inside]) .de_block, main > .row:has(section[class*=_bottom_inside]) .de_block {
  --evo2-shape-height: 100px;
  --evo2-shape-inside-factor: 2;
  overflow: hidden;
}
main > .row:has(section[class*=_top_inside]) .de_block:before, main > .row:has(section[class*=_bottom_inside]) .de_block:before {
  height: var(--evo2-shape-height) !important;
}
main > .row:has(section[class*=_top_inside]) .de_block .de_block_content, main > .row:has(section[class*=_bottom_inside]) .de_block .de_block_content {
  position: relative;
}
main > .row:has(section[class*=_top_inside]) .de_block_cards:before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  left: calc((100vw - var(--evo2-main-width)) / 2 * -1 - var(--gap-x));
  bottom: calc(-1 * var(--custom-gap-y));
  height: calc(50% + var(--evo2-shape-height));
  background: var(--bg);
  z-index: -1;
  -webkit-mask-position: top left, bottom left;
          mask-position: top left, bottom left;
  -webkit-mask-size: 100% var(--evo2-shape-height), 100% calc(100% - var(--evo2-shape-height));
          mask-size: 100% var(--evo2-shape-height), 100% calc(100% - var(--evo2-shape-height));
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 1199px) {
  main > .row:has(section[class*=_top_inside]) .de_block_cards:before {
    left: calc(-1 * var(--gap-x));
  }
}
main > .row:has(section[class*=_top_inside]) .de_block[class*=linear_bottom_inside] .de_block_cards:before {
  bottom: calc(-1 * var(--gap-y));
}
main > .row:has(section[class*=_top_inside]) {
  /*force body colors when top_inside shape is used*/
}
main > .row:has(section[class*=_top_inside]) .de_block[class*=_bottom]:not([class*=_bottom_inside]) .de_block_content {
  --color: var(--body-bg-color);
  --bg: var(--body-bg);
  --accent: var(--body-accent);
  --accent-color: var(--body-accent-color);
  --error: var(--body-bg-error);
  --success: var(--body-bg-success);
  --bg-color-mixer: var(--body-bg-color-mixer);
  color: var(--color);
}
main > .row:has(section[class*=_top_inside]) .de_block[class*=_bottom]:not([class*=_bottom_inside]):before {
  top: unset;
  bottom: 0;
}
main > .row:has(section[class*=_bottom_inside]) .de_block_content:before {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  left: calc((100vw - var(--evo2-main-width)) / 2 * -1 - var(--gap-x));
  top: calc(-1 * var(--custom-gap-y));
  height: calc(100% + var(--custom-gap-y));
  background: var(--bg);
  z-index: -1;
}
@media (max-width: 1199px) {
  main > .row:has(section[class*=_bottom_inside]) .de_block_content:before {
    left: calc(-1 * var(--gap-x));
  }
}
main > .row:has(section[class*=_bottom_inside]) .de_block_cards {
  position: relative;
}
main > .row:has(section[class*=_bottom_inside]) .de_block_cards:after {
  content: "";
  display: block;
  position: absolute;
  width: 100vw;
  left: calc((100vw - var(--evo2-main-width)) / 2 * -1 - var(--gap-x));
  top: 0;
  height: calc(50% + var(--evo2-shape-height));
  background: var(--bg);
  z-index: -1;
  -webkit-mask-position: bottom left, top left;
          mask-position: bottom left, top left;
  -webkit-mask-size: 100% var(--evo2-shape-height), 100% calc(100% - var(--evo2-shape-height));
          mask-size: 100% var(--evo2-shape-height), 100% calc(100% - var(--evo2-shape-height));
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
@media (max-width: 1199px) {
  main > .row:has(section[class*=_bottom_inside]) .de_block_cards:after {
    left: calc(-1 * var(--gap-x));
  }
}
main > .row:has(section[class*=_top_inside][class*=_bottom_inside]) .de_block_cards:after, main > .row:has(section[class*=_top_inside][class*=_bottom_inside]) .de_block_cards:before {
  height: calc(25% + var(--evo2-shape-height));
}
main > .row {
  /*Padding / Margin*/
  /*compatible shape same color (inverted)*/
}
main > .row:has(section[class*=_bottom].default.inverted:not(.linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].default.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].default.inverted) + .row:has(section[class*=_top].default.inverted:not(.linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].primary.inverted:not(.linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].primary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].primary.inverted) + .row:has(section[class*=_top].primary.inverted:not(.linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].secondary.inverted:not(.linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].secondary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].secondary.inverted) + .row:has(section[class*=_top].secondary.inverted:not(.linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].tertiary.inverted:not(.linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].tertiary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].tertiary.inverted) + .row:has(section[class*=_top].tertiary.inverted:not(.linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper {
  margin-top: 0;
  padding-top: 0;
}
main > .row {
  /*compatible shape same color (NOT inverted)*/
}
main > .row:has(section[class*=_bottom].default:not(.inverted, .linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].default:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].default:not(.inverted)) + .row:has(section[class*=_top].default:not(.inverted, .linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].primary:not(.inverted, .linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].primary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].primary:not(.inverted)) + .row:has(section[class*=_top].primary:not(.inverted, .linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].secondary:not(.inverted, .linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].secondary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].secondary:not(.inverted)) + .row:has(section[class*=_top].secondary:not(.inverted, .linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper, main > .row:has(section[class*=_bottom].tertiary:not(.inverted, .linear_bottom, [class*=_inverted_bottom])) + .row:has(section[class*=inverted_top].tertiary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=inverted_bottom].tertiary:not(.inverted)) + .row:has(section[class*=_top].tertiary:not(.inverted, .linear_top, [class*=_inverted_top])) .de_block .de_block_wrapper {
  margin-top: 0;
  padding-top: 0;
}
main > .row {
  /*linear shapes same color (inverted and NOT inverted)*/
}
main > .row:has(section[class*=linear_bottom].default.inverted) + .row:has(section[class*=linear_top].default.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].primary.inverted) + .row:has(section[class*=linear_top].primary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].secondary.inverted) + .row:has(section[class*=linear_top].secondary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].tertiary.inverted) + .row:has(section[class*=linear_top].tertiary.inverted) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].default:not(.inverted)) + .row:has(section[class*=linear_top].default:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].primary:not(.inverted)) + .row:has(section[class*=linear_top].primary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].secondary:not(.inverted)) + .row:has(section[class*=linear_top].secondary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(section[class*=linear_bottom].tertiary:not(.inverted)) + .row:has(section[class*=linear_top].tertiary:not(.inverted)) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 2 blocks + row flat top (same color) */
}
main > .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) + .row:has(.default[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) + .row:has(.primary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) + .row:has(.secondary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) + .row:has(.tertiary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.default.inverted:first-child + .default.inverted:last-child) + .row:has(.default[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.primary.inverted:first-child + .primary.inverted:last-child) + .row:has(.primary[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.secondary.inverted:first-child + .secondary.inverted:last-child) + .row:has(.secondary[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) + .row:has(.tertiary[class*=linear_top].inverted.big) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /* row flat bottom + row with 2 blocks (same color)*/
}
main > .row:has(.default[class*=linear_bottom]:not(.inverted).big) + .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.primary[class*=linear_bottom]:not(.inverted).big) + .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.secondary[class*=linear_bottom]:not(.inverted).big) + .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary[class*=linear_bottom]:not(.inverted).big) + .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.default[class*=linear_bottom].inverted.big) + .row:has(.default.inverted:first-child + .default.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.primary[class*=linear_bottom].inverted.big) + .row:has(.primary.inverted:first-child + .primary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.secondary[class*=linear_bottom].inverted.big) + .row:has(.secondary.inverted:first-child + .secondary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary[class*=linear_bottom].inverted.big) + .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 3 blocks + row flat top (same color)*/
}
main > .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) + .row:has(.default[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) + .row:has(.primary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) + .row:has(.secondary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) + .row:has(.tertiary[class*=linear_top]:not(.inverted).big) .de_block .de_block_wrapper, main > .row:has(.default.inverted + .default.inverted + .default.inverted) + .row:has(.default[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.primary.inverted + .primary.inverted + .primary.inverted) + .row:has(.primary[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) + .row:has(.secondary[class*=linear_top].inverted.big) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) + .row:has(.tertiary[class*=linear_top].inverted.big) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row flat bottom + row with 3 blocks (same color)*/
}
main > .row:has(.default[class*=linear_bottom]:not(.inverted).big) + .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.primary[class*=linear_bottom]:not(.inverted).big) + .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.secondary[class*=linear_bottom]:not(.inverted).big) + .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.tertiary[class*=linear_bottom]:not(.inverted).big) + .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.default[class*=linear_bottom].inverted.big) + .row:has(.default.inverted + .default.inverted + .default.inverted) .de_block .de_block_wrapper, main > .row:has(.primary[class*=linear_bottom].inverted.big) + .row:has(.primary.inverted + .primary.inverted + .primary.inverted) .de_block .de_block_wrapper, main > .row:has(.secondary[class*=linear_bottom].inverted.big) + .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) .de_block .de_block_wrapper, main > .row:has(.tertiary[class*=linear_bottom].inverted.big) + .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 2 blocks + row with 2 blocks (same color)*/
}
main > .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) + .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) + .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) + .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) + .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.default.inverted:first-child + .default.inverted:last-child) + .row:has(.default.inverted:first-child + .default.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.primary.inverted:first-child + .primary.inverted:last-child) + .row:has(.primary.inverted:first-child + .primary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.s.secondary.inverted:first-child + .secondary.inverted:last-child) + .row:has(.secondary.inverted:first-child + .secondary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) + .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 3 blocks + row with 3 blocks (same color)*/
}
main > .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) + .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) + .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) + .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) + .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.default.inverted + .default.inverted + .default.inverted) + .row:has(.default.inverted + .default.inverted + .default.inverted) .de_block .de_block_wrapper, main > .row:has(.primary.inverted + .primary.inverted + .primary.inverted) + .row:has(.primary.inverted + .primary.inverted + .primary.inverted) .de_block .de_block_wrapper, main > .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) + .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) + .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 3 blocks + row with 2 blocks (same color)*/
}
main > .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) + .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) + .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) + .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) + .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) .de_block .de_block_wrapper, main > .row:has(.default.inverted + .default.inverted + .default.inverted) + .row:has(.default.inverted:first-child + .default.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.primary.inverted + .primary.inverted + .primary.inverted) + .row:has(.primary.inverted:first-child + .primary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) + .row:has(.s.secondary.inverted:first-child + .secondary.inverted:last-child) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) + .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*row with 2 blocks + row with 3 blocks (same color)*/
}
main > .row:has(.default:not(.inverted):first-child + .default:not(.inverted):last-child) + .row:has(.default:not(.inverted) + .default:not(.inverted) + .default:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.primary:not(.inverted):first-child + .primary:not(.inverted):last-child) + .row:has(.primary:not(.inverted) + .primary:not(.inverted) + .primary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.secondary:not(.inverted):first-child + .secondary:not(.inverted):last-child) + .row:has(.secondary:not(.inverted) + .secondary:not(.inverted) + .secondary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.tertiary:not(.inverted):first-child + .tertiary:not(.inverted):last-child) + .row:has(.tertiary:not(.inverted) + .tertiary:not(.inverted) + .tertiary:not(.inverted)) .de_block .de_block_wrapper, main > .row:has(.default.inverted:first-child + .default.inverted:last-child) + .row:has(.default.inverted + .default.inverted + .default.inverted) .de_block .de_block_wrapper, main > .row:has(.primary.inverted:first-child + .primary.inverted:last-child) + .row:has(.primary.inverted + .primary.inverted + .primary.inverted) .de_block .de_block_wrapper, main > .row:has(.secondary.inverted:first-child + .secondary.inverted:last-child) + .row:has(.secondary.inverted + .secondary.inverted + .secondary.inverted) .de_block .de_block_wrapper, main > .row:has(.tertiary.inverted:first-child + .tertiary.inverted:last-child) + .row:has(.tertiary.inverted + .tertiary.inverted + .tertiary.inverted) .de_block .de_block_wrapper {
  padding-top: 0;
}
main > .row {
  /*Shape rounded*/
}
main > .row:has(.rounded_inverted_top) .de_block:before, main > .row:has(.rounded_inverted_top) .de_block:after {
  --shape-top: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>');
}
main > .row:has(.rounded_inverted_bottom) .de_block:before, main > .row:has(.rounded_inverted_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>');
}
main > .row:has(.rounded_top) .de_block:before, main > .row:has(.rounded_top) .de_block:after {
  --shape-top: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>') ;
}
main > .row:has(.rounded_bottom) .de_block:before, main > .row:has(.rounded_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>') ;
}
main > .row:has(.rounded_bottom) + .row:has(.rounded_inverted_top), main > .row:has(.rounded_inverted_bottom) + .row:has(.rounded_top) {
  margin-top: calc(-1 * var(--evo2-shape-height) - 1px + var(--evo2-section-gap));
}
main > .row:has(.rounded_reverse_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.rounded_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.rounded_reverse_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M600,112.77C268.63,112.77,0,65.52,0,7.23V120H1200V7.23C1200,65.52,931.37,112.77,600,112.77Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.rounded_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M0,0V7.23C0,65.52,268.63,112.77,600,112.77S1200,65.52,1200,7.23V0Z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row {
  /*Shape skewed */
}
main > .row:has(.skewed_inverted_top) .de_block:before, main > .row:has(.skewed_inverted_top) .de_block:after {
  --shape-top: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>');
}
main > .row:has(.skewed_inverted_bottom) .de_block:before, main > .row:has(.skewed_inverted_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>');
}
main > .row:has(.skewed_top) .de_block:before, main > .row:has(.skewed_top) .de_block:after {
  --shape-top: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>');
}
main > .row:has(.skewed_bottom) .de_block:before, main > .row:has(.skewed_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>');
}
main > .row:has(.skewed_bottom) + .row:has(.skewed_inverted_top), main > .row:has(.skewed_inverted_bottom) + .row:has(.skewed_top) {
  margin-top: calc(-1 * var(--evo2-shape-height) - 1px + var(--evo2-section-gap));
}
main > .row:has(.skewed_reverse_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.skewed_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.skewed_reverse_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.skewed_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,  <svg xmlns="http://www.w3.org/2000/svg" transform="scale(-1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 120L0 16.48 0 0 1200 0 1200 120z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row {
  /*Shape chevron */
}
main > .row:has(.chevron_inverted_top) .de_block:before, main > .row:has(.chevron_inverted_top) .de_block:after {
  --shape-top: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>');
}
main > .row:has(.chevron_inverted_bottom) .de_block:before, main > .row:has(.chevron_inverted_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>');
}
main > .row:has(.chevron_top) .de_block:before, main > .row:has(.chevron_top) .de_block:after {
  --shape-top: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>');
}
main > .row:has(.chevron_bottom) .de_block:before, main > .row:has(.chevron_bottom) .de_block:after {
  --shape-bottom: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>');
}
main > .row:has(.chevron_bottom) + .row:has(.chevron_inverted_top), main > .row:has(.chevron_inverted_bottom) + .row:has(.chevron_top) {
  margin-top: calc(-1 * var(--evo2-shape-height) - 1px + var(--evo2-section-gap));
}
main > .row:has(.chevron_reverse_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.chevron_bottom_inside) .de_block .de_block_cards:after {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.chevron_reverse_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml, <svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, 1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M598.97 114.72L0 0 0 120 1200 120 1200 0 598.97 114.72z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row:has(.chevron_top_inside) .de_block .de_block_cards:before {
  -webkit-mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
          mask-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" transform="scale(1, -1)" viewBox="0 0 1200 120" preserveAspectRatio="none"> <path d="M1200 0L0 0 598.97 114.72 1200 0z" class="shape-fill"></path> </svg>'), linear-gradient(0deg, var(--bg) 100%, transparent 0%);
}
main > .row {
  /* More shapes https://www.svgbackgrounds.com/elements/svg-shape-dividers/*/
}

/*swiper js*/
.swiper {
  /*.swiper-wrapper:has(* + *){*/
}
.swiper button.button_prev,
.swiper button.button_next {
  opacity: 0;
  visibility: hidden;
}
.swiper button.button_prev:has(+ .swiper-initialized),
.swiper .swiper-initialized + button.button_next {
  all: unset;
  width: 40px;
  aspect-ratio: 1;
  border-radius: var(--evo-button-radius);
  background: var(--alternative-bg);
  color: var(--color);
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  right: calc(var(--evo2-card-spacer) + 0.5rem);
  transform: translateY(-50%);
  cursor: pointer;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.3s ease;
  z-index: 20;
}
.swiper button.button_prev:has(+ .swiper-initialized):before,
.swiper .swiper-initialized + button.button_next:before {
  content: var(--evo2-icon-arrow-right);
  font-family: var(--evo2-icon-font);
  font-weight: var(--evo2-icon-weight);
}
.swiper button.button_prev:has(+ .swiper-initialized) {
  right: unset;
  left: calc(var(--evo2-card-spacer) + 0.5rem);
}
.swiper button.button_prev:has(+ .swiper-initialized):before {
  transform: scaleX(-1);
}
.swiper .pagination:has(span + span) {
  margin-top: 1rem;
  text-align: center;
}
.swiper .pagination:has(span + span) span {
  background: color-mix(in srgb, var(--color) 70%, transparent);
}
.swiper .pagination:has(span + span) .swiper-pagination-bullet-active {
  background: var(--accent);
}
/*# sourceMappingURL=main.min.css.map */
