@charset "UTF-8";
/* CTA Button */
.btn {
  font-size: 1rem;
  padding: 0.5rem 1rem;
  margin: 1rem 1rem;
  font-weight: 600;
  cursor: pointer; }
  .btn:focus {
    outline: none; }
  .btn--enabled {
    opacity: 1; }
  .btn--disabled {
    opacity: .8; }

h1, h2, h3, h4, h5, h6 {
  text-transform: uppercase;
  font-weight: bold;
  margin: 1.3rem 0;
  line-height: 1.2; }

[v-cloak] {
  display: none; }

* {
  box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  margin: 0;
  padding: 0; }

body {
  font-family: "DM Sans", sans-serif;
  background-image: url("../img/back.jpg");
  background-repeat: repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: 100%;
  position: relative;
  overflow: auto; }
  body:before {
    content: url("../img/deco.png");
    transform: rotate(90deg);
    position: fixed;
    top: 0%;
    right: -4%;
    opacity: .5;
    display: none; }
    @media (min-width: 1200px) {
      body:before {
        display: block; } }
  body:after {
    content: url("../img/logo-dark.png");
    position: fixed;
    z-index: -1;
    top: 0;
    left: 0;
    border-radius: 0 0 50px 0;
    text-align: center;
    color: white;
    padding: 2px 15px;
    display: none; }
    @media (min-width: 1200px) {
      body:after {
        display: block;
        width: 50px;
        height: 50px; } }
  @media (min-width: 768px) {
    body {
      background-image: url("../img/back.jpg");
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; } }

main {
  min-height: calc(100vh - 5rem); }

footer {
  min-width: 360px; }

.fixed-footer {
  margin: 15px 0;
  width: 100%;
  min-height: 4rem;
  position: absolute; }

p {
  margin: 0.5rem 0;
  line-height: 2; }

/* Text and content */
.main-h1 {
  font-size: 1.2rem; }

.legal--text {
  font-size: 0.8rem; }
  @media (min-width: 768px) {
    .legal--text {
      font-size: 0.9rem;
      text-align: left; } }

.opaque-on-hover {
  opacity: .9; }
  .opaque-on-hover:hover {
    opacity: 1; }

/* Links colors */
a {
  text-decoration: underline;
  color: #222222;
  cursor: pointer; }
  a:visited {
    color: #41d0fc; }
  a:hover {
    color: #666666; }
  a:active {
    color: #1a1a1a; }

h1 {
  font-family: "DM Sans", sans-serif;
  font-size: 2rem; }

@media (min-width: 768px) {
  h1 {
    font-size: 2.8rem; } }

h2 {
  font-family: "DM Sans", sans-serif;
  font-size: 1.6rem; }

@media (min-width: 768px) {
  h2 {
    font-size: 2.24rem; } }

h3 {
  font-family: "DM Sans", sans-serif;
  font-size: 1.28rem; }

@media (min-width: 768px) {
  h3 {
    font-size: 1.792rem; } }

h4 {
  font-family: "DM Sans", sans-serif;
  font-size: 1.024rem; }

@media (min-width: 768px) {
  h4 {
    font-size: 1.4336rem; } }

h5 {
  font-family: "DM Sans", sans-serif;
  font-size: 0.8192rem; }

@media (min-width: 768px) {
  h5 {
    font-size: 1.14688rem; } }

h6 {
  font-family: "DM Sans", sans-serif;
  font-size: 0.65536rem; }

@media (min-width: 768px) {
  h6 {
    font-size: 0.9175rem; } }

.font-primary {
  font-family: "DM Sans", sans-serif; }

.font-secondary {
  font-family: "DM Sans", sans-serif !important; }

.bg-primary {
  background: #192440 !important; }

.text-primary {
  color: #192440 !important; }

.btn-primary {
  background: #192440; }
  .btn-primary:hover {
    background: #040509; }

.text-underline-primary {
  text-decoration: underline #192440; }

.bg-secondary {
  background: #04B1F1 !important; }

.text-secondary {
  color: #04B1F1 !important; }

.btn-secondary {
  background: #04B1F1; }
  .btn-secondary:hover {
    background: #037aa6; }

.text-underline-secondary {
  text-decoration: underline #04B1F1; }

.bg-joker {
  background: #0055A4 !important; }

.text-joker {
  color: #0055A4 !important; }

.btn-joker {
  background: #0055A4; }
  .btn-joker:hover {
    background: #002d58; }

.text-underline-joker {
  text-decoration: underline #0055A4; }

.bg-primary--variant {
  background: #3C2A7E !important; }

.text-primary--variant {
  color: #3C2A7E !important; }

.btn-primary--variant {
  background: #3C2A7E; }
  .btn-primary--variant:hover {
    background: #211745; }

.text-underline-primary--variant {
  text-decoration: underline #3C2A7E; }

.bg-secondary--variant {
  background: rgba(207, 221, 230, 0.4) !important; }

.text-secondary--variant {
  color: rgba(207, 221, 230, 0.4) !important; }

.btn-secondary--variant {
  background: rgba(207, 221, 230, 0.4); }
  .btn-secondary--variant:hover {
    background: rgba(157, 185, 204, 0.4); }

.text-underline-secondary--variant {
  text-decoration: underline rgba(207, 221, 230, 0.4); }

.bg-joker--variant {
  background: #e0f2ff !important; }

.text-joker--variant {
  color: #e0f2ff !important; }

.btn-joker--variant {
  background: #e0f2ff; }
  .btn-joker--variant:hover {
    background: #94d2ff; }

.text-underline-joker--variant {
  text-decoration: underline #e0f2ff; }

.bg-white {
  background: #FFFFFF !important; }

.text-white {
  color: #FFFFFF !important; }

.btn-white {
  background: #FFFFFF; }
  .btn-white:hover {
    background: #d9d9d9; }

.text-underline-white {
  text-decoration: underline #FFFFFF; }

.bg-black {
  background: #000000 !important; }

.text-black {
  color: #000000 !important; }

.btn-black {
  background: #000000; }
  .btn-black:hover {
    background: black; }

.text-underline-black {
  text-decoration: underline #000000; }

.bg-success {
  background: #2FBF71 !important; }

.text-success {
  color: #2FBF71 !important; }

.btn-success {
  background: #2FBF71; }
  .btn-success:hover {
    background: #20824d; }

.text-underline-success {
  text-decoration: underline #2FBF71; }

.bg-info {
  background: #41d0fc !important; }

.text-info {
  color: #41d0fc !important; }

.btn-info {
  background: #41d0fc; }
  .btn-info:hover {
    background: #04b6ed; }

.text-underline-info {
  text-decoration: underline #41d0fc; }

.bg-warning {
  background: #ffab3cea !important; }

.text-warning {
  color: #ffab3cea !important; }

.btn-warning {
  background: #ffab3cea; }
  .btn-warning:hover {
    background: rgba(239, 136, 0, 0.917647); }

.text-underline-warning {
  text-decoration: underline #ffab3cea; }

.bg-danger {
  background: #EF2D56 !important; }

.text-danger {
  color: #EF2D56 !important; }

.btn-danger {
  background: #EF2D56; }
  .btn-danger:hover {
    background: #c10f34; }

.text-underline-danger {
  text-decoration: underline #EF2D56; }

.bg-theme {
  background: #222222 !important; }

.text-theme {
  color: #222222 !important; }

.btn-theme {
  background: #222222; }
  .btn-theme:hover {
    background: black; }

.text-underline-theme {
  text-decoration: underline #222222; }

.bg-theme-contrast {
  background: #FFFFFF !important; }

.text-theme-contrast {
  color: #FFFFFF !important; }

.btn-theme-contrast {
  background: #FFFFFF; }
  .btn-theme-contrast:hover {
    background: #d9d9d9; }

.text-underline-theme-contrast {
  text-decoration: underline #FFFFFF; }

.bg-dark {
  background: #222222 !important; }

.text-dark {
  color: #222222 !important; }

.btn-dark {
  background: #222222; }
  .btn-dark:hover {
    background: black; }

.text-underline-dark {
  text-decoration: underline #222222; }

.bg-light {
  background: #FFFFFF !important; }

.text-light {
  color: #FFFFFF !important; }

.btn-light {
  background: #FFFFFF; }
  .btn-light:hover {
    background: #d9d9d9; }

.text-underline-light {
  text-decoration: underline #FFFFFF; }

.bg-transparent {
  background: transparent !important; }

.text-transparent {
  color: transparent !important; }

.btn-transparent {
  background: transparent; }
  .btn-transparent:hover {
    background: rgba(0, 0, 0, 0); }

.text-underline-transparent {
  text-decoration: underline transparent; }

.bg-diabled {
  background: rgba(211, 211, 211, 0.7) !important; }

.text-diabled {
  color: rgba(211, 211, 211, 0.7) !important; }

.btn-diabled {
  background: rgba(211, 211, 211, 0.7); }
  .btn-diabled:hover {
    background: rgba(173, 173, 173, 0.7); }

.text-underline-diabled {
  text-decoration: underline rgba(211, 211, 211, 0.7); }

.logo--x {
  width: 150px; }

.logo--y {
  height: 150px; }

.logo--square {
  width: 120px;
  height: 120px; }

.overlay {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  z-index: 999998; }

.overlay-modal {
  background: rgba(0, 0, 0, 0.8);
  position: fixed;
  transition: 0.5s ease;
  top: 0;
  left: 0;
  height: 100%;
  width: 0;
  z-index: 20; }

.overlay-modal--open {
  width: 100%; }

/* Intersection observer */
.observed {
  transform: translateY(0);
  transition: all 1.2s; }

.observed.not-visible {
  transform: translateY(150px);
  opacity: 0; }

.observed-x {
  transform: translateX(0px);
  transition: all 1.4s; }

.observed-x.not-visible {
  transform: translateX(-10%);
  opacity: 0; }

.observed-circle {
  animation: pulse 1s ease-out alternate; }

.observed-circle.not-visible {
  opacity: 0; }

@keyframes pulse {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

/* Mouse pointer */
.cursor-pointer {
  cursor: pointer; }

/* Text size */
.text-xs {
  font-size: 0.525rem !important; }
  @media (min-width: 768px) {
    .text-xs {
      font-size: 0.5625rem !important; } }
  @media (min-width: 992px) {
    .text-xs {
      font-size: 0.6rem !important; } }
  @media (min-width: 1200px) {
    .text-xs {
      font-size: 0.675rem !important; } }
  @media (min-width: 1400px) {
    .text-xs {
      font-size: 0.75rem !important; } }

.text-md {
  font-size: 0.83125rem !important; }
  @media (min-width: 768px) {
    .text-md {
      font-size: 0.89062rem !important; } }
  @media (min-width: 992px) {
    .text-md {
      font-size: 0.95rem !important; } }
  @media (min-width: 1200px) {
    .text-md {
      font-size: 1.06875rem !important; } }
  @media (min-width: 1400px) {
    .text-md {
      font-size: 1.1875rem !important; } }

.text-lg {
  font-size: 1.00625rem !important; }
  @media (min-width: 768px) {
    .text-lg {
      font-size: 1.07812rem !important; } }
  @media (min-width: 992px) {
    .text-lg {
      font-size: 1.15rem !important; } }
  @media (min-width: 1200px) {
    .text-lg {
      font-size: 1.29375rem !important; } }
  @media (min-width: 1400px) {
    .text-lg {
      font-size: 1.4375rem !important; } }

.text-xl {
  font-size: 0.91875rem !important; }
  @media (min-width: 768px) {
    .text-xl {
      font-size: 0.98438rem !important; } }
  @media (min-width: 992px) {
    .text-xl {
      font-size: 1.05rem !important; } }
  @media (min-width: 1200px) {
    .text-xl {
      font-size: 1.18125rem !important; } }
  @media (min-width: 1400px) {
    .text-xl {
      font-size: 1.3125rem !important; } }

.text-2xl {
  font-size: 1.00625rem !important; }
  @media (min-width: 768px) {
    .text-2xl {
      font-size: 1.07812rem !important; } }
  @media (min-width: 992px) {
    .text-2xl {
      font-size: 1.15rem !important; } }
  @media (min-width: 1200px) {
    .text-2xl {
      font-size: 1.29375rem !important; } }
  @media (min-width: 1400px) {
    .text-2xl {
      font-size: 1.4375rem !important; } }

.text-3xl {
  font-size: 1.09375rem !important; }
  @media (min-width: 768px) {
    .text-3xl {
      font-size: 1.17188rem !important; } }
  @media (min-width: 992px) {
    .text-3xl {
      font-size: 1.25rem !important; } }
  @media (min-width: 1200px) {
    .text-3xl {
      font-size: 1.40625rem !important; } }
  @media (min-width: 1400px) {
    .text-3xl {
      font-size: 1.5625rem !important; } }

.text-4xl {
  font-size: 1.18125rem !important; }
  @media (min-width: 768px) {
    .text-4xl {
      font-size: 1.26562rem !important; } }
  @media (min-width: 992px) {
    .text-4xl {
      font-size: 1.35rem !important; } }
  @media (min-width: 1200px) {
    .text-4xl {
      font-size: 1.51875rem !important; } }
  @media (min-width: 1400px) {
    .text-4xl {
      font-size: 1.6875rem !important; } }

.text-5xl {
  font-size: 1.26875rem !important; }
  @media (min-width: 768px) {
    .text-5xl {
      font-size: 1.35938rem !important; } }
  @media (min-width: 992px) {
    .text-5xl {
      font-size: 1.45rem !important; } }
  @media (min-width: 1200px) {
    .text-5xl {
      font-size: 1.63125rem !important; } }
  @media (min-width: 1400px) {
    .text-5xl {
      font-size: 1.8125rem !important; } }

.text-6xl {
  font-size: 1.35625rem !important; }
  @media (min-width: 768px) {
    .text-6xl {
      font-size: 1.45312rem !important; } }
  @media (min-width: 992px) {
    .text-6xl {
      font-size: 1.55rem !important; } }
  @media (min-width: 1200px) {
    .text-6xl {
      font-size: 1.74375rem !important; } }
  @media (min-width: 1400px) {
    .text-6xl {
      font-size: 1.9375rem !important; } }

.text-7xl {
  font-size: 1.4875rem !important; }
  @media (min-width: 768px) {
    .text-7xl {
      font-size: 1.59375rem !important; } }
  @media (min-width: 992px) {
    .text-7xl {
      font-size: 1.7rem !important; } }
  @media (min-width: 1200px) {
    .text-7xl {
      font-size: 1.9125rem !important; } }
  @media (min-width: 1400px) {
    .text-7xl {
      font-size: 2.125rem !important; } }

.text-8xl {
  font-size: 1.61875rem !important; }
  @media (min-width: 768px) {
    .text-8xl {
      font-size: 1.73438rem !important; } }
  @media (min-width: 992px) {
    .text-8xl {
      font-size: 1.85rem !important; } }
  @media (min-width: 1200px) {
    .text-8xl {
      font-size: 2.08125rem !important; } }
  @media (min-width: 1400px) {
    .text-8xl {
      font-size: 2.3125rem !important; } }

.text-9xl {
  font-size: 1.75rem !important; }
  @media (min-width: 768px) {
    .text-9xl {
      font-size: 1.875rem !important; } }
  @media (min-width: 992px) {
    .text-9xl {
      font-size: 2rem !important; } }
  @media (min-width: 1200px) {
    .text-9xl {
      font-size: 2.25rem !important; } }
  @media (min-width: 1400px) {
    .text-9xl {
      font-size: 2.5rem !important; } }

.text-10xl {
  font-size: 1.88125rem !important; }
  @media (min-width: 768px) {
    .text-10xl {
      font-size: 2.01562rem !important; } }
  @media (min-width: 992px) {
    .text-10xl {
      font-size: 2.15rem !important; } }
  @media (min-width: 1200px) {
    .text-10xl {
      font-size: 2.41875rem !important; } }
  @media (min-width: 1400px) {
    .text-10xl {
      font-size: 2.6875rem !important; } }

.font-weight-bold {
  font-weight: bold; }

.text-decoration-none {
  text-decoration: none; }

.text-underline {
  text-decoration: underline; }

.text-lowercase {
  text-transform: lowercase; }

.image-sm--square {
  width: 48px;
  height: 48px; }

.image-thumbnail {
  width: 170px; }

.logo {
  width: 170px;
  margin: 0.5rem; }

.icon-xxs {
  width: 16px;
  height: 16px; }

.icon-xs {
  width: 22px;
  height: 22px; }

.icon-sm {
  width: 32px;
  height: 32px; }

.icon-md {
  width: 48px;
  height: 48px; }

.icon-lg {
  width: 64px;
  height: 64px; }

.icon-xl {
  width: 128px;
  height: 128px; }

.icon-xxl {
  width: 256px;
  height: 256px; }

.w-text-bloc {
  max-width: 30rem; }

.h-40 {
  height: 40px; }

.overflow-auto {
  overflow: auto; }

/* Box model */
.pa-0 {
  padding: 0; }

.pl-0 {
  padding-left: 0; }

.pr-0 {
  padding-right: 0; }

.pt-0 {
  padding-top: 0; }

.pb-0 {
  padding-bottom: 0; }

.px-0 {
  padding: 0 0; }

.py-0 {
  padding: 0 0; }

.ma-0 {
  margin: 0; }

.ml-0 {
  margin-left: 0; }

.mr-0 {
  margin-right: 0; }

.mt-0 {
  margin-top: 0; }

.mb-0 {
  margin-bottom: 0; }

.mx-0 {
  margin: 0 0; }

.my-0 {
  margin: 0 0; }

.pa-1 {
  padding: 0.6rem; }

.pl-1 {
  padding-left: 0.6rem; }

.pr-1 {
  padding-right: 0.6rem; }

.pt-1 {
  padding-top: 0.6rem; }

.pb-1 {
  padding-bottom: 0.6rem; }

.px-1 {
  padding: 0 0.3rem; }

.py-1 {
  padding: 0.3rem 0; }

.ma-1 {
  margin: 0.6rem; }

.ml-1 {
  margin-left: 0.6rem; }

.mr-1 {
  margin-right: 0.6rem; }

.mt-1 {
  margin-top: 0.6rem; }

.mb-1 {
  margin-bottom: 0.6rem; }

.mx-1 {
  margin: 0 0.3rem; }

.my-1 {
  margin: 0.3rem 0; }

.pa-2 {
  padding: 1.2rem; }

.pl-2 {
  padding-left: 1.2rem; }

.pr-2 {
  padding-right: 1.2rem; }

.pt-2 {
  padding-top: 1.2rem; }

.pb-2 {
  padding-bottom: 1.2rem; }

.px-2 {
  padding: 0 0.6rem; }

.py-2 {
  padding: 0.6rem 0; }

.ma-2 {
  margin: 1.2rem; }

.ml-2 {
  margin-left: 1.2rem; }

.mr-2 {
  margin-right: 1.2rem; }

.mt-2 {
  margin-top: 1.2rem; }

.mb-2 {
  margin-bottom: 1.2rem; }

.mx-2 {
  margin: 0 0.6rem; }

.my-2 {
  margin: 0.6rem 0; }

.pa-3 {
  padding: 1.8rem; }

.pl-3 {
  padding-left: 1.8rem; }

.pr-3 {
  padding-right: 1.8rem; }

.pt-3 {
  padding-top: 1.8rem; }

.pb-3 {
  padding-bottom: 1.8rem; }

.px-3 {
  padding: 0 0.9rem; }

.py-3 {
  padding: 0.9rem 0; }

.ma-3 {
  margin: 1.8rem; }

.ml-3 {
  margin-left: 1.8rem; }

.mr-3 {
  margin-right: 1.8rem; }

.mt-3 {
  margin-top: 1.8rem; }

.mb-3 {
  margin-bottom: 1.8rem; }

.mx-3 {
  margin: 0 0.9rem; }

.my-3 {
  margin: 0.9rem 0; }

.pa-4 {
  padding: 2.4rem; }

.pl-4 {
  padding-left: 2.4rem; }

.pr-4 {
  padding-right: 2.4rem; }

.pt-4 {
  padding-top: 2.4rem; }

.pb-4 {
  padding-bottom: 2.4rem; }

.px-4 {
  padding: 0 1.2rem; }

.py-4 {
  padding: 1.2rem 0; }

.ma-4 {
  margin: 2.4rem; }

.ml-4 {
  margin-left: 2.4rem; }

.mr-4 {
  margin-right: 2.4rem; }

.mt-4 {
  margin-top: 2.4rem; }

.mb-4 {
  margin-bottom: 2.4rem; }

.mx-4 {
  margin: 0 1.2rem; }

.my-4 {
  margin: 1.2rem 0; }

.pa-5 {
  padding: 3rem; }

.pl-5 {
  padding-left: 3rem; }

.pr-5 {
  padding-right: 3rem; }

.pt-5 {
  padding-top: 3rem; }

.pb-5 {
  padding-bottom: 3rem; }

.px-5 {
  padding: 0 1.5rem; }

.py-5 {
  padding: 1.5rem 0; }

.ma-5 {
  margin: 3rem; }

.ml-5 {
  margin-left: 3rem; }

.mr-5 {
  margin-right: 3rem; }

.mt-5 {
  margin-top: 3rem; }

.mb-5 {
  margin-bottom: 3rem; }

.mx-5 {
  margin: 0 1.5rem; }

.my-5 {
  margin: 1.5rem 0; }

.pa-6 {
  padding: 3.6rem; }

.pl-6 {
  padding-left: 3.6rem; }

.pr-6 {
  padding-right: 3.6rem; }

.pt-6 {
  padding-top: 3.6rem; }

.pb-6 {
  padding-bottom: 3.6rem; }

.px-6 {
  padding: 0 1.8rem; }

.py-6 {
  padding: 1.8rem 0; }

.ma-6 {
  margin: 3.6rem; }

.ml-6 {
  margin-left: 3.6rem; }

.mr-6 {
  margin-right: 3.6rem; }

.mt-6 {
  margin-top: 3.6rem; }

.mb-6 {
  margin-bottom: 3.6rem; }

.mx-6 {
  margin: 0 1.8rem; }

.my-6 {
  margin: 1.8rem 0; }

.pa-7 {
  padding: 4.2rem; }

.pl-7 {
  padding-left: 4.2rem; }

.pr-7 {
  padding-right: 4.2rem; }

.pt-7 {
  padding-top: 4.2rem; }

.pb-7 {
  padding-bottom: 4.2rem; }

.px-7 {
  padding: 0 2.1rem; }

.py-7 {
  padding: 2.1rem 0; }

.ma-7 {
  margin: 4.2rem; }

.ml-7 {
  margin-left: 4.2rem; }

.mr-7 {
  margin-right: 4.2rem; }

.mt-7 {
  margin-top: 4.2rem; }

.mb-7 {
  margin-bottom: 4.2rem; }

.mx-7 {
  margin: 0 2.1rem; }

.my-7 {
  margin: 2.1rem 0; }

.pa-8 {
  padding: 4.8rem; }

.pl-8 {
  padding-left: 4.8rem; }

.pr-8 {
  padding-right: 4.8rem; }

.pt-8 {
  padding-top: 4.8rem; }

.pb-8 {
  padding-bottom: 4.8rem; }

.px-8 {
  padding: 0 2.4rem; }

.py-8 {
  padding: 2.4rem 0; }

.ma-8 {
  margin: 4.8rem; }

.ml-8 {
  margin-left: 4.8rem; }

.mr-8 {
  margin-right: 4.8rem; }

.mt-8 {
  margin-top: 4.8rem; }

.mb-8 {
  margin-bottom: 4.8rem; }

.mx-8 {
  margin: 0 2.4rem; }

.my-8 {
  margin: 2.4rem 0; }

.pa-9 {
  padding: 5.4rem; }

.pl-9 {
  padding-left: 5.4rem; }

.pr-9 {
  padding-right: 5.4rem; }

.pt-9 {
  padding-top: 5.4rem; }

.pb-9 {
  padding-bottom: 5.4rem; }

.px-9 {
  padding: 0 2.7rem; }

.py-9 {
  padding: 2.7rem 0; }

.ma-9 {
  margin: 5.4rem; }

.ml-9 {
  margin-left: 5.4rem; }

.mr-9 {
  margin-right: 5.4rem; }

.mt-9 {
  margin-top: 5.4rem; }

.mb-9 {
  margin-bottom: 5.4rem; }

.mx-9 {
  margin: 0 2.7rem; }

.my-9 {
  margin: 2.7rem 0; }

.pa-10 {
  padding: 6rem; }

.pl-10 {
  padding-left: 6rem; }

.pr-10 {
  padding-right: 6rem; }

.pt-10 {
  padding-top: 6rem; }

.pb-10 {
  padding-bottom: 6rem; }

.px-10 {
  padding: 0 3rem; }

.py-10 {
  padding: 3rem 0; }

.ma-10 {
  margin: 6rem; }

.ml-10 {
  margin-left: 6rem; }

.mr-10 {
  margin-right: 6rem; }

.mt-10 {
  margin-top: 6rem; }

.mb-10 {
  margin-bottom: 6rem; }

.mx-10 {
  margin: 0 3rem; }

.my-10 {
  margin: 3rem 0; }

.push-right {
  margin-left: auto;
  margin-right: 0; }

.push-left {
  margin-left: 0;
  margin-right: auto; }

.mx-auto {
  margin: 0 auto !important; }

.spacer--v {
  margin: 10px 0; }
  @media (min-width: 992px) {
    .spacer--v {
      margin: 20px 0; } }

.spacer {
  margin-top: 40px;
  /* define margin as you see fit */
  height: 100px; }
  .spacer-sm {
    height: 50px; }

.sticky-top {
  position: sticky;
  top: 0; }

.fixed-top-right {
  position: fixed;
  top: 0;
  right: 0; }

.d-flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

.x-container--evenly--wrap {
  flex-direction: row;
  display: flex;
  justify-content: space-evenly;
  flex-wrap: wrap; }

.align-items-center {
  align-items: center; }

.d-grid {
  display: grid; }

.grid-icon-text {
  grid-template-columns: 75px 1fr;
  align-items: center; }

.border-box {
  box-sizing: border-box; }

.desktop-only {
  display: none; }
  @media (min-width: 992px) {
    .desktop-only {
      display: block; } }

.justify-content-normal {
  justify-content: normal; }

.justify-content-flex-start {
  justify-content: flex-start; }

.justify-content-flex-end {
  justify-content: flex-end; }

.justify-content-center {
  justify-content: center; }

.justify-content-start {
  justify-content: start; }

.justify-content-end {
  justify-content: end; }

.justify-content-safe {
  justify-content: safe; }

.justify-content-unsafe {
  justify-content: unsafe; }

.justify-content-left {
  justify-content: left; }

.justify-content-right {
  justify-content: right; }

.justify-content-space-between {
  justify-content: space-between; }

.justify-content-space-around {
  justify-content: space-around; }

.justify-content-space-evenly {
  justify-content: space-evenly; }

.justify-content-stretch {
  justify-content: stretch; }

.align-items-normal {
  align-items: normal; }

.align-items-flex-start {
  align-items: flex-start; }

.align-items-flex-end {
  align-items: flex-end; }

.align-items-center {
  align-items: center; }

.align-items-start {
  align-items: start; }

.align-items-end {
  align-items: end; }

.align-items-safe {
  align-items: safe; }

.align-items-unsafe {
  align-items: unsafe; }

.align-items-self-start {
  align-items: self-start; }

.align-items-self-end {
  align-items: self-end; }

.align-items-baseline {
  align-items: baseline; }

.flex-row {
  flex-direction: row; }

.flex-row-reverse {
  flex-direction: row-reverse; }

.flex-column {
  flex-direction: column; }

.flex-column-reverse {
  flex-direction: column-reverse; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.container, .container-fluid, .container-xs, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
  margin: 0 auto;
  padding: 1rem 1.5rem; }

.container {
  max-width: 80%; }

.container-fluid {
  width: 100%; }

.container-xs {
  max-width: 288.8px; }

.container-sm {
  max-width: 460.8px; }

.container-md {
  max-width: 614.4px; }

.container-lg {
  max-width: 793.6px; }

.container-xl {
  max-width: 960px; }

.container-xxl {
  max-width: 1120px; }

.btn {
  box-sizing: border-box;
  display: inline-block;
  color: white;
  padding: 0.8rem 1.5rem;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  border-radius: 4px;
  text-decoration: none;
  font-weight: bold;
  white-space: nowrap;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.15), 0 2px 2px rgba(0, 0, 0, 0.15), 0 4px 4px rgba(0, 0, 0, 0.15), 0 8px 8px rgba(0, 0, 0, 0.15);
  max-width: 36rem;
  white-space: normal;
  word-wrap: break-word; }
  .btn-icon {
    background: transparent;
    box-shadow: none;
    padding: 0; }
  .btn:hover {
    opacity: .9; }
  .btn--rounded {
    border-radius: 999px; }
  .btn--cta {
    background-color: #04B1F1; }

.btn-xs {
  font-size: 0.9rem;
  padding: 0.8rem; }
  @media (min-width: 361px) {
    .btn-xs .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-xs .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-xs .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-xs .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-xs .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-xs .btn-xxl {
      font-size: 3.483rem; } }

.btn-sm {
  font-size: 1.431rem;
  padding: 1.272rem; }
  @media (min-width: 361px) {
    .btn-sm .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-sm .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-sm .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-sm .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-sm .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-sm .btn-xxl {
      font-size: 3.483rem; } }

.btn-md {
  font-size: 1.89rem;
  padding: 1.68rem; }
  @media (min-width: 361px) {
    .btn-md .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-md .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-md .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-md .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-md .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-md .btn-xxl {
      font-size: 3.483rem; } }

.btn-lg {
  font-size: 2.475rem;
  padding: 2.2rem; }
  @media (min-width: 361px) {
    .btn-lg .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-lg .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-lg .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-lg .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-lg .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-lg .btn-xxl {
      font-size: 3.483rem; } }

.btn-xl {
  font-size: 2.988rem;
  padding: 2.656rem; }
  @media (min-width: 361px) {
    .btn-xl .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-xl .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-xl .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-xl .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-xl .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-xl .btn-xxl {
      font-size: 3.483rem; } }

.btn-xxl {
  font-size: 3.483rem;
  padding: 3.096rem; }
  @media (min-width: 361px) {
    .btn-xxl .btn-xs {
      font-size: 0.9rem; } }
  @media (min-width: 576px) {
    .btn-xxl .btn-sm {
      font-size: 1.431rem; } }
  @media (min-width: 768px) {
    .btn-xxl .btn-md {
      font-size: 1.89rem; } }
  @media (min-width: 992px) {
    .btn-xxl .btn-lg {
      font-size: 2.475rem; } }
  @media (min-width: 1200px) {
    .btn-xxl .btn-xl {
      font-size: 2.988rem; } }
  @media (min-width: 1400px) {
    .btn-xxl .btn-xxl {
      font-size: 3.483rem; } }

.btn-link {
  background: transparent;
  box-shadow: none;
  text-decoration: underline; }

.cta {
  border-radius: 6px;
  padding: 0 16px;
  font-size: 2rem;
  margin: 1rem 1rem;
  width: 100%;
  line-height: 48px;
  background-color: #04B1F1;
  box-shadow: 0px 0px 10px 1px #F1B184;
  font-family: 'Helvetica'; }
  .ctahover {
    letter-spacing: 4px;
    background-color: #faa060 !important; }

.btn-full {
  width: 100%; }

.call-to-action {
  padding: 1rem 1rem;
  border-radius: 4px;
  font-weight: 700;
  margin-top: 3rem;
  margin-bottom: 1.5rem;
  height: 6rem;
  line-height: 2rem;
  color: #FFFFFF;
  font-size: 2rem;
  border: none;
  text-transform: uppercase;
  transition: all 0.2s ease-in-out;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  min-width: 260px;
  width: 100% !important;
  color: #333333; }
  .call-to-action a {
    text-decoration: none;
    color: #333333; }
  .call-to-action:hover {
    cursor: pointer;
    letter-spacing: 1px;
    box-shadow: 5px 40px -10px rgba(0, 0, 0, 0.57); }

.cta--main, .cta--next {
  background: #2596ff; }

input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, .form-control, .m-form-control, .form-control-std {
  border: 1px solid #dddfe2;
  border-radius: 6px;
  width: 95%;
  box-sizing: border-box;
  width: 100%;
  font-size: 1.5rem !important;
  padding: 14px 16px;
  border: 1px solid #b5bfc2; }
  @media (min-width: 576px) {
    input[type="text"], input[type="email"], input[type="tel"], input[type="password"], select, .form-control, .m-form-control, .form-control-std {
      font-size: 2rem;
      padding: 8px 11px; } }

.form-control {
  border-radius: none;
  transform: none; }

.form-group {
  display: flex;
  flex-direction: column;
  position: relative; }

.m-form-group {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-top: 1rem;
  overflow: hidden; }

.m-form-control {
  box-shadow: none !important;
  z-index: 1;
  background-color: transparent;
  position: relative; }
  .m-form-control + label {
    position: absolute;
    top: 2.5rem;
    left: 4%;
    transform: translate(0, -50%);
    font-size: 1rem;
    color: #0d0d0d;
    transition: .2s ease-out; }
  .m-form-control:focus {
    outline: none;
    transition: all .2s ease-out; }
  .m-form-control:focus + label, .m-form-control.has-value + label {
    top: 0.5rem;
    left: 1%;
    font-weight: bold;
    font-size: 1rem; }

.form-control-std {
  border-radius: none;
  transform: none; }

.lp-form {
  padding: 25px 40px;
  border-radius: 6px;
  min-height: 60vh; }
  @media (min-width: 992px) {
    .lp-form {
      margin-top: 1rem;
      max-width: 65%;
      margin: 0 auto; } }
  .lp-form .error-msg {
    background: rgba(239, 45, 86, 0.9);
    color: white;
    width: 100%;
    border-radius: 0 0 50px 50px;
    padding: 0 15px;
    box-sizing: border-box;
    height: 2rem;
    display: flex;
    align-items: center;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden; }
    .lp-form .error-msg:hover {
      overflow: initial;
      white-space: normal;
      overflow-y: auto; }
  .lp-form .is-valid, .lp-form .is-not-valid {
    position: relative;
    align-items: center;
    transition: all 0.4s;
    box-sizing: border-box; }
  .lp-form .is-valid {
    margin-bottom: 15px; }
  .lp-form .is-not-valid.--no-mb {
    margin-bottom: 0px !important; }
  .lp-form .is-valid input, .lp-form .is-valid select {
    background: #80ffba !important; }
  .lp-form .is-not-valid input, .lp-form .is-not-valid select {
    background: rgba(255, 255, 255, 0.7) !important; }
  .lp-form .is-clean {
    margin-bottom: 15px !important; }
  .lp-form .is-clean input, .lp-form .is-clean select {
    background: rgba(255, 255, 255, 0.8) !important; }
  .lp-form .is-clean:before {
    border: none !important;
    content: "" !important;
    display: none; }

/* 1. Display label */
.big-radio + label {
  display: block;
  text-align: center;
  width: 177px;
  margin: 0;
  background: #fff;
  border: 2px solid #ccc;
  box-shadow: -7px 0 0px;
  border-radius: 40px;
  color: #667;
  /* Responsive */
  font-size: 1.2rem;
  padding: 5px 5px;
  cursor: pointer;
  margin: 5px 0; }
  @media (min-width: 768px) {
    .big-radio + label {
      padding: 5px 15px;
      margin: 0px 25px;
      font-size: 1.4rem; } }

.big-radio + label:hover {
  background: #aaa; }

/*@media (map-get($breakpointsMin, 'md')) {
    padding: 10px 30px;
}
@media (map-get($breakpointsMin, 'lg')) {
    padding: 5px 20px;
}*/
/* 2. Hide input */
.big-radio {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
  transition: all 0.3s; }

/* 3. Style label before */
.big-radio + label:before {
  content: '';
  font-size: 1.4rem;
  /*border: 0.2rem solid #6B7280;
  border-radius: 0.4rem;*/
  /*display: inline-block;*/
  text-align: center;
  /*vertical-align: middle;*/
  color: transparent;
  margin: 5px 0;
  transition: all 0.4s;
  /*@media (map-get($breakpointsMin, 'sm')) {
    margin: 5px 0;
    font-size: 3rem;    	
  }*/ }

/* 4. Style applied only when radio/checkbox is being checked */
.big-radio:checked + label:before,
.big-radio:checked + label {
  /*background: $secondaryColor;
border-color: $jokerColor;*/
  content: '✓';
  font-weight: bold;
  color: #192440;
  background: #889cd0;
  border: none; }

input[type=checkbox] + label {
  display: block;
  margin: 0; }

input[type=checkbox] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0; }

input[type=checkbox] + label:before {
  content: "✔";
  transition: 0.4s ease;
  cursor: pointer;
  font-size: 2rem;
  font-weight: bold;
  border: 0.2rem solid #192440;
  border-radius: 0.4rem;
  display: inline-block;
  text-align: center;
  width: 32px;
  height: 32px;
  vertical-align: middle;
  color: transparent;
  margin-right: 15px; }

input[type=checkbox]:checked + label:before {
  border-color: #2FBF71;
  background: #2FBF71;
  color: white; }

.chk-btn {
  display: flex;
  justify-content: center; }
  .chk-btn input {
    display: none; }
  .chk-btn label {
    width: 100%;
    min-width: 160px;
    font-size: 1.2rem;
    margin-top: 2px;
    margin-bottom: 4px;
    border: 2px solid white;
    padding: 15px;
    cursor: pointer;
    background: #aaa;
    color: white !important;
    border-radius: 4px;
    font-weight: bold; }
    @media (min-width: 992px) {
      .chk-btn label {
        font-size: 2rem;
        margin-top: 7px;
        margin-bottom: 7px;
        padding: 25px; } }
    .chk-btn label:hover {
      background: #2596ff;
      transform: scale(1.02);
      transition: transform 0.2s ease-in-out; }

.icon-radio {
  box-sizing: border-box;
  min-width: 6rem;
  max-width: 96px;
  background: rgba(238, 238, 238, 0.8);
  border-radius: 8px; }
  .icon-radio input {
    display: none; }
  .icon-radio input:checked + label {
    background: #637ec2; }
  .icon-radio label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    padding: 0.1rem 0.5rem;
    border-radius: 4px;
    width: 100%;
    box-sizing: inherit; }
    .icon-radio label img {
      width: 100%; }
  .icon-radio p {
    margin: 0;
    padding: 0; }
  .icon-radio:hover {
    background: #4462ae; }

.icon-button {
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  max-width: 40%;
  margin: 0.5rem;
  padding: 1rem 0.8rem;
  width: 100%;
  flex-wrap: wrap;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 0px;
  background: rgba(238, 238, 238, 0.8);
  border-radius: 8px;
  transition: background 0.4s; }
  .icon-button input {
    display: none; }
  .icon-button input:checked {
    background: #04B1F1 !important; }
  .icon-button label {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 100%;
    box-sizing: inherit; }
    .icon-button label img {
      padding: 0;
      width: 128px; }
    .icon-button label p {
      max-width: 260px;
      word-break: break-all;
      font-size: 1rem;
      font-weight: bold;
      transition: color 0.2s;
      color: rgba(33, 33, 33, 0.7); }
  .icon-button:hover {
    background: #4462ae; }
    .icon-button:hover label p {
      color: white; }
  @media (min-width: 768px) {
    .icon-button {
      max-width: 33%; }
      .icon-button label p {
        font-size: 1.4rem; } }
  @media (min-width: 1200px) {
    .icon-button {
      max-width: 25%; }
      .icon-button label p {
        font-size: 1.5rem; } }
  @media (min-width: 1400px) {
    .icon-button {
      max-width: 20%; }
      .icon-button label p {
        font-size: 1.7rem; } }

.fairway-progress {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 20rem;
  margin: auto; }
  .fairway-progress img {
    width: 100%; }
  .fairway-progress .indicator {
    border-radius: 50%;
    display: flex;
    width: 3rem;
    transition: all .4s; }
    .fairway-progress .indicator--active {
      background: #192440; }
    .fairway-progress .indicator--inactive {
      background: rgba(211, 211, 211, 0.7); }
  .fairway-progress .glue {
    width: 2rem;
    height: 0.5rem;
    border-radius: 0 12px 0 12px;
    transition: all .4s; }
    .fairway-progress .glue--active {
      background: #192440; }
    .fairway-progress .glue--inactive {
      background: rgba(211, 211, 211, 0.7); }

.form-step {
  max-width: 25%;
  margin: 0 auto;
  width: 100%;
  overflow: auto;
  max-width: 10rem; }
  .form-step__indicator {
    margin: 15px auto;
    border-radius: 50%;
    background: #d9d9d9;
    border: none;
    color: #FFFFFF;
    text-align: center;
    font-weight: bold;
    font-size: 1rem;
    display: flex;
    justify-content: center;
    align-items: center; }
    .form-step__indicator--active {
      background: #04B1F1; }
    @media (min-width: 992px) {
      .form-step__indicator {
        font-size: 1.5rem; } }
    .form-step__indicator img {
      width: 40px; }
  .form-step__glue {
    background: #d9d9d9;
    border-radius: 20px 4px 20px 4px;
    margin: 0 5px;
    width: 100%;
    height: 10px; }
    .form-step__glue--active {
      background: #04B1F1; }

.form-grid--2col {
  display: grid;
  grid-template-columns: 1fr; }
  @media (min-width: 992px) {
    .form-grid--2col {
      grid-template-columns: 50% 50%;
      gap: 10px; } }

.fade-enter-active, .fade-leave-active {
  transition: opacity 0.5s; }

.fade-enter, .fade-leave-to {
  opacity: 0; }

/* Display */
.d-block {
  display: block; }

.d-none {
  display: none; }

.desktop-only {
  display: none; }
  @media (min-width: 768px) {
    .desktop-only {
      display: block; } }

#animatedModal {
  margin: auto;
  padding: 15px;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999999;
  box-shadow: 1px 1px 175px #000;
  overflow: auto !important;
  background: #FFFFFF !important; }
  #animatedModal .close-animated-modal {
    border-radius: 50px;
    margin-bottom: 50px;
    outline: none !important;
    border: none;
    background: transparent; }
    #animatedModal .close-animated-modal i {
      transition: all 0.2s;
      cursor: pointer;
      opacity: .9;
      z-index: 9999; }
      #animatedModal .close-animated-modal i:hover {
        transform: rotate(180deg); }

.legal__link {
  cursor: pointer; }

/* Messages boxes */
.msg--thanks {
  border: 8px solid white;
  border-top: none;
  border-bottom: none;
  padding: 5%; }

.error-msg {
  background: rgba(239, 45, 86, 0.9);
  z-index: 999999;
  color: white;
  width: 100%;
  border-radius: 0 0 50px 50px;
  padding: 0 15px;
  box-sizing: border-box;
  height: 25px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden; }
  .error-msg:hover {
    overflow: initial;
    white-space: normal;
    overflow-y: auto; }

.error-msg--reverse {
  border-radius: 50px 50px 0px 0px; }

/* Smartphones (portrait and landscape) ----------- */
@media only screen and (min-device-width: 768px) {
  .form__step-indicator {
    font-size: 1.5rem; }
  .chk-btn label {
    font-size: 2rem;
    margin-top: 7px;
    margin-bottom: 7px;
    padding: 25px; }
  .form__heading {
    font-size: 2.5rem;
    margin: 25px 0; } }

@media only screen and (min-device-width: 992px) {
  .card--1 {
    border-radius: 20px 0 0 0; }
  .card--2 {
    border-radius: 0; }
  .card--3 {
    border-radius: 0 20px 0 0; } }

.debug-bd-r {
  border: 2px solid red !important; }

.debug-bd-b {
  border: 2px solid blue !important; }

.debug-bd-g {
  border: 2px solid green !important; }
