/*
0-600px: phone
600 - 900px: Tablet portrait
900 - 1200px: Tablet landscape
1200 - 1800 is where our normal styles apply
1800px +: Big desktop
*/
/*
$breakpoint argument choices:

- phone
- tab-port
- tab-land
- big-desktop

//  1 rem = 10px; 10px/16px = 62.5%

ORDER: Base + typography > general layout + grid > page layout > components

*/
*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
}

html {
  font-size: 62.5%;
  min-height: 100%;
  background: #0162a1;
}
@media only screen and (max-width: 75em) {
  html {
    font-size: 62.5%;
  }
}
@media only screen and (min-width: 112.5em) {
  html {
    font-size: 62.5%;
  }
}

.go-up {
  background-color: #0070be;
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 5rem;
  background: linear-gradient(
    0deg,
    #0070be 53.65%,
    rgba(0, 112, 190, 0.53) 82.81%,
    #0070be 95.83%
  );
  position: fixed;
  bottom: -5rem;
  right: 8.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 0.5rem;
  transition: 0.3s;
  z-index: 99;
}
.go-up.active {
  bottom: 3rem;
}
@media (max-width: 600px) {
  .go-up {
    left: 3rem;
  }
}
.go-up:hover {
  transform: translateY(-3px);
}
.arrow-up {
  border: solid #fff;
  border-top-width: medium;
  border-right-width: medium;
  border-bottom-width: medium;
  border-left-width: medium;
  border-width: 0 2px 2px 0;
  display: inline-block;
  padding: 5px;
  transition: 0.3s;
  transform-origin: center center;
  transform: rotate(-135deg);
}
#cookie-notice {
  font-weight: 900;

  display: none;
  position: fixed;
  bottom: 0;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  justify-content: center;
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  z-index: 9000;
}
.disclaimer__wrap {
  background: #fff;
  max-width: 60rem;
  padding: 2rem;
  border-radius: 1rem;
  max-height: 90vh;
  overflow: scroll;
  width: 90%;
}

.modal-logo {
  max-width: 20rem;
  margin: 0 auto;
  margin-bottom: 1.6rem;
}
.modal-title {
  text-align: center;
  font-size: 22px;
  color: #01436e;
  font-weight: bold;
}
.modal__h3-subtitle {
  text-align: center;
  font-size: 12px;
  max-width: 85%;
  margin: 0 auto;
}
.modal-body-wrap {
  border-radius: 5px;
  background-color: #fafcff;
  padding: 16px 8px;
  margin-bottom: 16px;
}

.modal-body-txt {
  max-height: 25rem;
  overflow: scroll;
}
.modal__subdivider {
  text-align: center;
  font-weight: 500;
  font-size: 1.3rem;
  margin-bottom: 0.4rem;
}

.modal__list {
  font-size: 1.2rem;
  font-style: italic;
  list-style-type: upper-roman;
  font-weight: 300;
}
.modal__listli {
  margin: 0 0 1rem 4rem;
}
.modal__p {
  font-weight: 300;
  font-size: 12px;
  width: calc(100% - 24px);
  margin: 0 auto 8px;
}
.modal__p.-mod {
  color: #01436e;
  text-align: center;
  font-weight: bold;
  margin: 0 auto;
  max-width: 85%;
  line-height: 1.2;
}

.modal-btn {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}

@media (max-width: 590px) {
  .modal-btn {
    flex-wrap: nowrap;
    justify-content: center;
  }
  .modal-choice-txt {
    min-height: 13rem;
    display: flex;
    align-items: center;
  }
}
.modal-choice-txt {
  color: #ccc;
  font-family: serif;
  text-transform: uppercase;
  font-weight: 300;
  text-align: center;
  margin: 1rem 0;
}

#cookie-notice a {
  cursor: pointer;
}

.btn-pill {
  text-align: center;
  background: linear-gradient(
      0deg,
      rgba(6, 0, 0, 0.5) 8.85%,
      rgba(233, 7, 13, 0.105) 46.88%,
      rgba(51, 7, 8, 0.5) 100%
    ),
    #bf0001;
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
  border-radius: 50px;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 2rem;
  min-width: 150px;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  font-weight: 300;
  transition: 0.3s;
  transform: translateY(0);
}

.btn-pill:hover {
  transform: translateY(-2px);
}

.btn-pill:before {
  content: '';
  width: 2px;
  height: 200px;
  background: #fff;
  position: absolute;
  top: -20px;
  left: -50%;
  transform: rotate(30deg);
  filter: blur(2px);
  z-index: 3;

  animation: pillReflect 5s ease infinite;
}
@media (max-width: 600px) {
  .btn-pill {
    transform: translateY(0) rotate(-90deg);
  }
  .btn-pill:hover {
    transform: translateY(-2px) rotate(-90deg);
  }
}
@keyframes pillReflect {
  0% {
    left: -50%;
    width: 2px;
    opacity: 0.1;
    filter: blur(2px);
  }
  50% {
    left: 100%;
    opacity: 0.6;
    filter: blur(4px);
    width: 10px;
  }
  100% {
    left: 100%;
    opacity: 0.5;
    filter: blur(4px);

    width: 10px;
  }
}
.btn-pill.blue {
  background: linear-gradient(
      0deg,
      rgba(6, 0, 0, 0.5) 8.85%,
      rgba(11, 41, 196, 0.5) 46.88%,
      rgba(51, 7, 8, 0.5) 100%
    ),
    #0029ff;
}
.btn-pill span {
  position: relative;
  z-index: 2;
  color: #fff;
  text-decoration: none;
}
.half-bg {
  position: absolute;
  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 65.62%,
      rgba(0, 0, 0, 0.5) 100%
    ),
    rgba(39, 1, 4, 0.09);
  border-radius: 50px 0px 0px 50px;
  width: 50%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 2;
}
.half-bg.blue {
  background: linear-gradient(
      180deg,
      rgba(0, 0, 0, 0) 65.62%,
      rgba(0, 0, 0, 0.5) 100%
    ),
    rgba(39, 1, 4, 0.09);
}
.line-1 {
  position: absolute;
  height: 4px;
  width: 90%;
  right: 0px;
  top: 10px;
  background: #fd0c0d;
  filter: blur(3px);
  border-radius: 3px 50px 50px 3px;
  z-index: 1;
}
.line-1.blue {
  background: rgba(74, 96, 214, 0.8);
}
.line-2 {
  position: absolute;
  height: 6px;
  width: 90%;

  background: rgba(252, 19, 20, 1);
  filter: blur(3px);
  border-radius: 3px 50px 50px 3px;
  left: 0px;
  top: 40%;
  z-index: 1;
}
.line-2.blue {
  background: rgba(120, 141, 252, 0.6);
}
.line-3 {
  position: absolute;
  height: 12px;
  bottom: 10%;
  width: 90%;

  left: 0px;
  background: rgba(244, 7, 15, 0.8);
  box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.19);
  filter: blur(4px);
  border-radius: 50px;
  z-index: 1;
}
.line-3.blue {
  background: rgba(74, 96, 214, 0.6);
}
.line-4 {
  position: absolute;
  height: 6px;
  bottom: 7px;
  width: 90%;
  left: 0px;
  background: rgba(186, 30, 35, 1);
  filter: blur(1px);
  border-radius: 50px;
  z-index: 1;
}
.line-4.blue {
  background: rgba(42, 64, 183, 0.72);
}
.circle {
  position: absolute;
  top: 5px;
  left: -32px;
  width: 50px;
  height: 50px;
  border-radius: 500px;
  border: 3px solid #ff6667;
  filter: blur(2px);
  z-index: 1;
  opacity: 0.7;
  transform: skewX(-13deg);
}
.circle.blue {
  border: 3px solid #7b95f2;
}
.btn-pill a,
#cookie-notice-accept {
  text-decoration: none;
  color: #fff;
  position: relative;
  z-index: 3;
}

body {
  box-sizing: border-box;
  background: #0162a1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

body.active {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.main {
  background: #fff;
  flex: 0 0 auto;
}

section {
  padding: 5rem 0;
}

/**
 * Basic styles for links
 */
a {
  color: #596f8c;
}

::selection {
  background-color: #0172bb;
  color: #fff;
}

body {
  font-family: sans-serif;
  font-weight: 400;
  line-height: 1.7;
  color: #313131;
  font-size: 1.6rem;
}

h1 {
  font-size: 3.2rem;
}

h2 {
  font-size: 3rem;
  font-weight: 300;
}

h3 {
  font-size: 2.2rem;
  font-weight: 300;
}

h4 {
  font-size: 2rem;
}

p {
  font-size: 1.6rem;
}

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

.u-margin-bottom-big {
  margin-bottom: 8rem;
}

.u-margin-bottom-medium {
  margin-bottom: 4rem;
}

.u-margin-bottom-small {
  margin-bottom: 1.5rem;
}

.red-border {
  border: 1px solid red;
}

.loader {
  display: none;
  position: fixed;
  z-index: 10;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;

  background-position: 50% 50%;
  background-color: rgba(255, 255, 255, 0.8);
  background-repeat: no-repeat;
}

.loader-wrap {
  width: 131px;
  height: 25px;
  margin: 0 auto;
  top: 50%;
  position: relative;
  z-index: 9;
  overflow: hidden;
  clip-path: url(#myClip);
}

.loader-wrap:before {
  content: '';
  background: #fff;
  position: absolute;
  height: 100%;
  z-index: 10;
  left: 0;
  width: 100%;
}
.loader-wrap:after {
  content: '';
  background: linear-gradient(
    0deg,
    #0070be 53.65%,
    rgba(0, 112, 190, 0.53) 82.81%,
    #0070be 95.83%
  );
  position: absolute;
  height: 100%;
  z-index: 10;
  left: 0;

  animation: loader 1.5s infinite alternate-reverse;
}
@keyframes loader {
  from {
    width: 100%;
  }
  to {
    width: 0;
  }
}
/**
 * Main content containers
 * 1. Make the container full-width with a maximum width
 * 2. Center it in the viewport
 * 3. Leave some space on the edges, especially valuable on small screens
 */
.container {
  max-width: 1200px;
  /* 1 */
  margin-left: auto;
  /* 2 */
  margin-right: auto;
  /* 2 */
  padding-left: 2rem;
  /* 3 */
  padding-right: 2rem;
  /* 3 */
  width: 100%;
  /* 1 */
}

.light-bg {
  background: linear-gradient(270deg, #f2f7ff 0%, #fafcff 100%);
  text-align: center;
  border: 1px solid #edf4ff;
  padding: 7rem 0;
}

.btn {
  display: inline-block;
  border: 1px solid transparent;
  padding: 0.8rem 1.6rem;
  text-decoration: none;
  border-radius: 2px;
}
.btn.light {
  background-color: #f5f7fa;
  border: 1px solid #677fa1;
}
.btn.dark {
  background-color: #677fa1;
}

.default-btn {
  background: linear-gradient(
    0deg,
    #0070be 53.65%,
    rgba(0, 112, 190, 0.53) 82.81%,
    #0070be 95.83%
  );
  border: 1px solid #0163a8;
  text-decoration: none;
  color: #fff;
  padding: 0.8rem 2rem;
  border-radius: 50rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 300;
  font-size: 1.4rem;
  transition: 0.2s;
  min-width: 15rem;
  width: fit-content;
  margin: 0 auto;
  text-align: center;
  width: -moz-fit-content;
}
.default-btn__icon {
  margin-right: 0.5rem;
}
.default-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.15);
  color: #fff;
  text-decoration: none;
}

.footer {
  background: linear-gradient(92.04deg, #0070be 0%, #0162a1 100%);
  padding: 3rem 0;
  color: #b1cfe3;
}

.footer__disclaimer {
  text-align: center;
  max-width: 80rem;
  margin: 0 auto;
  margin-bottom: 1rem;
}

.disclaimer-p {
  font-size: 1rem;
  font-weight: 300;
}

.footer-nav__copyright {
  font-size: 1.2rem;
  text-align: center;
  font-weight: 300;
}

.intro {
  min-height: auto;
  display: flex;
  align-items: flex-start;
  background-color: #fafcff;
  padding: 4rem 0 2rem;
}

.intro__logo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
  align-self: flex-start;
  margin: 0 8px;
  overflow: visible;
  position: relative;
  z-index: 3;
}

.intro__logo .header-logo {
  align-items: center;
  aspect-ratio: 700 / 581;
  display: inline-flex;
  justify-content: center;
  margin-bottom: 1rem;
  overflow: hidden;
  position: relative;
  width: min(30rem, 82vw);
  z-index: 3;
}

.header-logo__img {
  display: block;
  height: 100%;
  margin-bottom: 0;
  max-width: none;
  object-fit: cover;
  position: relative;
  width: 100%;
  transform: scale(1);
  transform-origin: 42% 38%;
  transition: transform 12s linear, filter 12s ease;
  will-change: transform;
  z-index: 4;
}

.intro__logo.is-panda-auto-zoom {
  z-index: 40;
}

.intro__logo.is-panda-auto-zoom .header-logo__img {
  filter: saturate(1.04) contrast(1.03);
  transform: scale(2.9);
}

.intro__logo.is-panda-auto-zoom .logo-slogan {
  transform: none;
}

.logo-slogan {
  color: #9bafcc;
  font-style: italic;
  font-size: 1.8rem;
  font-weight: 300;
  transition: transform 0.9s ease;
}

.intro__items {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  height: 350px;
}

.item {
  padding: 3rem 2rem;
  text-align: center;
  border-radius: 10px;
  transition: 0.3s;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.item.first,
.item.second {
  align-items: center;
  border: 1px solid #cfe2ff;
  display: grid;
  gap: 0.6rem;
  grid-template-rows: 8rem 10.8rem 4.2rem 1.2rem;
  justify-content: stretch;
  justify-items: center;
  padding: 2rem 2.4rem;
  transition: 0.3s;
  height: 320px;
  overflow: visible;
  width: min(100%, 42rem);
}

.item.first:hover,
.item.second:hover {
  border: none;
  text-decoration: none;
  background: #dbedff;
  box-shadow: inset 3px 3px 5px 0 rgba(255, 255, 255, 0.9),
    inset -3px -3px 5px rgba(0, 0, 0, 0.1);
  transform: scale(1.02);
}
.item__header {
  align-self: center;
  display: block;
  font-size: 12px;
  line-height: 1.45;
  margin: 0 auto;
  max-width: 34rem;
  min-height: 10.8rem;
  text-align: center;
}
.item__header span {
  font-weight: 600;
  color: #01436e;
}
.img__verification {
  cursor: zoom-in !important;
  display: block;
  height: 8rem;
  margin: 0 auto;
  max-width: min(21rem, 82%);
  object-fit: contain;
  position: relative;
  transform: scale(1);
  transform-origin: center center;
  transition: transform 0.25s ease, filter 0.25s ease;
  z-index: 2;
}
.img__verification:hover,
.img__verification:focus {
  filter: drop-shadow(0 1.2rem 2rem rgba(1, 67, 110, 0.18));
  transform: scale(1.5);
}
.item__title {
  color: #01436e;
  line-height: 1;
  font-size: 2.4rem;
  margin-bottom: 3rem;
  min-height: 4.5rem;
}

.item__description {
  color: #9bafcc;
  font-size: clamp(0.6rem, 0.38vw, 0.74rem);
  height: auto;
  line-height: 1.2;
  font-weight: 300;
  margin: 0.85rem auto 0;
  max-width: min(22rem, 100%);
  min-height: 1em;
  text-align: center;
}

.item.first .item__description,
.item.second .item__description {
  margin-top: 0;
}

.item__link {
  margin-bottom: 0;
  width: -moz-fit-content;

  width: fit-content;
  font-weight: 500;

  padding: 0.8rem 2rem;
}

.item.first .item__link,
.item.second .item__link {
  width: min(30rem, 100%);
}

@media only screen and (max-width: 1030px) {
  .intro__items {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: auto;
    flex-direction: column;
  }
  .item.first {
    order: 2;
    margin-bottom: 16px;
  }
  .item.second {
    order: 3;
  }

  .intro__logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    align-self: inherit;
    order: 1;
    margin: 0 8px;
  }
  .item__link {
    margin-bottom: 0;
    width: fit-content;
    width: -moz-fit-content;

    font-weight: 500;
    padding: 0.8rem 2rem;
  }
}

.custom-title {
  text-align: center;
  margin-bottom: 1rem;
  color: #01436e;
  font-weight: 500;
}

.custom-subtitle {
  text-align: center;
  font-size: 1.4rem;
}

.disclaimer-text {
  font-size: 1.2rem;
  color: #01436e;
}

.site-summary {
  color: #01436e;
  font-size: 1.15rem;
  line-height: 1.45;
  margin: 0 auto 1rem;
  max-width: 72rem;
}

.disclaimer-h3 {
  font-size: 1.4rem;
  font-weight: 500;
  color: #01436e;
}

.info__container {
  text-align: center;
  height: 14rem;
  max-width: 75rem;
  margin: 0 auto 1rem;
  overflow: hidden;
  position: relative;
  padding: 1rem 2rem;
}
.info__container:not(.wd-opened):after {
  content: '';
  width: 100%;
  height: 10rem;
  bottom: 0;
  left: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #fafcff 100%);
  position: absolute;
  transform: translateY(0);
  transition: 0.3s;
}
.info__container.active {
  height: fit-content;
  height: -moz-fit-content;
}
.info__container.active:after {
  transform: translateY(100%);
}

.btn-read {
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s;
}
.btn-read:hover {
  opacity: 1;
}

.divider {
  width: 100%;
  height: 1px;
  background-color: #e3eeff;
  margin: 24px 0;
}

.form {
  max-width: 55rem;
  margin: 0 auto;
}

.input__row {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}

.input__label {
  text-align: left;
  color: #fff;
  font-size: 10px;
  text-transform: uppercase;
  background-color: #0070be;
  display: inline-block;
  padding: 4px 5px;
  border-radius: 3px;
  margin-bottom: 8px;
  line-height: 1.2;
  width: fit-content;
  width: -moz-fit-content;
}

.input__data,
.textarea {
  border-radius: 3px;
  border: 1px solid #d3ddeb;
  border-radius: 10px;
  padding: 12px 16px;
  font-family: inherit;
  font-size: 16px;
}
.input__data::placeholder,
.textarea::placeholder {
  color: #d5dce5;
  font-size: 12px;
}
.input__data:focus,
.textarea:focus {
  border: 1px solid #0070be;
  outline: none;
  box-shadow: 1px 5px 7px rgba(0, 0, 0, 0.1);
}
.input__data-check,
.textarea-check {
  margin-right: 4px;
}

.input-checkbox__row {
  font-size: 1.4rem;
  margin-bottom: 0.4rem;
  color: #003354;
}

.textarea {
  border-radius: 1rem;
  padding: 16px;
  width: 100%;
}

.submit {
  cursor: pointer;
}
.submit:focus {
  outline: none;
}

.logo {
  max-width: 20rem;
  margin: 0 auto;
}
.logo img {
  width: 100%;
}

.modal-title {
  text-align: center;
  font-size: 22px;
  line-height: 1.2;
  color: #01436e;
  font-weight: bold;
}

.modal-header {
  border: 0;
}

.modal-body {
  padding: 0 24px 24px;
}

.modal-body .logo {
  max-width: 20rem;
  margin-bottom: 1.6rem;
}

.divider {
  width: 100%;
  height: 1px;
  background-color: #e3eeff;
  margin: 16px 0;
}

.modal__h3 {
  font-size: 18px;
  text-align: center;
  font-weight: bold;
}

.modal__h3-subtitle {
  text-align: center;
  font-size: 12px;
  max-width: 85%;
  margin: 0 auto;
}

.modal__h4 {
  font-size: 14px;
  /* font-weight: bold; */
  color: #01436e;
  margin-top: 16px;
  background-color: #01436e;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;

  padding: 5px;
  border-radius: 3px;
  line-height: 1;
  text-transform: uppercase;
}

.modal__h4.is-contact,
.modal__p.is-contact {
  text-align: center;
}

.title-is-contact {
  text-align: center;
  text-transform: uppercase;
  color: #01436e;
  font-size: 20px;
}

.modal__p {
  font-size: 12px;
  width: calc(100% - 24px);
  margin: 0 auto 8px;
}

.modal__list {
  font-size: 12px;
  padding-left: 32px;
}

.modal__list li {
  margin-bottom: 4px;
}

.modal-body strong {
  color: #01436e;
}

.modal-dialog {
  font-size: 12px !important;
  max-width: 60rem;
}

.modal__subdivider {
  text-align: center;
  font-size: 12px;
}

.modal__p.-mod {
  color: #01436e;
  text-align: center;
  font-weight: bold;
  margin: 0 auto;
  max-width: 85%;
}

.modal-content {
  border-radius: 10px;
  margin: 0 auto;
}

.modal-footer {
  padding: 1rem 1rem 2rem;
}

.modal-dialog-centered {
  min-height: fit-content;
  min-height: -moz-fit-content;
}

.modal__list.-mod {
  font-style: italic;
  list-style-type: upper-roman;
}

.modal-body-txt {
  max-height: 200px;
  overflow: scroll;
}

.modal-body-wrap {
  border-radius: 5px;
  background-color: #fafcff;
  padding: 16px 8px;
  margin-bottom: 16px;
}

.alert {
  font-size: 1.4rem;
  padding: 3rem;
  border-radius: 5px;
  display: none;
  text-align: center;
}
.alert svg {
  width: 7.5rem;
}

.alert-danger svg {
  width: 4rem;
}

.form-feedback {
  font-size: 1rem;
  text-transform: uppercase;
  margin-left: 1rem;
  margin-top: 0.6rem;
  color: #ff005c;
}

.feedback-msg-title {
  text-align: center;
  font-size: 3rem;
  font-weight: 500;
  margin-bottom: 1rem;
}

.feedback-msg-subtitle {
  text-align: center;
  line-height: 1.2;
  font-size: 1.8rem;
  font-weight: 500;
}

.feedback-msg-p {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  line-height: 1.2;
  text-align: center;
  font-family: 'Courier New', Courier, monospace;
  font-weight: bold;
  margin-bottom: 1rem;
  text-align: left;
}

.feedback-msg-p-last {
  font-size: 1.4rem;
  line-height: 1.2;
  text-align: center;
  max-width: 80%;
  margin: 0 auto;
}

.feedback-msg-list {
  padding-left: 2rem;
  margin: 0;
  font-family: 'Courier New', Courier, monospace;
  font-weight: bold;
}

.feedback-msg-item {
  font-size: 1.3rem;
  line-height: 1.2;
  text-align: left;
}
.feedback-msg-item:not(:last-of-type) {
  margin-bottom: 0.8rem;
}

.nb {
  background-color: #c3e6cb;
  padding: 1.5rem;
  border-radius: 5px;
  margin: 2rem 0;
}

#bs-gdpr-cookies-modal-accept-btn,
#bs-gdpr-cookies-modal-decline-btn {
  border-radius: 50px;
  padding: 10px 32px;
  font-size: 1.4rem;
}

#bs-gdpr-cookies-modal-accept-btn:hover {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

#bs-gdpr-cookies-modal-decline-btn:hover {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type='button']::-moz-focus-inner,
[type='reset']::-moz-focus-inner,
[type='submit']::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type='button']:-moz-focusring,
[type='reset']:-moz-focusring,
[type='submit']:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type='checkbox'],
[type='radio'] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type='number']::-webkit-inner-spin-button,
[type='number']::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type='search']::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}
/* ── Big Pill CTA for Contact Form ───────────────────────────────── */

.contact-cta-section {
  display: block;
  margin: 1.5rem auto 1.2rem;
  max-width: 60rem;
  padding: 2.8rem 2rem;
  background-color: #eef4ff;       /* light-blue background */
  border-radius: 50px;             /* pill shape */
  text-decoration: none;           /* remove underline */
  transition: 
    transform 0.3s ease, 
    box-shadow 0.3s ease,
    background-color 0.3s ease;
  cursor: pointer;
}

.contact-cta-section .custom-title {
  color: #5b6b8a;                   /* slate‐blue text */
  font-size: 3rem;
  font-weight: 300;
  margin: 0;
}

.contact-cta-section:hover {
  transform: translateY(-4px);
  background-color: #dde8ff;       /* slightly darker on hover */
  /* glowing blue glow */
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.1),   /* subtle dark lift */
    0 0  20px rgba(0, 123, 255, 0.6), /* inner blue glow */
    0 0  40px rgba(0, 123, 255, 0.4); /* outer blue glow */
}
/* — Anti-Copy Styles (at the BOTTOM of style.css) — */

*, *::before, *::after {
  -webkit-touch-callout: none;  
  -webkit-user-select: none;    
  -moz-user-select: none;       
  -ms-user-select: none;        
  user-select: none;            

  cursor: default !important;   
}
/* ── Allow pointer & selection on the CTA ────────────────────── */
.contact-cta-section,
.contact-cta-section * {
  user-select: auto !important;  /* re-enable text selection if you want */
  cursor: pointer !important;    /* restore the hand cursor */
  
}

a,
button,
.default-btn,
.btn-pill,
#cookie-notice-accept,
.floating-back-arrow {
  cursor: pointer !important;
}

.disclaimer__wrap {
  display: flex;
  flex-direction: column;
  max-height: min(90vh, 720px);
  overflow: hidden;
}

.modal-body-wrap {
  min-height: 0;
}

.modal-body-txt {
  max-height: min(30vh, 260px);
  overflow: auto;
}

.modal-btn {
  gap: 1rem;
}

.floating-back-arrow {
  position: fixed;
  top: 1rem;
  left: 1rem;
  z-index: 9200;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 7.2rem;
  min-height: 3.5rem;
  padding: 0.7rem 1.35rem;
  border-radius: 999px;
  background: linear-gradient(180deg, #8ec4ef 0%, #0e77bd 100%);
  box-shadow: 0 0.5rem 1.25rem rgba(1, 67, 110, 0.22);
  color: #fff;
  font-size: 1.35rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
}

.floating-back-arrow:hover,
.floating-back-arrow:focus {
  color: #fff;
  text-decoration: none;
  outline: 2px solid rgba(1, 67, 110, 0.35);
  outline-offset: 3px;
}

.page-policy .main {
  background: #fafcff;
}

.page-policy .privacy-policy {
  padding: clamp(4rem, 5vw, 8rem) 0 clamp(5rem, 6vw, 9rem);
}

.page-policy .privacy-policy .container {
  max-width: min(108rem, calc(100% - 4rem));
  background: rgba(255, 255, 255, 0.96);
  border-top: 1px solid #e3eeff;
  color: #4b4f55;
  padding: clamp(2rem, 2.6vw, 3rem) clamp(1.6rem, 2.4vw, 2.8rem) clamp(3rem, 4vw, 4rem);
}

.page-policy .privacy-policy .logo {
  margin-bottom: 2.4rem;
  max-width: clamp(14rem, 12vw, 22rem);
}

.page-policy .privacy-policy .modal-title {
  color: #01436e;
  font-size: clamp(2.8rem, 2.3vw, 4.8rem);
  font-weight: 300;
  letter-spacing: 0;
  line-height: 1.15;
  margin: 0 auto 1rem;
  text-align: center;
}

.page-policy .privacy-policy .modal__h3-subtitle {
  color: #4b4f55;
  font-size: clamp(1.35rem, 0.9vw, 1.8rem);
  font-style: italic;
  font-weight: 400;
  line-height: 1.55;
  margin: 0 auto;
  max-width: 82rem;
  text-align: center;
}

.page-policy .privacy-policy .divider {
  background: transparent;
  border-top: 1px solid #e3eeff;
  height: 0;
  margin: clamp(2.1rem, 2.2vw, 3.3rem) 0 1.4rem;
}

.page-policy .privacy-policy h3,
.page-policy .privacy-policy h4 {
  background: #01436e;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.1;
  margin: 0 0 1.2rem;
  max-width: 100%;
  padding: 0.45rem 0.7rem;
  text-align: left;
  text-transform: uppercase;
  width: auto;
}

.page-policy .privacy-policy h3 {
  font-size: clamp(1.45rem, 0.96vw, 1.82rem);
}

.page-policy .privacy-policy h4 {
  font-size: clamp(1.32rem, 0.82vw, 1.62rem);
}

.page-policy .privacy-policy p {
  color: #4b4f55;
  font-size: clamp(1.28rem, 0.78vw, 1.48rem);
  font-weight: 400;
  line-height: 1.78;
  margin: 0 0 1.12rem;
  max-width: none;
  text-align: left;
  width: auto;
}

.page-policy .privacy-policy .modal__list {
  color: #4b4f55;
  font-size: clamp(1.22rem, 0.74vw, 1.38rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.72;
  list-style: disc;
  margin: 0 0 1.35rem;
  padding-left: 2.4rem;
}

.page-policy .privacy-policy .modal__list li {
  margin-bottom: 0.8rem;
}

.footer {
  background: linear-gradient(92.04deg, #0070be 0%, #0162a1 100%);
  color: #fff;
  flex-shrink: 0;
  padding: 1.6rem 0 1.3rem;
  text-align: center;
}

.footer__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.42rem;
}

.footer-logo {
  margin: 0;
}

.footer-nav__logo {
  display: block;
  max-width: 12.8rem;
  width: 100%;
  height: auto;
  margin: 0 auto 0.25rem;
}

.footer-nav {
  margin: 0;
  width: 100%;
}

.footer-nav__ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0.3rem 1.1rem;
  list-style: none;
  margin: 0 auto;
  padding: 0;
  max-width: min(108rem, calc(100% - 2rem));
}

.footer-nav__item {
  margin: 0;
}

.footer-nav__link,
.footer-nav__link:visited {
  color: #fff;
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 300;
  line-height: 1.25;
  margin: 0;
  text-decoration: none;
}

.footer-nav__link:hover,
.footer-nav__link:focus {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.footer__disclaimer {
  border-top: 1px solid rgba(255, 255, 255, 0.28);
  margin: 0.24rem auto 0;
  max-width: min(92rem, calc(100% - 4rem));
  padding: 0.7rem 0 0.12rem;
  text-align: center;
}

.footer__disclaimer .disclaimer-p {
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.02rem;
  font-weight: 300;
  line-height: 1.35;
  margin: 0 auto;
  max-width: min(86rem, calc(100% - 2rem));
}

.footer-nav__copyright {
  margin: 0.08rem auto 0;
  text-align: center;
}

.footer-nav__copyright,
.footer-nav__copyright a,
.footer-nav__copyright a:visited {
  color: #fff;
  font-size: 1.08rem;
  font-weight: 300;
  line-height: 1.22;
  text-decoration: none;
}

.footer-nav__copyright a:hover,
.footer-nav__copyright a:focus {
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.footer-edition {
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.96rem;
  font-weight: 300;
  line-height: 1.2;
  margin: 0.22rem auto 0;
}

.footer-edition::before {
  background: rgba(255, 255, 255, 0.22);
  content: '';
  display: block;
  height: 1px;
  margin: 0 auto 0.38rem;
  width: min(14rem, 42vw);
}

@media only screen and (min-width: 112.5em) {
  .container {
    max-width: 168rem;
  }

  .intro {
    padding: 6rem 0 3rem;
  }

  .intro__items {
    height: 44rem;
  }

  .item.first,
  .item.second {
    gap: 0.45rem;
    grid-template-rows: 10rem 13rem 5rem 1.4rem;
    height: 39rem;
    padding: 2.8rem 3rem;
    width: min(100%, 50rem);
  }

  .img__verification {
    height: 10rem;
    max-width: min(27rem, 85%);
  }

  .item__header {
    font-size: 1.35rem;
    line-height: 1.48;
    max-width: 41rem;
    min-height: 13rem;
  }

  .default-btn {
    font-size: 1.55rem;
    min-width: 18rem;
    padding: 1rem 2.6rem;
  }

  .item.first .item__link,
  .item.second .item__link {
    width: min(36rem, 100%);
  }

  .item__description {
    font-size: 0.72rem;
    height: auto;
    margin-top: 0.85rem;
  }

  .intro > .container > .item:not(.first):not(.second) {
    padding: 3.6rem 2rem 2.8rem;
  }

  .header-logo__img {
    max-width: 38rem;
  }

  .logo-slogan {
    font-size: 2.2rem;
    line-height: 1.25;
    max-width: 44rem;
  }

  .info__container {
    height: 17rem;
    max-width: 100rem;
    padding: 1.4rem 2rem;
  }

  .disclaimer-text {
    font-size: 1.35rem;
  }

  .disclaimer-h3 {
    font-size: 1.65rem;
  }

  .btn-read {
    min-width: 18rem;
  }

  .contact-cta-section {
    margin: 2.2rem auto 1.4rem;
    max-width: 70rem;
    padding: 3.2rem 2rem;
  }

  .contact-cta-section .custom-title {
    font-size: 3.7rem;
  }

  .footer {
    padding: 2rem 0 1.7rem;
  }

  .footer-nav__logo {
    max-width: 15rem;
  }

  .footer-nav__ul {
    gap: 0.38rem 1.5rem;
    max-width: min(130rem, calc(100% - 4rem));
  }

  .footer-nav__link,
  .footer-nav__link:visited {
    font-size: 1.35rem;
  }

  .footer__disclaimer {
    max-width: min(112rem, calc(100% - 6rem));
    padding-top: 0.85rem;
  }

  .footer__disclaimer .disclaimer-p {
    font-size: 1.12rem;
    max-width: min(106rem, calc(100% - 2rem));
  }

  .footer-nav__copyright,
  .footer-nav__copyright a,
  .footer-nav__copyright a:visited {
    font-size: 1.18rem;
  }

  .footer-edition {
    font-size: 1.04rem;
  }
}

@media only screen and (min-width: 150em) {
  .container {
    max-width: 190rem;
  }

  .intro {
    padding: 7rem 0 4rem;
  }

  .intro__items {
    height: 52rem;
  }

  .item.first,
  .item.second {
    gap: 0.45rem;
    grid-template-rows: 12rem 15rem 5.6rem 1.6rem;
    height: 45rem;
    padding: 3rem 3.5rem;
    width: min(100%, 58rem);
  }

  .img__verification {
    height: 12rem;
    max-width: min(32rem, 86%);
  }

  .item__header {
    font-size: 1.55rem;
    line-height: 1.5;
    max-width: 48rem;
    min-height: 15rem;
  }

  .default-btn {
    font-size: 1.75rem;
    min-width: 20rem;
    padding: 1.15rem 3rem;
  }

  .item.first .item__link,
  .item.second .item__link {
    width: min(42rem, 100%);
  }

  .item__description {
    font-size: 0.78rem;
    height: auto;
    margin-top: 0.85rem;
  }

  .header-logo__img {
    max-width: 46rem;
  }

  .logo-slogan {
    font-size: 2.6rem;
    max-width: 52rem;
  }

  .info__container {
    height: 19rem;
    max-width: 118rem;
  }

  .disclaimer-text {
    font-size: 1.55rem;
  }

  .disclaimer-h3 {
    font-size: 1.9rem;
  }

  .contact-cta-section {
    max-width: 82rem;
    padding: 3.8rem 2rem;
  }

  .contact-cta-section .custom-title {
    font-size: 4.4rem;
  }

  .footer {
    padding: 2.4rem 0 2rem;
  }

  .footer-nav__logo {
    max-width: 17.5rem;
  }

  .footer-nav__link,
  .footer-nav__link:visited {
    font-size: 1.48rem;
  }

  .footer__disclaimer .disclaimer-p {
    font-size: 1.2rem;
  }
}

@media (max-width: 590px) {
  .disclaimer__wrap {
    width: calc(100% - 2rem);
    max-height: calc(100dvh - 2rem);
    padding: 1.2rem;
  }

  .disclaimer__wrap .logo img {
    max-width: 52% !important;
  }

  .modal-title {
    font-size: 20px;
  }

  .modal-body-txt {
    max-height: 30dvh;
  }

  .modal-btn {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem 1rem;
  }

  .modal-choice-txt {
    order: 3;
    width: 100%;
    min-height: 0;
    margin: 0;
    line-height: 1.2;
    display: none;
  }

  .btn-pill {
    min-width: 13.8rem;
    transform: none !important;
  }

  .btn-pill:hover {
    transform: translateY(-2px) !important;
  }

  .floating-back-arrow {
    min-width: 6.2rem;
    min-height: 3rem;
    padding: 0.6rem 1rem;
    font-size: 1.15rem;
  }

  .footer {
    padding: 1.35rem 1.1rem 1.15rem;
  }

  .footer__container {
    gap: 0.34rem;
  }

  .footer-nav__logo {
    max-width: 11.4rem;
  }

  .footer-nav__ul {
    gap: 0.24rem 0.78rem;
    max-width: 100%;
  }

  .footer-nav__link {
    font-size: 1.06rem;
  }

  .footer__disclaimer {
    max-width: 100%;
    padding: 0.58rem 0 0.12rem;
  }

  .footer__disclaimer .disclaimer-p {
    font-size: 0.94rem;
    line-height: 1.34;
  }
}
