@import url(https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap);

.card,
header {
    box-sizing: border-box
}

.block-hero .block-hero__text p strong,
.card h3 {
    font-weight: 600
}

.block-hero .block-hero__text h1 span,
h2 span {
    color: #00a88e
}

.block-form__form .mauticform-checkboxgrp-row input:checked~label::before,
.block-form__form .mauticform-radiogrp-row input:checked~label::before {
    background-color: #29ccb1
}

::selection {
    background: #00a88e;
    color: #fff
}

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline
}

.block-form__form .mauticform-checkboxgrp-row label span.small--text,
.block-form__form .mauticform-radiogrp-row label span {
    font-size: 11.25px;
    line-height: 14px
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
img,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1;
    padding-top: 54px
}

ol,
ul {
    list-style: disc;
    text-align: left;
    margin-top: 2rem;
    padding-left: 3rem;
    font-size: 22px;
    line-height: 1.5;
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

body,
html {
    font-family: Inter, sans-serif;
    font-weight: 400;
    color: #fff;
    scroll-behavior: smooth;
    background-color: #0f151c
}

h2 {
    color: #fff;
    font-size: 34.031px;
    font-weight: 500;
    line-height: 36px;
    margin-bottom: 40px
}

@media (min-width:767px) {
    h2 {
        font-size: 44.438px;
        line-height: 48px
    }
}

.color--green {
    color: #29ccb1
}

.color--blue {
    color: #3bf
}

.color--purple {
    color: #7633ff
}

footer p a,
header .header__contact p a {
    color: #fff;
    transition: .3s ease-in-out
}

.block-form__form button[type=submit].btn.btn-default,
.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 44.62px 14px 44.63px;
    border-radius: 8px;
    color: #fff;
    font-size: 15px;
    font-style: normal;
    font-weight: 600;
    line-height: 20px;
    text-decoration: none;
    transition: .3s ease-in-out;
    min-height: 48px;
    box-sizing: border-box;
    background: #00a88e
}

.block-form__form button[type=submit].btn.btn-default:hover,
.btn:hover {
    background: #29ccb1
}

.card {
    height: 100%
}

.card--border {
    border: 1px solid;
    background: #15191d;
    border-radius: 16px;
    padding: 30px
}

.card--green {
    border-color: #29ccb1
}

.card--blue {
    border-color: #3bf
}

.card--purple {
    border-color: #7633ff
}

.block-media-text__image img,
.card img {
    width: 100%;
    height: auto
}

.card h3 {
    margin: 20px 0;
    font-size: 22.688px;
    line-height: 27px
}

.card ul {
    padding-left: 15px
}

.card ul li {
    list-style: disc;
    font-size: 14.375px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 15px
}

.block-glossary h2,
footer .footer__logo p,
footer p,
header .header__contact p {
    margin: 0
}

.card ul li:last-of-type {
    margin-bottom: 0
}

.container {
    max-width: 1140px;
    margin: 0 auto;
    width: 100%
}

.container .row {
    display: flex
}

.col--title {
    display: block;
    text-align: center
}

.block-cards,
.block-featured,
.block-form,
.block-media-text {
    padding: 40px 120px
}

header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #21272f;
    height: 54px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
    width: 100%
}

header .container .row {
    justify-content: center;
    align-items: center
}

header .header__contact {
    display: none
}

header .header__contact p a {
    font-size: 15px;
    line-height: 20px;
    text-transform: capitalize;
    text-decoration: none
}

.block-form__form #mauticform_input_demonext_politica_de_privacidad p a,
footer p a:hover,
header .header__contact p a:hover {
    color: #29ccb1
}

.block-hero {
    overflow: hidden;
    max-height: 750px;
    position: relative
}

.block-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.block-hero .block-hero__content {
    position: absolute;
    bottom: 30px;
    left: 0;
    max-width: 1140px;
    width: 100%
}

.block-hero .block-hero__text {
    max-width: 665px;
    padding: 0 24px
}

@media (min-width:1280px) {
    .block-hero .block-hero__text {
        padding: 0
    }
}

.block-hero .block-hero__text svg {
    margin-bottom: 16px
}

.block-hero .block-hero__text h1 {
    margin-bottom: 40px;
    font-size: 44.625px;
    font-style: normal;
    font-weight: 500;
    line-height: 48px
}

.block-hero .block-hero__text p {
    margin-bottom: 32px;
    font-size: 19.195px;
    font-style: normal;
    line-height: 29px
}

.block-hero .block-hero__text p:last-of-type,
.block-media-text-full__content p:last-of-type {
    margin-bottom: 0
}

.block-cards .container .row,
.block-featured .container .row {
    gap: 24px;
    flex-wrap: wrap
}

.block-cards .container .row .col,
.block-featured .container .row .col,
.block-media-text-full .col {
    width: 100%
}

.block-featured .col--title h2 {
    font-size: 45.375px
}

.block-glossary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 40px;
    padding: 0 24px 40px;
    flex-direction: column
}

.block-media-text-full__content,
footer {
    padding: 40px 24px;
    box-sizing: border-box;
    display: flex
}

.block-media-text-full {
    background-color: #020d11;
    display: flex;
    flex-direction: column
}

.block-media-text-full__content {
    justify-content: center;
    flex-direction: column;
    height: 100%
}

.block-media-text-full__content h2 {
    font-size: 44.438px;
    line-height: 48px;
    margin-bottom: 24px
}

.block-media-text-full__content p {
    font-size: 19.195px;
    line-height: 29px;
    margin-bottom: 30px
}

.block-media-text-full img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left
}

.block-media-text-full p span {
    text-decoration: underline;
    color: #00a88e
}

.block-media-text .container {
    max-width: 968px
}

.block-media-text .container .row {
    flex-direction: column;
    gap: 56px
}

.block-media-text__content {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.block-media-text__text {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.block-media-text__text img {
    max-width: 80px;
    width: 100%;
    height: auto
}

.block-media-text__text h3 {
    font-size: 30px;
    line-height: 36px;
    font-weight: 500;
    color: #29ccb1
}

.block-media-text__text p,
footer .footer__logo p,
footer p {
    font-size: 14.375px;
    line-height: 24px
}

.block-form {
    scroll-margin-top: 54px
}

.block-form .col--title span {
    display: block
}

.block-form__form {
    max-width: 600px;
    margin: 0 auto;
    min-height: 600px;
    padding: 24px;
    border-radius: 8px;
    box-sizing: border-box
}

.block-form__form label {
    margin-bottom: 13px;
    font-size: 16.594px;
    font-style: normal;
    font-weight: 600
}

.block-form__form input {
    height: 37px;
    padding: 8px 16px;
    border-radius: 4px;
    font-family: Inter, sans-serif
}

.block-form__form button[type=submit].btn.btn-default {
    font-family: Inter, sans-serif;
    border: none;
    width: 100%
}

.block-form__form textarea {
    min-height: 157px;
    font-family: Inter, sans-serif
}

.block-form__form .mauticform-checkboxgrp-row input,
.block-form__form .mauticform-radiogrp-row input {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.block-form__form .mauticform-checkboxgrp-row label,
.block-form__form .mauticform-radiogrp-row label {
    position: relative;
    padding-left: 36px;
    font-size: 16px;
    line-height: 20px;
    display: block;
    font-weight: 400
}

.block-form__form .mauticform-checkboxgrp-row label::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    border-radius: 4px;
    transition: .3s ease-in-out
}

.block-form__form .mauticform-radiogrp-row label::before {
    content: "";
    position: absolute;
    top: 7px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #fff;
    border-radius: 4px;
    transition: .3s ease-in-out
}

.block-form__form #mauticform_input_demonext_politica_de_privacidad p {
    position: relative;
    font-size: 16px;
    line-height: 20px;
    display: block;
    font-weight: 400
}

footer {
    justify-content: space-between;
    align-items: center;
    background-color: #01090c
}

footer .container .row {
    flex-direction: column;
    gap: 40px
}

footer .footer__logo {
    display: flex;
    gap: 16px;
    flex-direction: column
}

@media (min-width:1024px) {

    .block-cards,
    .block-featured,
    .block-form,
    .block-media-text,
    footer {
        padding: 60px 124px
    }

    body {
        padding-top: 80px
    }

    header {
        height: 80px;
        padding: 0 24px
    }

    header .container .row {
        justify-content: space-between
    }

    header .header__contact {
        display: block
    }

    .block-hero {
        max-height: 800px
    }

    .block-hero .block-hero__content {
        bottom: auto;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }

    .block-hero .block-hero__text h1 {
        font-size: 59.5px;
        line-height: 64px
    }

    .show h1 {
        font-size: 52.5px;
        line-height: 58px
    }

    .show p {
        font-size: 22px;
        line-height: 1.4;
        margin-top: 36px;
        text-align: justify;
    }

    .block-cards .container .row {
        gap: 44px;
        flex-wrap: nowrap
    }

    .block-cards .container .row .col,
    .block-featured .container .row .col {
        width: 33.3333333333%
    }

    .block-featured .container .row {
        gap: 30px;
        flex-wrap: nowrap
    }

    .block-glossary {
        padding: 0 0 60px;
        flex-direction: row
    }

    .block-media-text-full,
    .block-media-text__content {
        flex-direction: row
    }

    .block-media-text-full .col {
        width: 50%
    }

    .block-media-text-full__content {
        padding: 60px
    }

    .block-media-text__content:first-of-type {
        flex-direction: row-reverse
    }

    .block-media-text__image img {
        width: auto
    }

    #form h3 {
        font-size: 32px;
        line-height: 2;
        margin-top: 5rem;
    }

    .block-form {
        scroll-margin-top: 80px
    }

    footer .container .row {
        align-items: center;
        justify-content: space-between;
        flex-direction: row
    }

    footer .footer__logo {
        align-items: center;
        flex-direction: row
    }
}

footer .footer__logo img {
    max-width: 155px;
    height: auto
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px)
    }

    to {
        opacity: 1;
        transform: translateY(0)
    }
}

.fade-in-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity .6s, transform .6s
}

.fade-in-up.show {
    opacity: 1;
    transform: translateY(0)
}