@charset "UTF-8";
/* SASS and Global'ish Stuff */
@font-face {
  font-family: "OpenSans";
  src: url("../../fonts/Opensans/static/OpenSans-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "OpenSans";
  src: url("../../fonts/Opensans/static/OpenSans-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
body {
  font-family: "OpenSans", sans-serif;
}

header {
  background: #00264d;
  height: 3.75rem;
}
header .navbar-nav {
  gap: 1.875rem;
}
header .navbar .nav-link {
  font-size: 1rem;
  text-transform: uppercase;
  color: #ffffff;
  font-weight: 600;
}
header .navbar .nav-button {
  margin-left: 2.5rem;
}
header .navbar .nav-button .nav-link {
  background: #ffffff;
  color: #00264d;
  border-radius: 0.3125rem;
  text-transform: none;
  padding: 0.125rem 0.625rem;
}
header .navbar .social-link {
  display: flex;
}
header .navbar .social-link .nav-link {
  font-size: 1.625rem;
}
header .navbar .social-link .nav-link img {
  height: 1.375rem;
}

footer {
  padding: 2.5rem 0 3.75rem;
  background: #00264d;
}
footer .wysiwyg p {
  font-size: 0.75rem;
  color: #ffffff;
  font-weight: 400;
}

.banner {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: center;
  padding: 3.75rem 0 0;
  overflow: hidden;
}
.banner .banner-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background-image: linear-gradient(0deg, rgb(0, 0, 0) 20%, rgba(0, 0, 0, 0) 82%, rgba(0, 0, 0, 0) 91%);
}
.banner .banner-overlay img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  mix-blend-mode: multiply;
}
.banner .banner-title-img {
  max-width: min(90%, 61.25rem);
  height: auto;
  margin-bottom: 1.5rem;
}
.banner .banner-line {
  width: 100%;
  height: 0.375rem;
  background: #ffffff;
  border-radius: 0.1875rem;
  margin: 1rem auto 1.75rem;
}
.banner .banner-heading {
  color: white;
  margin: 0 0 1.125rem;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 2.5rem;
  line-height: 1.15;
}
@media (max-width: 62rem) {
  .banner .banner-heading {
    font-size: 2.125rem;
  }
}
@media (max-width: 36rem) {
  .banner .banner-heading {
    font-size: 1.75rem;
  }
}
.banner .banner-arrow {
  width: 3rem;
  height: auto;
  margin: 1.875rem 0 1.875rem;
}
@media (max-width: 36rem) {
  .banner .banner-arrow {
    width: 2.25rem;
  }
}
.banner .banner-kicker {
  margin: 0;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 1.125rem;
}
@media (max-width: 36rem) {
  .banner .banner-kicker {
    font-size: 1rem;
  }
}
.banner .blue {
  color: #71cee5;
}
.banner .yellow {
  color: #f6b446;
}

.about {
  position: relative;
  padding: 0 0 5rem;
}
.about .about-overlay-container {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: linear-gradient(to bottom, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 30%, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0) 100%);
}
.about .about-overlay {
  position: absolute;
  background: black;
  height: 100%;
  width: 100%;
}
.about .about-overlay .about-overlay-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about .about-overlay .smallring {
  position: absolute;
  left: 9%;
  top: 26%;
  z-index: 2;
  max-width: 8vw;
  height: auto;
}
.about .about-overlay .bigring {
  position: absolute;
  right: 2%;
  top: -15%;
  z-index: 2;
  max-width: 20vw;
  height: auto;
}
.about .text-wrapper {
  position: absolute;
  inset-inline: 0;
  top: 0;
  z-index: -1;
}
.about .text-wrapper .text-wrapper-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.about .container {
  z-index: 4;
}
.about .text-container {
  position: relative;
  padding: 110px 5.5rem;
}
.about .text-container p {
  padding-bottom: 1.25rem;
}
.about .blue {
  color: #71cee5;
}
.about .white {
  color: #ffffff;
}
.about .lead-1 {
  font-size: 1.25rem;
  line-height: 1.625rem;
  font-weight: 600;
  margin: 0 0 1.125rem;
  text-transform: uppercase;
}
.about .strong-1 {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 800;
  margin: 0 0 1rem;
}
.about .body-1 {
  font-size: 1.125rem;
  line-height: 1.625rem;
  font-weight: 400;
  margin: 0 0 1.375rem;
}
.about .bold {
  font-weight: 700;
}
.about .shout {
  font-size: 1.5rem;
  text-transform: uppercase;
  text-align: center;
  margin: 1.75rem 0 0;
  line-height: 1.35;
}
@media (max-width: 62rem) {
  .about .smallring {
    max-width: 42vw;
    left: 20%;
    top: 42%;
  }
  .about .bigring {
    max-width: 56vw;
    right: 10%;
    top: 2%;
  }
  .about .shout {
    font-size: 1.375rem;
  }
}
@media (max-width: 36rem) {
  .about {
    padding: 3.5rem 0;
  }
  .about .smallring {
    max-width: 58vw;
    left: 12%;
    top: 45%;
  }
  .about .bigring {
    max-width: 72vw;
    right: 4%;
    top: 4%;
  }
  .about .lead-1 {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
  .about .strong-1,
  .about .body-1 {
    font-size: 1rem;
    line-height: 1.5rem;
  }
  .about .shout {
    font-size: 1.25rem;
  }
}

.rules {
  background: #71cee5;
  padding: 4rem 0;
}
.rules .rules-title {
  font-size: 1.375rem;
  text-transform: uppercase;
  color: #000000;
  font-weight: 700;
  margin: 0 0 2.25rem;
  line-height: 1.25;
}
.rules .rules-desc {
  font-size: 1.125rem;
  color: #000000;
  font-weight: 600;
  margin: 0 0 0.75rem;
}
.rules .btn-regulamin {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  border-radius: 0.3125rem;
  background-color: #f6b446;
  color: #000000;
  padding: 0.25rem 0.75rem;
  font-weight: 700;
  text-decoration: none;
}
.rules .btn-regulamin img {
  height: 1.125rem;
  width: auto;
  display: inline-block;
}
.rules .btn-regulamin:hover {
  opacity: 0.9;
}
.rules .btn-regulamin:active {
  transform: translateY(0.0625rem);
}
.rules .rules-swiper-wrap {
  position: relative;
}
.rules .rules-swiper {
  position: relative;
}
.rules .rules-swiper::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image: linear-gradient(268deg, rgb(113, 206, 229) 13%, rgba(113, 206, 229, 0.98) 16%, rgba(113, 206, 229, 0) 53%, rgba(113, 206, 229, 0) 100%);
  z-index: 3;
}
.rules .rules-swiper .swiper-wrapper {
  padding: 0.5rem 0 5.625rem;
}
.rules .rules-swiper .border-bottom {
  position: absolute;
  bottom: 1.5625rem;
  z-index: -1;
  width: 100%;
  left: 0;
  height: 0.375rem;
  border-radius: 0.1875rem;
  background: #ffffff;
}
.rules .rules-swiper .swiper-slide {
  height: auto;
}
.rules .rules-swiper .slide-card {
  position: relative;
  border-radius: 0.75rem;
  min-height: 15rem;
  /* duże kółko z przerwą 1.25rem wokół kropki i borderem .25rem */
  /* biała kropka 4x4 w centrum kółka */
}
.rules .rules-swiper .slide-card .slide-marker {
  position: absolute;
  left: 50%;
  bottom: 0; /* start dokładnie na dolnej krawędzi karty */
  transform: translate(-50%, 100%); /* wszystko pod kartą */
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 5; /* nad gradientem karuzeli */
  pointer-events: none;
}
.rules .rules-swiper .slide-card .slide-marker .line {
  width: 0.25rem;
  height: 2.5rem; /* długość kreski – dopasuj */
  background: #ffffff;
}
.rules .rules-swiper .slide-card .slide-marker .ring {
  width: 2.75rem; /* .25rem kropka + 1.25rem przerwy z każdej strony + .25rem*2 border = 52 */
  height: 2.75rem;
  border: 0.125rem solid #ffffff;
  border-radius: 50%;
  background: transparent; /* środek przezroczysty */
  display: flex;
  align-items: center;
  justify-content: center;
}
.rules .rules-swiper .slide-card .slide-marker .dot {
  width: 0.625rem;
  height: 0.625rem;
  background: #ffffff;
  border-radius: 50%;
}
.rules .rules-swiper .slide-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.rules .rules-swiper .slide-content {
  position: relative;
  z-index: 2;
  padding: 3.125rem 1.25rem;
}
.rules .rules-swiper .slide-icon {
  max-width: 100%;
  height: auto;
}
.rules .rules-swiper .slide-title {
  font-size: 1.25rem;
  line-height: 1.5rem;
  color: #000000;
  font-weight: 700;
  margin: 0 0 0.625rem;
  text-transform: none;
}
.rules .rules-swiper .slide-text {
  font-size: 0.9375rem;
  line-height: 1.625rem;
  color: #000000;
  font-weight: 700;
  margin: 0;
}
.rules .rules-swiper .swiper-button-prev,
.rules .rules-swiper .swiper-button-next {
  position: absolute;
  top: 50%;
  width: 4.875rem;
  height: 2.3125rem;
  margin-top: -1.375rem;
  z-index: 4;
  border: 0;
  background: transparent;
  cursor: pointer;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.rules .rules-swiper .swiper-button-prev::after,
.rules .rules-swiper .swiper-button-next::after {
  display: none;
}
.rules .rules-swiper .swiper-button-next {
  right: -0.625rem;
  background-image: url("../../images/nextbutton.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.rules .rules-swiper .swiper-button-prev {
  left: -0.625rem;
  background-image: url("../../images/nextbutton.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: scaleX(-1);
}
.rules .rules-swiper .swiper-button-disabled {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
@media (max-width: 62rem) {
  .rules .rules-swiper .slide-title {
    font-size: 1.375rem;
    line-height: 1.75rem;
  }
  .rules .rules-swiper .slide-text {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 36rem) {
  .rules {
    padding: 3rem 0;
  }
  .rules .rules-swiper .slide-title {
    font-size: 1.25rem;
    line-height: 1.625rem;
  }
  .rules .rules-swiper .slide-text {
    font-size: 1rem;
    line-height: 1.375rem;
  }
  .rules .rules-swiper .swiper-button-prev {
    left: -0.25rem;
  }
  .rules .rules-swiper .swiper-button-next {
    right: -0.25rem;
  }
}

.prices {
  position: relative;
  padding: 5rem 0 6.25rem;
  overflow: hidden;
}
.prices .prices-bg {
  background: black;
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}
.prices .prices-bg .prices-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.prices .section-title {
  text-align: center;
  font-size: 1.5rem;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 5rem;
}
.prices .section-title.yellow {
  color: #f6b446;
}
.prices .prize-copy p {
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #71cee5;
  font-weight: 600;
  margin-bottom: 1rem;
}
.prices .prize-card {
  position: relative;
  display: grid;
  place-items: center;
}
.prices .prize-card .circle {
  background: #ffffff;
  border-radius: 50%;
  width: 100%;
  aspect-ratio: 1/1;
  display: grid;
  place-items: center;
  box-shadow: 0 0.375rem 1.25rem rgba(0, 0, 0, 0.08);
}
.prices .prize-card .circle img {
  max-width: 70%;
  max-height: 70%;
  height: auto;
  width: auto;
  display: block;
}
.prices .prize-tooltip .tooltip-content {
  position: absolute;
  left: 50%;
  bottom: -0.75rem;
  transform: translate(-50%, 100%);
  width: 15rem;
  background: rgba(0, 0, 0, 0.9);
  color: #fff;
  padding: 0.625rem 0.75rem;
  border-radius: 0.5rem;
  font-size: 0.875rem;
  line-height: 1.35;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  z-index: 10;
  text-align: center;
}
.prices .prize-tooltip .tooltip-content::before {
  content: "";
  position: absolute;
  top: -0.375rem;
  left: 50%;
  transform: translateX(-50%);
  border: 0.375rem solid transparent;
  border-bottom-color: rgba(0, 0, 0, 0.9);
}
.prices .prize-tooltip:hover .tooltip-content, .prices .prize-tooltip:focus-within .tooltip-content {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 90%);
}
@media (max-width: 62rem) {
  .prices .prize-copy p {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 36rem) {
  .prices .section-title {
    margin-bottom: 1rem;
  }
  .prices .tooltip .tooltip-content {
    width: 12.5rem;
  }
}

.news {
  position: relative;
  background: #000;
  padding: 4rem 0;
  /* Karta slajdu */
  /* Nawigacja – przyciski poza kontenerem, na środku wysokości karuzeli */
  /* Swiper specyficzne – siatka 2 rzędy × 4 kolumny */
  /* RWD */
}
.news .news-title {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #f6b446;
  font-weight: 700;
  margin: 0 0 1.75rem;
}
.news .news-intro p {
  font-size: 1.25rem;
  line-height: 1.625rem;
  color: #71cee5;
  font-weight: 600;
  text-align: center;
  margin: 0 0 3rem;
}
.news .news-swiper-wrap {
  position: relative;
  padding: 0.5rem 0;
}
.news .news-card {
  background: transparent;
}
.news .news-card .img-wrap {
  position: relative;
  overflow: hidden;
}
.news .news-card .img-wrap img {
  width: 100%;
  height: 15rem;
  object-fit: cover;
  display: block;
}
.news .news-card .img-wrap .tag {
  position: absolute;
  top: 0.625rem;
  left: 0.625rem;
  padding: 0.25rem 0.625rem;
  background: #f6b446;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  text-transform: uppercase;
  border-radius: 0.625rem;
  letter-spacing: 0.02em;
}
.news .news-card .text-container {
  background: #fff;
  padding: 0.75rem 0.875rem;
}
.news .news-card .text-container .news-item-title {
  font-size: 1rem;
  line-height: 1.3;
  color: #000;
  margin: 0.625rem 0 1.25rem;
  font-weight: 700;
}
.news .news-card .text-container .read-more {
  font-size: 1rem;
  color: #f6b446;
  font-weight: 700;
  text-decoration: none;
}
.news .news-card .text-container .read-more:hover {
  text-decoration: underline;
}
.news .news-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 5;
  width: 3rem;
  height: 3rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  /* wstaw tu swoje strzałki, np. nextbutton.png */
}
.news .news-nav.news-nav-next {
  right: 10%;
  background-image: url("../../images/nextbuttonnews.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.news .news-nav.news-nav-prev {
  left: 10%;
  background-image: url("../../images/nextbuttonnews.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: translateY(-50%) scaleX(-1);
}
.news .news-nav.is-disabled {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}
.news #newsswiper .swiper-wrapper {
  padding-bottom: 0.25rem;
}
.news #newsswiper .swiper-slide {
  height: auto;
}
@media (max-width: 75rem) {
  .news .news-nav {
    width: 2.75rem;
    height: 2.75rem;
  }
}
@media (max-width: 62rem) {
  .news .news-intro p {
    font-size: 1.125rem;
    line-height: 1.5rem;
  }
}
@media (max-width: 48rem) {
  .news {
    /* Na mobile 2 kolumny × 2 rzędy */
  }
}

.social {
  background: #71cee5;
  padding: 5.625rem 0;
}
.social .social-title {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #000000;
  font-weight: 700;
  margin: 0 0 2.5rem;
}
.social .social-links {
  display: flex;
  justify-content: center;
  gap: 7.5rem;
  flex-wrap: wrap;
}
.social .social-link {
  text-decoration: none;
}
.social .social-link .circle {
  width: 6.25rem;
  height: 6.25rem;
  border-radius: 50%;
  background: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.2s ease, background 0.2s ease;
}
.social .social-link .circle img {
  object-fit: contain;
}
.social .social-link:hover .circle {
  transform: scale(1.05);
  background: black;
}
.social .social-link.facebook img {
  width: 3.125rem;
  height: 3.125rem;
}
.social .social-link.instagram img {
  width: 3.4375rem;
  height: 3.4375rem;
}
.social .social-link.website img {
  width: 4.0625rem;
  height: 4.0625rem;
}
@media (max-width: 48rem) {
  .social .social-links {
    gap: 3.75rem;
  }
}
@media (max-width: 30rem) {
  .social .social-links {
    gap: 2.5rem;
  }
  .social .circle {
    width: 5rem;
    height: 5rem;
  }
  .social .facebook img {
    width: 2.5rem;
    height: 2.5rem;
  }
  .social .instagram img,
  .social .website img {
    width: 3.5rem;
    height: 3.5rem;
  }
}

.winners {
  position: relative;
  padding: 5rem 0;
  overflow: hidden;
}
.winners .winners-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.winners .winners-bg .winners-bg-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.winners .winners-title {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #f6b446;
  font-weight: 700;
  margin-bottom: 2.5rem;
}
.winners .name-container {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
  text-align: center;
  min-height: 16.25rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 1.25rem;
}
.winners .name-bg {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.winners .name-bg img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.winners .winner-name {
  font-size: 1.25rem;
  text-transform: uppercase;
  color: #f6b446;
  font-weight: 700;
  margin: 0;
  position: relative;
  bottom: 0;
}
@media (max-width: 48rem) {
  .winners .name-container {
    min-height: 12.5rem;
  }
  .winners .winner-name {
    font-size: 1.25rem;
  }
}

.form-section {
  background: #f6b446;
  padding: 5rem 0;
  /* H3 z tłem */
  /* Label */
  /* Pole (linia dolna) */
  /* Hinty */
  /* Diplom container */
  /* Upload */
  /* H4 sekcji modułów */
  /* Textarea modułów z numerem po lewej */
  /* Zgody + przycisk */
  /* dostępność */
}
.form-section .form-title {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #000;
  font-weight: 700;
  margin: 0 0 1.5rem;
}
.form-section .form-heading {
  font-size: 1.5rem;
  text-transform: uppercase;
  color: #f6b446;
  font-weight: 700;
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  background: url("../../images/h3formbg.png") center/contain no-repeat;
  text-align: left;
}
.form-section .form-label {
  display: block;
  width: 100%;
  font-size: 1.125rem;
  color: #000000;
  font-weight: 700;
  margin-bottom: 0; /* odstęp label -> pole */
}
.form-section .label-yellow {
  color: #f6b446;
}
.form-section .form-control.line {
  width: 100%;
  background: transparent;
  border: 0;
  border-bottom: 0.1875rem solid #000;
  border-radius: 0;
  color: #000;
  font-size: 1.125rem;
  font-weight: 700;
  padding: 0.5rem 0;
  outline: none;
}
.form-section .form-control.line::placeholder {
  color: transparent;
}
.form-section .form-control.line:focus {
  box-shadow: none;
}
.form-section .line-yellow {
  border-bottom-color: #f6b446 !important;
  color: #f6b446 !important;
}
.form-section .form-hint {
  display: block;
  width: 100%;
  margin-top: 0.75rem; /* odstęp pole -> hint */
  font-size: 0.75rem;
  color: #000000;
  font-weight: 400;
}
.form-section .hint-yellow {
  color: #f6b446;
}
.form-section .spacer-60 {
  height: 1.875rem;
}
.form-section .diplom-container {
  background: url("../../images/diplom-bg.png") center/cover no-repeat;
  display: flex;
  align-items: center;
  padding: 5.625rem 5.625rem 3.125rem;
  min-height: 20.9375rem;
}
.form-section .stamps-input {
  width: 100%;
  height: 5.625rem;
  border: 0.125rem solid #f6b446;
  background: transparent;
  color: #000;
  font-size: 2.8125rem;
  font-weight: 700;
  text-align: center;
  border-radius: 0;
  outline: none;
  color: #f6b446;
  /* usuń spinners w number (WebKit) */
  /* Firefox */
  -moz-appearance: textfield;
}
.form-section .stamps-input::-webkit-outer-spin-button, .form-section .stamps-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.form-section .upload-btn {
  width: 100%;
  height: auto;
  background: #fff;
  color: #000;
  border: 0;
  border-radius: 0;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  flex-wrap: wrap;
  justify-content: center;
}
.form-section .upload-btn img {
  height: 2.5rem;
  width: auto;
}
.form-section .upload-btn p {
  width: 100%;
  text-align: center;
  margin-bottom: 0;
}
.form-section .upload-caption {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  color: #000000;
  font-weight: 700;
  text-align: center;
}
.form-section .modules-info {
  margin: 1.5rem 0;
  padding: 0.875rem 1rem;
  background: url("../../images/h4formbg.png") center/contain no-repeat;
  font-size: 1.125rem;
  color: #f6b446;
  font-weight: 700;
  text-align: left;
}
.form-section .img-container {
  height: 100%;
  width: 100%;
}
.form-section .ship-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.form-section .ship-details-container {
  background: url("../../images/shipdetails.png") center/cover no-repeat;
  padding: 3.125rem;
  border-radius: 0.75rem;
}
.form-section .module-field {
  position: relative;
  padding-left: 3rem; /* miejsce na numerek */
  margin: 1.5rem 0;
}
.form-section .module-field::before {
  content: attr(data-step);
  position: absolute;
  left: 0.625rem;
  top: 5.6px;
  width: 3rem;
  height: 3rem;
  top: calc(50% - 1.125rem); /* wyśrodkowanie pionowe */
  background: #000;
  color: #f6b446;
  border: 0.1875rem solid #f6b446;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 1.25rem;
  font-weight: 700;
  transform: translateX(-1.875rem); /* przesunięcie 1.875rem w lewo względem pola */
}
.form-section .textarea-yellow {
  width: 100%;
  min-height: 5.625rem;
  border: 0.125rem solid #f6b446;
  border-radius: 0;
  background: transparent;
  color: #f6b446;
  font-size: 1rem;
  font-weight: 600;
  padding: 0.625rem 0.75rem;
  outline: none;
  resize: vertical;
}
.form-section .textarea-yellow::placeholder {
  font-size: 0.75rem;
  color: #a8a298;
  font-weight: 400;
}
.form-section .agree-label {
  display: inline-flex;
  gap: 0.5rem;
  align-items: center;
  font-size: 0.875rem;
  color: #f6b446;
  font-weight: 600;
}
.form-section .agree-label a {
  color: #f6b446;
  text-decoration: underline;
}
.form-section .btn-submit {
  font-size: 0.875rem;
  text-transform: uppercase;
  background: #fff;
  color: #000;
  font-weight: 700;
  padding: 0.625rem 1.875rem;
  border: 0;
  border-radius: 0;
  cursor: pointer;
}
.form-section .sr-only {
  position: absolute !important;
  width: 0.0625rem;
  height: 0.0625rem;
  padding: 0;
  margin: -0.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.banner-arrow {
  margin: 2.5rem auto 0; /* wyśrodkowana */
  animation: arrow-bounce 2.5s ease-in-out infinite;
}

.banner-overlay {
  position: absolute;
  inset: 0;
  overflow: hidden;
  z-index: -1;
}
.banner-overlay img {
  width: 110%; /* lekki zapas, żeby przy przesuwaniu nie było pustych boków */
  height: 110%;
  object-fit: cover;
  display: block;
  transition: transform 0.1s linear; /* płynny ruch */
}

@keyframes arrow-bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(1.5625rem); /* ruch w dół o 1.5625rem */
  }
}
@media (max-width: 81.25rem) {
  .about .text-container {
    position: relative;
    padding: 4.1875rem 5.5rem;
  }
}
@media (max-width: 62rem) {
  .about .text-container {
    position: relative;
    padding: 4.1875rem 5.5rem;
  }
  .form-section .modules-info, .form-section .form-heading {
    background-size: cover;
  }
  .about .text-wrapper {
    height: 100%;
  }
}
@media (max-width: 62rem) {
  .prices .prize-card .circle {
    max-width: 60%;
  }
  .rules .rules-swiper .swiper-button-next, .rules .rules-swiper .swiper-button-prev {
    display: none;
  }
  .rules .rules-swiper::after {
    display: none;
  }
  .about .text-container {
    padding: 0.9375rem;
  }
  .about .about-overlay-container {
    background: black;
  }
  .rules {
    padding: 6.25rem 0 3.125rem;
  }
  .navbar {
    background: #00264d;
    z-index: 99;
  }
  header .navbar .social-link {
    justify-content: center;
    gap: 1.875rem;
  }
}
@media (resolution: 120dpi), (min-resolution: 1.25dppx) {
  html {
    zoom: 0.8; /* ~ -20%, wyrównuje skalowanie */
  }
}

/*# sourceMappingURL=index.css.map */
