@font-face {
  font-family: Inter;
  font-style: normal;
  font-display: swap;
  src: url("https://fxpro-cdn.cloud/repo/website/fonts/inter/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --color-alternative: #fff;
  --color-learn-more: #C9D2DC;
  --font-family-default: inter, "Segoe UI", arial, sans-serif;
  --font-size-m: 14px;
  --font-size-l: 16px;
  --font-size-semi-l: 18px;
  --font-size-3xl: 30px;
  --font-size-4xl: 35px;
  --font-size-5xl: 50px;
  --font-weight-default: 400;
  --font-weight-500: 500;
  --line-height-default: 150%;
  --line-height-100: 100%;
  --line-height-110: 110%;
  --line-height-150: 150%;
  --spacing-s: 10px;
  --spacing-m: 15px;
  --spacing-l: 20px;
  --spacing-xl: 25px;
  --spacing-2xl: 30px;
  --spacing-3xl: 35px;
  --spacing-4xl: 40px;
  --spacing-5xl: 50px;
  --spacing-6xl: 60px;
  --spacing-10xl: 100px;
}

* {
  box-sizing: border-box;

  margin: 0;
  padding: 0;
}

body {
  margin: 0;

  background: #0D1B2A;

  font: var(--font-weight-default) var(--font-size-m) / var(--line-height-default) var(--font-family-default);
}

.bank-pro-container {
  padding: 0 var(--spacing-xl);
}

.app {
  --app-bg-color: #0d1b2a;
  --app-list-items-gap: 8px;

  position: relative;

  min-block-size: 100vb;

  background: var(--app-bg-color);
}

.app__app-buttons-wrapper_mobile::after {
  content: '';

  position: fixed;
  z-index: -1;
  bottom: 0;
  inset-inline-start: 0;

  inline-size: 100%;
  block-size: 270px;

  background: linear-gradient(to bottom, #0D1B2A00 0%, #0D1B2A 100%);
}

.app__wrapper {
  display: flex;
  flex-direction: column;
  align-items: start;

  padding-block-start: var(--spacing-l);
}

.app__wrapper_mobile {
  padding-block-end: var(--spacing-s);
}

.app__app-buttons-wrapper {
  position: fixed;
  z-index: 1;
  bottom: var(--spacing-6xl);
  inset-inline-start: 0;

  display: none;
  flex-direction: column;
  align-items: center;

  inline-size: 100%;
}

.app__app-buttons-wrapper_mobile {
  display: none;
}

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

.app__button-link .ui-button {
  margin-block-end: var(--spacing-l);
}

.app__logo_desktop {
  display: none;
}

.app__logo_mobile {
  display: block;

  inline-size: 116px;
  block-size: auto;
}

.app__title {
  margin: 0;
  margin-block: var(--spacing-4xl) var(--spacing-l);

  max-inline-size: 350px;

  color: var(--color-alternative);
  font-size: var(--font-size-3xl);
  font-weight: var(--font-weight-500);
  line-height: var(--line-height-110);
  text-align: start;
  letter-spacing: -0.03em;
}

.app__list {
  display: flex;
  flex-direction: column;
  gap: var(--app-list-items-gap);

  margin: 0;
  padding-inline-start: var(--spacing-l);

  color: var(--color-alternative);
  font-size: var(--font-size-m);
  line-height: var(--line-height-default);

  list-style-type: circle;
  list-style-image: url('data:image/svg+xml,<svg width="14" height="11" viewBox="0 0 14 11" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M13.6211 2.12109L5.06055 10.6816L0 5.62109L2.12109 3.5L5.06055 6.43945L11.5 0L13.6211 2.12109Z" fill="%232E5FAA"/></svg>');
}

.app__button {
  position: fixed;
  z-index: 1;
  bottom: 65px;
  inset-inline-start: 50%;

  display: block;

  transform: translateX(-50%);
}

.app__button .ui-button {
  margin-block-end: 0;
}

.app__qr-icon {
  display: none;
}

.ui-picture__image {
  position: relative;
  bottom: 0;
  inset-inline-start: 0;

  inline-size: 100%;
  block-size: auto;
  object-fit: cover;
  object-position: bottom center;
}

.app__image-wrapper {
  position: relative;
}

.app__image-wrapper::after {
  content: '';

  position: absolute;
  bottom: 0;
  inset-inline-start: 0;

  inline-size: 100%;
  block-size: 200px;

  background: linear-gradient(to bottom, #0D1B2A00 0%, #0D1B2A 100%);
}

/* UI Button Styles */
.ui-button {
  padding: 20px 30px;

  border: none;
  border-radius: 84px;

  min-inline-size: 170px;

  background-color: #2E5FAA;

  color: var(--color-alternative);
  font-family: inherit;
  font-size: 16px;
  font-weight: 500;
  font-style: normal;
  line-height: normal;
  text-align: center;

  cursor: pointer;
}

.ui-button_inverted {
  background-color: #2E5FAA;

  color: var(--color-alternative);
}

.ui-button_large {
  padding: 20px 30px;
}

.app__app-footer-wrapper {
  position: fixed;
  z-index: 1;
  bottom: var(--spacing-2xl);
  inset-inline-start: 50%;

  min-inline-size: 250px;

  color: var(--color-learn-more);
  font-size: var(--font-size-m);
  text-align: center;

  transform: translateX(-50%);
}

.app__app-footer-wrapper a {
  color: var(--color-alternative);
  text-decoration: underline;
}

/* Safari ios small adjust */

@supports (-webkit-touch-callout: none) {
  .app__app-buttons-wrapper_mobile::after {
    block-size: 200px;
  }
}

/* Mobile (wideMobile) - min-width: 375px */

@media (min-width: 375px) {
  .app__app-buttons-wrapper_mobile::after {
    block-size: 400px;
  }

  /* Safari ios small adjust */

  @supports (-webkit-touch-callout: none) {
    .app__app-buttons-wrapper_mobile::after {
      block-size: 300px;
    }
  }

  .app__logo_mobile {
    margin-block-end: var(--spacing-s);

    inline-size: 140px;
  }

  .app__list {
    padding-inline-start: var(--spacing-xl);

    font-size: var(--font-size-semi-l);
  }

  .app__title {
    max-inline-size: 400px;

    font-size: var(--font-size-4xl);
    line-height: var(--line-height-100);
  }
}

/* Tablet - min-width: 768px */

@media (min-width: 768px) {
  .app__app-buttons-wrapper_mobile::after {
    display: none;
  } 

  .bank-pro-container {
    padding: 0 var(--spacing-4xl);
  }

  .app__wrapper {
    position: relative;
    z-index: 1;

    align-items: start;

    padding-block: var(--spacing-5xl) var(--spacing-4xl);

    max-inline-size: 45vi;
  }

  .app__app-link {
    position: relative;
    bottom: auto;
    inset-inline-start: auto;

    transform: none;
  }

  .app__app-link_mobile {
    display: none;
  }

  .app__button {
    display: none !important;
  }

  .app__logo_desktop {
    display: block;

    inline-size: 130px;
    block-size: 130px;
  }

  .app__logo_mobile {
    display: none;
  }

  .app__title {
    max-inline-size: none;
    min-inline-size: 450px;

    font-size: var(--font-size-5xl);
    font-weight: var(--font-weight-500);
    line-height: 110%;
    text-align: start;
    letter-spacing: -1.5px;
  }

  .app__app-buttons-wrapper {
    position: unset;

    display: flex;
    flex-direction: row;
    
    gap: var(--spacing-4xl);

    margin-block-start: var(--spacing-4xl);
  }

  .app__app-icon {
    inline-size: 170px;
    block-size: auto;
  }

  .ui-picture__image {
    position: absolute;
    inset: 0;

    block-size: 100vb;
    min-block-size: 1100px;
    object-position: top center;
  }

  .app__image-wrapper {
    position: unset;
  }

  .app__image-wrapper::after {
    display: none;
  }

  .app__app-footer-wrapper {
    inset-inline: auto 0;

    padding-inline-end: var(--spacing-4xl);

    font-size: var(--font-size-l);

    transform: none;
  }
}

/* Desktop - min-width: 1024px */

@media (min-width: 1024px) {
  .app__wrapper {
    padding-block: var(--spacing-10xl) var(--spacing-10xl);

    max-inline-size: 468px;
  }

  .app__app-link {
    display: none;
  }

  .app__qr-icon {
    display: block;

    margin-block-start: var(--spacing-6xl);

    inline-size: 160px;
    block-size: 160px;
  }

  .app__app-buttons-wrapper {
    display: none;
  }
}

/* Wide Desktop - min-width: 1500px */

@media (min-width: 1500px) {
  .bank-pro-container {
    padding: 0 165px;
  }

  .app__title {
    margin-block: var(--spacing-5xl) var(--spacing-3xl);
  }

  .app__list {
    gap: var(--spacing-m);
  }

  .app__app-footer-wrapper {
    padding-inline-end: 165px;
  }
}
