@font-face {
    font-family: "Gilroy-ExtraBold";
    src: url("../fonts/Gilroy-ExtraBold.otf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gilroy-Medium";
    src: url("../fonts/Gilroy-Medium.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Gilroy-Regular";
    src: url("../fonts/Gilroy-Regular.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.Gilroy-ExtraBold {font-family: 'Gilroy-ExtraBold', sans-serif;}
.Gilroy-Medium {font-family: 'Gilroy-Medium', sans-serif;}
.Gilroy-Regular {font-family: 'Gilroy-Regular', sans-serif;}

[v-cloak] { display: none }

:root {
    --primary: #e51c47;
    --background: #fcebeb;
    --blue: #0055a5;
}

*,
*:before,
*:after {
    box-sizing: border-box;
    outline: 0;
}

[v-cloak] {
    display: none;
}

html {
    min-width: 320px;
    overflow-x: hidden;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-text-size-adjust: 100%;
    text-align: left;
    direction: ltr;
}

html,
body {
    float: left;
    width: 100%;
    min-height: 100vh;
    margin: 0;
    padding: 0;
    min-width: 320px;
}

body {
    background: var(--primary);
    color: #fff;
    font-family: 'Gilroy-Regular', sans-serif;
    font-weight: normal;
    font-size: 16px;
    line-height: 21px;
}

a {
    text-decoration: none;
    color: var(--color);
    cursor: pointer;
}

.a {
    font-weight: bold;
    text-decoration: underline;
    color: var(--primary);
    cursor: pointer;
}

.a:hover {
    color: var(--color);
}

a:hover,
a:active,
a:focus {
    outline: none;
}

[data-scroll-to] {
    cursor: pointer;
}

.grecaptcha-badge {
    display: none !important;
}

picture, img {
    display: block;
    vertical-align: bottom;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.b {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 768px;
    padding: 0 20px;
}

.hide-on-desktop {display: block !important;}
.show-on-desktop {display: none !important;}
.hide-on-mobile {display: none !important;}
.show-on-mobile {display: block !important;}

@media (min-width: 1024px) {
    .b {max-width: 1440px; padding: 0 100px;}
    .hide-on-desktop {display: none !important;}
    .show-on-desktop {display: block !important;}
    .hide-on-mobile {display: block !important;}
    .show-on-mobile {display: none !important;}
}

.checkbox-label {color: #000;}
.input-error {color: red; font-weight: bold; padding: 3px 9px;}

.waves {
    height: 50px; margin: -3px 0;
    background-color: var(--primary);
    background-image: url('../images/waves.png');
    background-size: auto 100%;
    background-repeat: repeat;
    animation: animWaves 30s ease-in-out 0s infinite;
    background-position: 0 0;
}
@keyframes animWaves {
    0% {background-position: 0 0;}
    50% {background-position: 90% 0;}
    100% {background-position: 0 0;}
}
.waves-flip {transform: scaleY(-1);}

@media (min-width: 1024px) {
    .waves {height: 95px;}
}

.waves-blue {
    background-color: #0055a5;
}

.waves-white {
    transform: scaleX(-1);
    background-image: url('../images/waves-white.png');
}

.waves-white.waves-flip {
    transform: scaleY(-1);
}


.border {height: 2px; background: #ffd9da;}
.border-primary {background: var(--primary);}
.border-fcebeb {background: #fcebeb;}

/* ANIMATIONS */
.animation {}
/*@media (min-width: 1024px) {*/
    .anim-left-to-right {position: relative; opacity: 0; right: 100%;}
    .anim-right-to-left {position: relative; opacity: 0; left: 100%;}
    .anim-pop {opacity: 0; transform: scale(.2);}
    .anim-extend-border {margin: 0 auto; max-width: 0;}
    .animation-active .anim-left-to-right {animation: animLeftToRight .6s ease-out .3s forwards;}
    .animation-active .anim-right-to-left {animation: animRightToLeft .6s ease-out .3s forwards;}
    .animation-active .anim-pop {animation: animPop .3s linear .3s forwards;}
    .anim-pop-safe-space {padding: 20px;}
    .animation-active .anim-extend-border {animation: animExtendBorder .6s linear .3s forwards;}
/*}*/

@keyframes animLeftToRight {
    from {opacity: 0; right: 100%;}
    to {opacity: 1; right: 0;}
}

@keyframes animRightToLeft {
    from {opacity: 0; left: 100%;}
    to {opacity: 1; left: 0;}
}

@keyframes animPop {
    0% {opacity: 0; transform: scale(.3);}
    30% {opacity: .3; transform: scale(.6);}
    60% {opacity: .6; transform: scale(.9);}
    90% {opacity: 1; transform: scale(1.05);}
    100% {opacity: 1; transform: scale(1);}
}

@keyframes animExtendBorder {
    from {max-width: 0;}
    to {max-width: 100%;}
}


/* M 00 */
.cta-row {position: relative; z-index: 90;}
.cta-row:after {content: ''; position: absolute; left: 0; right: 0; height: 3px; background: #fcebeb; bottom: -1px;}
.cta-main {position: absolute; z-index: 10; left: 50%; top: 50%; width: 200px; height: 200px;
margin: -100px 0 0 -100px;}
@media (min-width: 1024px) {
    .cta-main {transform: scale(1.3); transition: all .2s linear 0s;}
    .cta-main:hover {transform: scale(1.4);}
}

/* M 06 */
.module-06 {padding: 0 0 120px; background: #fff; color: var(--primary); position: relative; overflow: hidden;}
.module-06 .grid {display: grid; gap: 40px; padding-top: 30px;}
.module-06 .box-grid-50 {display: grid; gap: 20px; grid-template: auto / auto 1fr; align-items: center}
.module-06 .hero-banner {width: 100%; margin-bottom: -45px; padding-top: 30%; background: #fdfdfb url('../images/06/poster.jpg') no-repeat top center; background-size: cover;}
.module-06-card-box {display: grid; gap: 20px; align-items: start}
.module-06 .hero-banner-card {position: relative; right: -20px;}
.module-06 .hero-banner-logo {width: 280px;}
.module-06 .heading-50 {font-size: 70px; line-height: 70px;}

@media (min-width: 1024px) {
    .module-06 {padding: 0 0 120px;}
    .module-06 .grid {gap: 50px; padding-top: 120px;}
    .module-06 .hero-banner {padding-top: 30vw; margin: 0 auto -90px;}
    .module-06 .heading-50 {font-size: 130px; line-height: 130px;}
    .module-06 .hero-banner-logo {width: 580px;}
    .module-06-card-box {gap: 40px; grid-template: auto / 1fr 400px;}
    .module-06-card-box .x2 {grid-column: 1 / span 2}
    .module-06 .hero-banner-card {padding-right: 5px;}
    .module-06 .hero-banner-card:after {content: ''; position: absolute; right: 0; top: 0; bottom: 0; width: 5px;
    background: #e4e4e5;}
}
@media (min-width: 1920px) {
    .module-06 .hero-banner {padding-top: 20%; max-width: 1920px;}
}

/* M 07 */
.module-07 {padding: 120px 0 30px 0; background: #fcebeb; color: var(--primary); position: relative; overflow: hidden;}
.module-07 .grid {display: grid; gap: 40px;}
.module-07 .heading-01-01 {text-align: center;}
.module-07-box {background: var(--primary); border: 4px solid var(--primary);}
.module-07-box .box-top {padding: 20px}
.module-07-box .box-top .heading-02 {color: #fcebeb}
.module-07-box .box-bottom {display: grid; gap: 20px; padding: 20px; background: #fcebeb;}


@media (min-width: 1024px) {
    .module-07 {padding: 120px 0;}
    .module-07 .grid {gap: 50px;}
    .module-07-box {display: grid; grid-template: auto / 35% 1fr;}

    .module-07-box .box-top {padding: 40px}
    .module-07-box .box-bottom {padding: 40px}
}

/* M 08 */
.module-08 {padding: 40px; text-align: center; position: relative; overflow: hidden;}
.module-08 .grid {display: grid; gap: 20px;}
.module-08-boxs {display: grid; gap: 20px;}
.module-08-box {text-align: center; border: 4px solid #fcebeb;}
.module-08-box > div {padding: 20px;}
.module-08-box-bg {background: #fcebeb; color: var(--primary)}
.module-08 .hero-banner {width: 80%; display: block; margin: 0 auto;}
.module-08-boxs-2-grid {display: grid; gap: 5px;}

@media (min-width: 1024px) {
    .module-08 {padding: 120px 0;}
    .module-08 .grid {gap: 60px;}
    .module-08-boxs {gap: 0;}
    .module-08-boxs-1 {padding-right: 33.333%}
    .module-08-boxs-2 {padding-left: 33.333%}
    .module-08-box {display: grid; grid-template: auto / 1fr 1fr;}
    .module-08-box .module-08-box-bg {padding: 60px 0}
    .module-08-box .module-08-boxs-2-grid {padding: 60px 0}
}

/* M 09 */
.module-09 {padding: 30px 0 50px 0; background: #fcebeb; color: var(--primary); position: relative; overflow: hidden;}
.module-09 .grid {display: grid; gap: 40px;}
.module-09 .grid-top {display: grid; gap: 40px;}
.module-09 .grid-top-first {display: grid; gap: 40px;}
.module-09 .image {display: block; margin: 0 auto; width: 200px;}

@media (min-width: 1024px) {
    .module-09 {padding: 120px 0;}
    .module-09 .grid {gap: 50px;}
    .module-09 .grid-top {grid-template: auto / 1fr 200px;}
    .module-09 .image {width: 100%;}
}

/* M 12 */
.module-12 {padding: 0 0 40px; position: relative; overflow: hidden;}
.module-12 .grid {margin: 0 auto; display: grid; grid-template: auto / repeat(1, 1fr); gap: 40px; align-items: center;}
.module-12 .grid .top {margin: 0 -20px;}
.module-12 .grid .bottom {display: grid; gap: 20px;}
.module-12 .button {display: inline-block; background: #0055a5; margin: 0; padding: 20px 30px;
    border-radius: 6px; cursor: pointer; border: none; text-align: center; color: #fff; font-size: 22px; line-height: 22px; font-weight: bold}

@media (min-width: 1024px) {
    .module-12 {padding: 120px 0;}
    .module-12 .grid {grid-template: auto / 1fr 55%;}
    .module-12 .grid .top {grid-row: 1 / span 1; grid-column: 2 / span 1;}
    .module-12 .grid .bottom {grid-row: 1 / span 1; grid-column: 1 / span 1;}
    .module-12 .button:hover {background: #fff; color: #0055a5;}

}

/* M 13 */
.module-13 {padding: 40px 0; position: relative; overflow: hidden; background: #fcebeb; color: var(--primary);}
.module-13 .grid {margin: 0 auto; display: grid; grid-template: auto / repeat(1, 1fr); gap: 40px; align-items: start;}
.module-13 .grid .top { }
.module-13 .grid .bottom {display: grid; gap: 40px; align-items: center;}
.module-13 .hero-banner {width: 230px; margin: 0 auto;}

.module-13 .heading-02-01 {}
.module-13 .heading-02-02 {}
.module-13 .heading-02-03 {text-align: center;}
.module-13 .heading-02-04 {}

@media (min-width: 1024px) {
    .module-13 {padding: 120px 0;}
    .module-13 .grid {gap: 80px;}
    .module-13 .grid .bottom {display: grid; gap: 60px; grid-template: auto / 1fr 300px 1fr;}
    .module-13 .heading-02-01 {display: block; max-width: 55%; margin: 0 auto; text-align: center;}
    .module-13 .heading-02-04 {text-align: right;}
}

/* TYPO */
.heading, .p {display: inline-block;vertical-align: top; width: 100%;}
.heading-01 {font-size: 46px; line-height: 52px;}
.heading-02 {font-size: 20px; line-height: 26px;}
.heading-blue {color: #0055a5;}

@media (min-width: 1024px) {
    .heading-01 {font-size: 66px; line-height: 72px;}
    .heading-02 {font-size: 30px; line-height: 36px;}
}

/* M WYSIWYG */
.module-wysiwyg {
    font-family: "Times New Roman", sans-serif;
    font-size: 18px; line-height: 26px;
    background: #fff;
    color: #000000;
    padding: 50px 0;
}

.module-wysiwyg .b {
    max-width: 1024px;
}
.module-wysiwyg .heading,
.module-wysiwyg .p {margin-bottom: 20px;}

.module-wysiwyg .heading {}
.module-wysiwyg .p {}

/* HEADER */
.header {position: sticky; top: 0; z-index: 110; background: #fff;}
.header .grid {display: grid; height: inherit; grid-template: auto / auto 1fr auto; align-items: center;}
.header .grid .cta {display: none; width: 48px; height: inherit; background: transparent; border: none; margin: 0; padding: 0;}
.header .grid .cta svg {float: left; width: inherit; height: inherit; color: #000; transform: scale(.6);}
.header .grid .nav {display: none;}
.header .cta-fake-hide-nav {display: none;}
.header .grid .logo a {text-decoration: none;}
.header .picture-logo {display: inline-block; vertical-align: top;}
.header .picture-logo, .header .picture-logo img {aspect-ratio: 424 / 39;}
.header .grid .nav a { color: var(--blue)}

@media (max-width: 1023px) {
    .header {height: 65px;}
    .header .b {height: 60px;}
    .header .grid .cta {display: block;}
    .header-grid-logo {justify-self: end;}
    .header .picture-logo {width: 240px;}
    .header .grid .nav-slide {
        position: fixed; top: 0; left: 0; bottom: 0; z-index: 15; width: 0; background: var(--primary);
        overflow: hidden; display: grid; align-items: center;
    }
    .header .grid .nav-slide.in {
        animation: animNavIn .18s linear 0s forwards;
    }
    .header .grid .nav-slide.out {
        animation: animNavOut .18s linear 0s forwards;
    }
    .header .grid .nav {
        position: relative; z-index: 20;
        display: grid;
        gap: 10px;
        width: 325px;
        padding: 12px;
    }
    .header .grid .nav a {
        font-size: 17px; line-height: 15px;
        text-align: left; padding: 20px 0 20px 20px;
        color: #fff;
        font-weight: bold;
        text-transform: none;
        letter-spacing: .5px;
    }
    .header .grid .nav a.nav-button {
        background: #0055a5; color: #fff; padding: 20px; border-radius: 6px;
    }
    .header .grid .nav a.nav-button .nav-button-icon {float: right; margin: -4px 0;}
    .header .cta-fake-hide-nav {
        position: fixed; top: 0; left: 0; bottom: 0; right: 0; background: rgba(0, 0, 0, .4); z-index: 10;
        cursor: pointer; margin: 0; padding: 0; border: none;
    }
    @keyframes animNavIn {
        from {width: 0;}
        to {width: 325px;}
    }
    @keyframes animNavOut {
        from {width: 325px;}
        to {width: 0;}
    }
}

@media (min-width: 1024px) {
    .header {height: 90px;}
    .header .b {height: 90px;}
    .header .grid {align-items: end; padding-bottom: 20px;}
    .header .grid .nav {display: grid; gap: 25px; grid-auto-flow: column; justify-content: start; padding-right: 20px;}
    .header .grid .nav a {font-size: 14px; text-align: center; line-height: 16px; text-transform: uppercase;}
    .header .grid .nav a:hover {color: var(--primary)}
    .header .picture-logo {width: 340px;}
    .header .grid .nav a.nav-button {
        display: none;
    }
}

/* FOOTER */
.footer {
    padding: 90px 0;
    background: var(--primary);
}
.footer .module-wysiwyg {
    background: transparent;
    color: #fff;
}

/* REGISTER */
.module-reg {
    position: relative;
    background: #fff;
    color: #000;
    padding: 40px 0 150px;
}

.module-reg:after {
    content: '';
    position: absolute;
    background-image: linear-gradient(#fff, #fcebeb);
    height: 150px;
    bottom: 0; left: 0; right: 0;
}

.module-reg label[for] {
    cursor: pointer;
}

.reg-isic-banner {transform: scale(.8);}

@media (min-width: 1024px) {
    .module-reg {
        padding-top: 60px;
    }
}

.reg-form {
    display: block;
    max-width: 768px;
    margin: 0 auto;
}

.reg-grid {
    display: grid;
    gap: 60px;
    align-items: start;
}

.reg-grid-nested {
    display: grid;
    gap: 30px;
    align-items: start;
}

.reg-grid-split {
    display: grid;
    gap: 18px;
    grid-template: auto / repeat(1, 1fr);
    align-items: start;
}

@media (min-width: 768px) {
    .reg-grid-split {
        grid-template: auto / repeat(2, 1fr);
    }
}

.reg-label {
    display: inline-block;
    vertical-align: top;
    width: 100%;
    font-size: 16px;
    line-height: 16px;
    text-align: left;
}

.reg-input {
    -moz-appearance: none;
    -webkit-appearance: none;
    color: #000;
    display: inline-block;
    vertical-align: top;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .2);
    font-size: 16px;
    line-height: 16px;
    padding: 16px;
    margin: 0;
    position: relative;
    z-index: 5;
    border-radius: 6px;
    opacity: 1;
}
.reg-input[disabled] {
    background: #eee;
}

.reg-input-doc {
    width: 1px;
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    z-index: -1;
}

.reg-file-label {
    display: grid;
    gap: 12px;
    grid-template: auto / auto 1fr;
    width: 100%;
    align-items: center;
    line-height: 16px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, .2);
    color: #000;
    border-radius: 6px;
    cursor: pointer;
    font-family: sans-serif;
}

.reg-file-icon {font-size: 20px;}

.reg-toggle {display: grid; align-items: center; gap: 12px; grid-template: auto / 50px 1fr;}
.reg-toggle-input {display: none;}
.reg-toggle-label {
    display: inline-block;
    vertical-align: top;
    position: relative;
    width: 100%;
    height: 26px;
    background-color: #ccc;
    border-radius: 50px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}
.reg-toggle-button {
    position: absolute;
    top: 3px;
    left: 3px;
    right: unset;
    width: 20px;
    height: 20px;
    background-color: #fff;
    border-radius: 50%;
}
.reg-toggle-input:checked + .reg-toggle-label {background-color: #0055a5;}
.reg-toggle-input:checked + .reg-toggle-label .reg-toggle-button {left: unset; right: 3px;}
.reg-toggle-text {font-size: 16px; line-height: 24px;}
.reg-toggle-text a {text-decoration: unset; font-weight: bold;}
.reg-toggle-text a:hover {color: #0055a5}


.reg-group {display: grid; gap: 9px; align-items: start;}
.reg-help {font-size: 15px; line-height: 22px;}
.reg-error {font-weight: bold; color: red; font-size: 14px; line-height: 18px; margin-top: -4px;}
@media (min-width: 768px) {
    .reg-error-x2 {
        grid-column: 1 / span 2;
    }
}
.reg-success {font-weight: bold; color: green; font-size: 14px; line-height: 18px;}

.reg-check-cta,
.reg-submit-cta {
    position: relative;
    overflow: hidden;
    font-weight: bold;
    height: unset;
    font-size: 22px;
    line-height: 22px;
    display: block;
    vertical-align: top;
    width: 80%;
    max-width: 80%;
    min-width: 330px;
    margin: 0 auto;
    padding: 20px 10px;
    border: none;
    cursor: pointer;
    background: var(--primary);
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 6px;
    text-transform: uppercase;
}

.reg-check-cta {
    font-size: 18px;
    line-height: 18px;
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    padding: 15px 10px;
    border: none;
    cursor: pointer;
    text-transform: none;
}

.reg-check-cta:hover,
.reg-submit-cta:hover {
    background: #0055a5;
    color: #fff;
}

.reg-check-cta[disabled],
.reg-submit-cta[disabled] {
    background: rgba(0, 0, 0, .05) !important;
    color: rgba(0, 0, 0, .1) !important;
    opacity: 1 !important;
    cursor: not-allowed !important;
}

.reg-check-cta[disabled] > *,
.reg-submit-cta[disabled] > * {
    display: none !important;
}

.reg-check-cta.reg-cta-loading,
.reg-submit-cta.reg-cta-loading {
    cursor: wait !important;
}

.reg-check-cta.reg-cta-loading:after,
.reg-submit-cta.reg-cta-loading:after {
    content: '';
    position: absolute;
    left: 0; right: -310px; bottom: -1px;
    height: 7px;
    background-color: var(--primary);
    background-image: linear-gradient(to right, #0055a5, #fff, #0055a5);
    animation: animCtaLoading 2s ease-in-out 0s infinite;
}

@keyframes animCtaLoading {
    0% {left: 0; right: -300px;}
    50% {left: -300px; right: 0;}
    100% {left: 0; right: -300px;}
}

.reg-success-page {
    min-height: 50vh;
}

.reg-success-box {
    display: grid;
    gap: 18px;
    grid-template: auto / 68px 1fr;
    align-items: center;
}