*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: #055d18;
  color: #fef5e8;
  font-size: 16px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.4;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.page-content {
  background: linear-gradient(to bottom, #0c9e30 0%, #055d18 100%);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: #fef5e8;
  text-decoration: none;
}
a:hover {
  color: #fadba2;
}

ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.navbar {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
  height: 80px;
  background-color: #c5181b;
  display: flex;
  align-items: center;
  padding: 0 32px;
  gap: 24px;
}
@media (max-width: 768px) {
  .navbar {
    padding: 0 16px;
  }
}
.navbar .navbar-brand img {
  height: 44px;
  width: auto;
}
.navbar .navbar-nav {
  display: flex;
  gap: 28px;
  margin-left: auto;
  align-items: center;
}
@media (max-width: 768px) {
  .navbar .navbar-nav {
    gap: 16px;
  }
}
.navbar .navbar-nav .nav-link {
  color: #fef5e8;
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.navbar .navbar-nav .nav-link:hover {
  color: #fadba2;
}

.hero {
  text-align: center;
  padding: 64px 24px 32px;
}
@media (max-width: 768px) {
  .hero {
    padding: 16px 0 24px;
  }
}
.hero .hero-title-img {
  width: 100%;
  max-width: 1064px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  .hero .hero-title-img {
    max-width: none;
  }
}
.hero .hero-lead {
  margin: 21px auto 0;
  max-width: 1064px;
  font-size: 36px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.54;
}
@media (max-width: 768px) {
  .hero .hero-lead {
    margin-top: 24px;
    font-size: 28px;
    max-width: 345px;
    line-height: 1.43;
  }
}
.hero .hero-lead strong {
  font-weight: 700;
}
.hero .hero-sub {
  margin: 48px auto 0;
  max-width: 1064px;
  font-size: 32px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .hero .hero-sub {
    margin-top: 24px;
    font-size: 24px;
    max-width: 345px;
    line-height: 1.67;
  }
}
.hero .hero-sub strong {
  color: #fae04f;
  font-weight: 700;
}

.cta-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0;
  max-width: 1064px;
  margin: 40px auto;
}
@media (max-width: 768px) {
  .cta-row {
    gap: 0;
    max-width: 360px;
    margin-top: 57px;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .cta-row .cta .cta-text-fb {
    padding: 0;
  }
  .cta-row .cta .cta-text-fb img {
    width: auto;
    height: auto;
  }
  .cta-row .cta .cta-text-tt {
    padding: 0 0 0 140px;
    margin-top: -6px;
  }
  .cta-row .cta .cta-text-tt img {
    width: auto;
    height: auto;
  }
  .cta-row .cta .cta-arrow-fb img,
  .cta-row .cta .cta-arrow-tt img {
    width: auto;
    height: auto;
  }
  .cta-row .cta .cta-arrow-fb {
    top: 117px;
    right: auto;
    left: 20px;
  }
  .cta-row .cta .cta-arrow-tt {
    top: 50px;
    left: auto;
    right: -6px;
  }
  .cta-row .cta .cta-icon img {
    width: 64px;
    height: 64px;
  }
  .cta-row .cta .cta-icon-fb {
    top: 215px;
    right: auto;
    left: 100px;
  }
  .cta-row .cta .cta-icon-tt {
    top: 112px;
    left: auto;
    right: 81px;
  }
}
.cta-row .cta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
}
.cta-row .cta-text img, .cta-row .cta-arrow img {
  height: auto;
  width: auto;
}
.cta-row .cta-text-fb {
  padding: 26px 52px;
}
.cta-row .cta-text-fb img {
  width: 311px;
  height: 160px;
}
.cta-row .cta-text-tt {
  padding: 7px 53px;
}
.cta-row .cta-text-tt img {
  width: 255px;
  height: 150px;
}
.cta-row .cta-arrow-fb {
  position: absolute;
  top: 156px;
  right: 33px;
}
.cta-row .cta-arrow-fb img {
  width: 172px;
  height: 114px;
}
.cta-row .cta-arrow-tt {
  position: absolute;
  top: 141px;
  left: -20px;
}
.cta-row .cta-arrow-tt img {
  width: 167px;
  height: 124px;
}
.cta-row .cta-icon-fb {
  position: absolute;
  top: 207px;
  right: -87px;
}
.cta-row .cta-icon-tt {
  position: absolute;
  top: 207px;
  left: -145px;
}
.cta-row .cta-icon {
  display: inline-block;
  line-height: 0;
  transition: transform 0.2s ease;
}
.cta-row .cta-icon img {
  width: 80px;
  height: 80px;
  display: block;
}
.cta-row .cta-icon:hover {
  transform: scale(1.05);
}

@media (min-width: 769px) and (max-width: 1114px) {
  .hero .hero-lead {
    margin: 1.8850987433vw auto 0;
    max-width: 95.5116696589vw;
    font-size: 3.2315978456vw;
  }
  .hero .hero-sub {
    margin: 4.3087971275vw auto 0;
    max-width: 95.5116696589vw;
    font-size: 2.8725314183vw;
  }
  .cta-row {
    max-width: 95.5116696589vw;
    margin: 3.5906642729vw auto;
  }
  .cta-row .cta {
    gap: 1.4362657092vw;
  }
  .cta-row .cta-text-fb {
    padding: 2.3339317774vw 4.6678635548vw;
  }
  .cta-row .cta-text-fb img {
    width: 27.9174147217vw;
    height: 14.3626570916vw;
  }
  .cta-row .cta-text-tt {
    padding: 0.6283662478vw 4.7576301616vw;
  }
  .cta-row .cta-text-tt img {
    width: 22.8904847397vw;
    height: 13.4649910233vw;
  }
  .cta-row .cta-arrow-fb {
    top: 14.0035906643vw;
    right: 2.9622980251vw;
  }
  .cta-row .cta-arrow-fb img {
    width: 15.4398563734vw;
    height: 10.2333931777vw;
  }
  .cta-row .cta-arrow-tt {
    top: 12.6570915619vw;
    left: -1.7953321364vw;
  }
  .cta-row .cta-arrow-tt img {
    width: 14.9910233393vw;
    height: 11.131059246vw;
  }
  .cta-row .cta-icon img {
    width: 7.1813285458vw;
    height: 7.1813285458vw;
  }
  .cta-row .cta-icon-fb {
    top: 18.5816876122vw;
    right: -7.8096947935vw;
  }
  .cta-row .cta-icon-tt {
    top: 18.5816876122vw;
    left: -13.0161579892vw;
  }
}
.prizes {
  text-align: center;
  padding: 24px 16px 48px;
}
.prizes .prizes-stage {
  position: relative;
  max-width: 1400px;
  margin: 0 auto;
  aspect-ratio: 1400/938;
}
@media (max-width: 768px) {
  .prizes .prizes-stage {
    aspect-ratio: auto;
  }
}
.prizes .prizes-slider {
  display: contents;
}
@media (max-width: 768px) {
  .prizes .prizes-slider {
    display: block;
    margin-top: 48px;
    padding-left: 20px;
  }
}
.prizes .prizes-blob {
  position: absolute;
  inset: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 0;
}
@media (max-width: 768px) {
  .prizes .prizes-blob {
    display: none;
  }
}
.prizes .prize {
  position: absolute;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
  gap: 6px;
}
@media (max-width: 768px) {
  .prizes .prize {
    position: static;
  }
}
.prizes .prize .prize-img {
  width: auto;
  height: auto;
}
.prizes .prize .prize-text {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  line-height: 1;
  text-align: right;
}
.prizes .prize .prize-count {
  display: inline-flex;
  align-items: baseline;
  color: #fae04f;
  font-family: "PP Neue Montreal", system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}
.prizes .prize .prize-count .num {
  font-size: 64px;
  line-height: 1;
}
.prizes .prize .prize-count .x {
  font-size: 56px;
  line-height: 1;
  margin-left: 4px;
}
.prizes .prize.prize-pilkarzyki .prize-count .num {
  font-size: 96px;
}
.prizes .prize.prize-pilkarzyki .prize-count .x {
  font-size: 80px;
  margin-left: 6px;
}
.prizes .prize .prize-label {
  margin-top: 1px;
  font-size: 20px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 700;
  color: #fef5e8;
  letter-spacing: 0.01em;
  text-align: right;
}
@media (max-width: 768px) {
  .prizes .prize .prize-count .num {
    font-size: 44px;
  }
  .prizes .prize .prize-count .x {
    font-size: 38px;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .num {
    font-size: 64px;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .x {
    font-size: 52px;
  }
  .prizes .prize .prize-label {
    font-size: 16px;
  }
}
.prizes .prize-pilkarzyki {
  left: 427px;
  top: 208px;
}
.prizes .prize-pilkarzyki .prize-img {
  width: 400px;
  height: 333px;
}
.prizes .prize-pilkarzyki .prize-text {
  position: absolute;
  top: 31%;
  left: -30%;
}
.prizes .prize-pilka {
  left: 537px;
  top: 553px;
}
.prizes .prize-pilka .prize-img {
  width: 200px;
  height: 236px;
}
.prizes .prize-pilka .prize-text {
  position: absolute;
  top: 23%;
  left: -67%;
}
.prizes .prize-giftbox {
  right: 292px;
  top: 375px;
}
.prizes .prize-giftbox .prize-img {
  width: 230px;
  height: 269px;
}
.prizes .prize-giftbox .prize-text {
  position: absolute;
  left: -70%;
  top: 32.2%;
}
.prizes .sosso {
  position: absolute;
  z-index: 1;
  width: auto;
}
@media (max-width: 768px) {
  .prizes .sosso {
    display: none;
  }
}
.prizes .sosso-left {
  right: 9px;
  top: 95px;
  width: 320px;
  height: 480px;
}
.prizes .sosso-mid {
  left: 8px;
  top: 28px;
  transform: rotate(0deg);
  width: 295px;
  height: 474px;
}
.prizes .prize-arrow {
  position: absolute;
  z-index: 1;
}
@media (max-width: 768px) {
  .prizes .prize-arrow {
    display: none;
  }
}
.prizes .prize-arrow-pilkarzyki {
  left: 210px;
  top: 62px;
  width: 311px;
  height: 147px;
}
.prizes .prize-arrow-giftbox {
  right: 273px;
  top: 177px;
  width: 258px;
  height: 242px;
}
.prizes .prize-arrow-pilka {
  left: 376px;
  top: 773px;
  width: 297px;
  height: 149px;
}
.prizes .sosso-right {
  left: 130px;
  top: 477px;
  width: 304px;
  height: 476px;
}
.prizes .prizes-sponsor {
  margin-top: 18px;
  font-size: 11px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  color: rgba(254, 245, 232, 0.55);
}
.prizes .prizes-dates {
  margin-top: 40px;
  font-size: 32px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 700;
  color: #fae04f;
  letter-spacing: 0.01em;
}
@media (max-width: 768px) {
  .prizes .prizes-dates {
    font-size: 22px;
  }
}

@media (max-width: 768px) {
  .prizes {
    padding: 24px 0 48px;
  }
  .prizes .prizes-stage {
    max-width: 100%;
    padding: 0;
  }
  .prizes .prize {
    position: static;
    inset: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    padding: 29px 10px 16px;
  }
  .prizes .prize .prize-img {
    width: auto;
    height: 240px;
    max-width: none;
    object-fit: contain;
  }
  .prizes .prize .prize-text {
    position: static;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    align-items: center;
    text-align: center;
  }
  .prizes .prize .prize-label {
    margin-top: 6px;
    text-align: center;
    font-size: 18px;
  }
  .prizes .prize .prize-count .num {
    font-size: 56px;
  }
  .prizes .prize .prize-count .x {
    font-size: 48px;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .num {
    font-size: 56px;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .x {
    font-size: 56px;
  }
  .prizes .prize.prize-pilka .prize-count .num {
    font-size: 56px;
  }
  .prizes .owl-carousel .owl-stage-outer {
    padding-top: 100px;
  }
  .prizes .owl-nav {
    position: absolute;
    top: 12px;
    left: 0;
    right: 0;
    display: flex;
    justify-content: space-between;
    padding: 0 36px;
    pointer-events: none;
    z-index: 4;
  }
  .prizes .owl-nav button.owl-prev,
  .prizes .owl-nav button.owl-next,
  .prizes .owl-nav button.owl-prev:hover,
  .prizes .owl-nav button.owl-next:hover {
    pointer-events: auto;
    width: 40px;
    height: 40px;
    padding: 0;
    border: none;
    border-radius: 0;
    background: url("img/owl_nav_button.svg") no-repeat center/contain;
    color: transparent;
    font-size: 0;
    line-height: 0;
  }
  .prizes .owl-nav button.owl-prev.disabled,
  .prizes .owl-nav button.owl-next.disabled {
    opacity: 0.4;
  }
  .prizes .owl-nav button.owl-prev span,
  .prizes .owl-nav button.owl-next span {
    display: none;
  }
  .prizes .owl-nav button.owl-next {
    transform: scaleX(-1);
  }
}
@media (min-width: 769px) and (max-width: 1440px) {
  .prizes .prizes-stage {
    max-width: 97.2222222222vw;
  }
  .prizes .sosso-mid {
    left: 0.5555555556vw;
    top: 1.9444444444vw;
    width: 20.4861111111vw;
    height: 32.9166666667vw;
  }
  .prizes .sosso-left {
    right: 0.625vw;
    top: 6.5972222222vw;
    width: 22.2222222222vw;
    height: 33.3333333333vw;
  }
  .prizes .sosso-right {
    left: 9.0277777778vw;
    top: 33.125vw;
    width: 21.1111111111vw;
    height: 33.0555555556vw;
  }
  .prizes .prize-pilkarzyki {
    left: 29.6527777778vw;
    top: 14.4444444444vw;
  }
  .prizes .prize-giftbox {
    right: 20.2777777778vw;
    top: 26.0416666667vw;
  }
  .prizes .prize-pilka {
    left: 37.2916666667vw;
    top: 38.4027777778vw;
  }
  .prizes .prize-arrow-pilkarzyki {
    left: 14.5833333333vw;
    top: 4.3055555556vw;
    width: 21.5972222222vw;
    height: 10.2083333333vw;
  }
  .prizes .prize-arrow-giftbox {
    right: 18.9583333333vw;
    top: 12.2916666667vw;
    width: 17.9166666667vw;
    height: 16.8055555556vw;
  }
  .prizes .prize-arrow-pilka {
    left: 26.1111111111vw;
    top: 53.6805555556vw;
    width: 20.625vw;
    height: 10.3472222222vw;
  }
  .prizes .prize-pilkarzyki .prize-img {
    width: 27.7777777778vw;
    height: 23.125vw;
  }
  .prizes .prize-pilka .prize-img {
    width: 13.8888888889vw;
    height: 16.3888888889vw;
  }
  .prizes .prize-giftbox .prize-img {
    width: 15.9722222222vw;
    height: 18.6805555556vw;
  }
  .prizes .prize {
    gap: 0.4166666667vw;
  }
  .prizes .prize .prize-count .num {
    font-size: 4.4444444444vw;
  }
  .prizes .prize .prize-count .x {
    font-size: 3.8888888889vw;
    margin-left: 0.2777777778vw;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .num {
    font-size: 6.6666666667vw;
  }
  .prizes .prize.prize-pilkarzyki .prize-count .x {
    font-size: 5.5555555556vw;
    margin-left: 0.4166666667vw;
  }
  .prizes .prize .prize-label {
    margin-top: 0.0694444444vw;
    font-size: 1.3888888889vw;
  }
}
.regulamin-row {
  display: flex;
  gap: 84px;
  justify-content: center;
  padding: 10px 16px 0;
}
@media (max-width: 768px) {
  .regulamin-row {
    flex-direction: column;
    gap: 12px;
    align-items: center;
  }
}
.regulamin-row a {
  color: #ffffff;
  font-size: 24px;
  font-family: "PP Neue Montreal", system-ui, -apple-system, sans-serif;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-decoration: underline;
}
@media (max-width: 768px) {
  .regulamin-row a {
    font-size: 18px;
  }
}
.regulamin-row a:hover {
  color: #fadba2;
}

.logos {
  background: url("img/logomania_mosso_desktop.svg") no-repeat center top;
  background-size: 1920px;
  height: 347px;
}
@media (min-width: 1920px) {
  .logos {
    background-size: 100%;
  }
}
@media (max-width: 768px) {
  .logos {
    height: 220px;
    background-size: 1200px;
  }
}
.logos .greenWave {
  width: 100%;
  display: block;
  margin: 0 auto;
}
