@charset "UTF-8";
/* flexweb base - reset, siatka, narzedzia odstepow, przyciski, naglowek */

:root {
  --mh-blue: #2945ff;
  --mh-blue-dark: #1c33c9;
  --mh-blue-tint: #e7ebff;
  --mh-coral: #fd8878;
  --mh-panel: #f8f8f8;
  --mh-foot: #f7f7f7;
  --mh-text: #262626;
  --mh-black: #000000;
  --mh-grey: #666666;
  --mh-line: #E5E5E5;
  --mh-font: "Plus Jakarta Sans", "Averta", "Helvetica Neue", Arial, sans-serif;
  --mh-max: 1144px;
}

html { font-size: 10px; -webkit-text-size-adjust: 100%; }
*, *::before, *::after { box-sizing: border-box; }
body {
  margin: 0;
  background: #fff;
  color: var(--mh-text);
  font-family: var(--mh-font);
  font-size: 1.6rem;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img { display: block; max-width: 100%; height: auto; border: 0; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3, ul { margin: 0; }
ul { padding: 0; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
table { border-collapse: collapse; width: 100%; }
sup { font-size: .5em; line-height: 0; }
.mh-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(1px,1px,1px,1px); }

.grid-container { width: 100%; max-width: var(--mh-max); margin: 0 auto; padding: 0 3.5%; clear: both; }
.layout-container { position: relative; }

/* typografia - nazwy z CMS, rozmiary nie zawsze zgodne z nazwa */
.heading-small { font-size: 1.4rem; font-weight: 500; color: var(--mh-black); }
.heading-large-56-32 { font-size: 32px; line-height: 1.1; letter-spacing: -0.5px; }
.heading-large-48 { font-size: 2.8rem; line-height: 1.15; letter-spacing: -0.03em; }
.heading-medium-32 { font-size: 2.2rem; line-height: 1.2; letter-spacing: -0.5px; }
.g2b-text-bold { font-weight: 800; color: #000; }
.body-large-18 { font-size: 1.5rem; line-height: 22.25px; }
.body-large-16 { font-size: 1.4rem; line-height: 2.1rem; }

/* odstepy - drabinka 8/16/24/32/40/48/64/72/80/88/96/104/112/120 */
.gap-top-24pt { margin-top: 2.4rem; }
.gap-top-40pt { margin-top: 4rem; }
.gap-bottom-8pt { margin-bottom: .8rem; }
.gap-bottom-104pt { margin-bottom: 10.4rem; }
.gap-bottom-120pt { margin-bottom: 0; }
.gap-top-24pt-mobile { margin-top: 2.4rem; }
.gap-bottom-88pt-mobile { margin-bottom: 8.8rem; }
.gap-bottom-16pt-mobile { margin-bottom: 1.6rem; }
.pad-top-32pt { padding-top: 3.2rem; }
.pad-bottom-32pt { padding-bottom: 3.2rem; }
.pad-bottom-40pt { padding-bottom: 4rem; }
.pad-bottom-16pt { padding-bottom: 1.6rem; }
.pad-top-48pt { padding-top: 4.8rem; }
.pad-top-80pt { padding-top: 8rem; }
.pad-bottom-72pt { padding-bottom: 7.2rem; }
.pad-top-112pt { padding-top: 11.2rem; }
.pad-bottom-112pt { padding-bottom: 11.2rem; }
.pad-top-120pt { padding-top: 12rem; }
.pad-left-24pt-mobile { padding-left: 2.4rem; }
.pad-right-24pt-mobile { padding-right: 2.4rem; }
.pad-top-48pt-mobile { padding-top: 4.8rem; }
.pad-bottom-48pt-mobile { padding-bottom: 4.8rem; }
.pad-top-40pt-mobile { padding-top: 4rem; }
.pad-bottom-32pt-mobile { padding-bottom: 3.2rem; }
.pad-top-96pt-mobile { padding-top: 9.6rem; }
.pad-top-80pt-mobile { padding-top: 8rem; }
.pad-bottom-80pt-mobile { padding-bottom: 8rem; }
.gap-bottom-88pt-mobile { margin-bottom: 8.8rem; }

.bg-color-f8f8f8 { background-color: #f8f8f8; }
.border_radius-child, .border_radius-child > * { border-radius: 15px; }
.gd-content-card { border-radius: 15px; }

/* przyciski */
.btn {
  display: inline-block;
  padding: 1.4rem 2.8rem;
  border-radius: 4.7rem;
  border: 2px solid transparent;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.btn--small { padding: 1.1rem 2.4rem; font-size: 1.4rem; }
.btn--primary-white-text-blue-solid { background: #2945ff; color: #ffffff; border-color: #2945ff; }
.btn--primary-white-text-blue-solid:hover { background: #fff; color: #2945ff; }
.btn--primary-black-text-white-solid { background: #fff; color: #000; border-color: #000; }
.btn--primary-black-text-white-solid:hover { background: #000; color: #fff; }
.btn-link-arrow { display: inline-flex; align-items: center; gap: .8rem; padding: 0; border: 0; color: #2945ff; font-size: 1.4rem; font-weight: 700; }
.btn-link-arrow:after {
  content: '';
  width: .7rem;
  height: .7rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .2s;
}
.btn-link-arrow:hover:after { transform: translateX(3px) rotate(45deg); }

/* naglowek */
.mh-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99;
  display: flex;
  align-items: center;
  height: 64px;
  padding: 0 3.5%;
  background: #fff;
  border-bottom: 1px solid transparent;
  transition: border-color .2s;
}
.mh-header.is-scrolled { border-bottom-color: #E5E5E5; }
.mh-header__logo-wrapper { flex: 1; }
.gd-brand-logo__link { display: inline-flex; align-items: center; gap: .8rem; }
.mh-logo-img { display: block; height: 32px; width: auto; max-width: 150px; object-fit: contain; object-position: left center; }
.mh-footer .mh-logo-img { height: 38px; max-width: 180px; }
.mh-header__hamburger { order: 3; width: 40px; height: 40px; position: relative; }
.mh-header__hamburger span { position: absolute; left: 10px; right: 10px; height: 2px; background: #000; transition: transform .25s, opacity .25s; }
.mh-header__hamburger span:nth-child(1) { top: 13px; }
.mh-header__hamburger span:nth-child(2) { top: 19px; }
.mh-header__hamburger span:nth-child(3) { top: 25px; }
.mh-header__hamburger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.mh-header__hamburger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mh-header__hamburger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.mh-header__nav {
  display: none;
  position: fixed;
  top: 64px;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 2.4rem 3.5% 4rem;
  background: #fff;
  overflow-y: auto;
}
.mh-header__nav.is-open { display: block; }
.header-navigation { list-style: none; }
.header-navigation__item { border-bottom: 1px solid #E5E5E5; }
.header-navigation__item-link { display: block; padding: 1.8rem 0; font-size: 1.8rem; font-weight: 700; color: #262626; }
.header-navigation__item-link:hover { color: #2945ff; }
.mh-header__right-links { display: flex; flex-direction: column; align-items: flex-start; gap: 1.6rem; margin-top: 3.2rem; }
.mh-header__link { font-size: 1.4rem; color: #262626; }
body.mh-lock { overflow: hidden; }

@media (min-width: 768px) {
  .heading-large-56-32 { font-size: 44px; }
  .heading-large-48 { font-size: 3.6rem; }
  .body-large-18 { font-size: 1.8rem; line-height: 29.66px; }
  .body-large-16 { font-size: 1.6rem; line-height: 2.4rem; }
}

@media (min-width: 1144px) {
  .mh-header { height: 72px; }
  .mh-header .mh-logo-img { height: 36px; max-width: 170px; }
  .mh-header__hamburger { display: none; }
  .mh-header__logo-wrapper { flex: 0 0 auto; margin-right: 4rem; }
  /* !important bo .is-open zostaje po obrocie telefonu na tablet */
  .mh-header__nav { display: flex !important; position: static; flex: 1; align-items: center; justify-content: space-between; padding: 0; overflow: visible; background: none; }
  .header-navigation { display: flex; gap: 2.8rem; }
  .header-navigation__item { border: 0; }
  .header-navigation__item-link { padding: 0; font-size: 1.4rem; font-weight: 500; }
  .mh-header__right-links { flex-direction: row; align-items: center; margin-top: 0; gap: 2rem; }
  .mh-header__link { font-size: 1.3rem; }
  .heading-large-56-32 { font-size: 56px; letter-spacing: -0.7px; }
  .heading-large-48 { font-size: 4.8rem; line-height: 49.44px; }
  .heading-medium-32 { font-size: 3.2rem; }
}
