

/* ==========================================================================
   Fonts
   ========================================================================== */

/* Block Berthold */
@font-face {
  font-family: "Block Berthold";
  src:
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block-Berthold.woff2") format("woff2"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block-Berthold.woff") format("woff"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block Berthold.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Block Berthold Condensed */
@font-face {
  font-family: "Block Berthold Condensed";
  src:
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block-Berthold-Condensed-Regular.woff2") format("woff2"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block-Berthold-Condensed-Regular.woff") format("woff"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/Block-Berthold-Condensed-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Frutiger LT Std Bold Condensed */
@font-face {
  font-family: "Frutiger LT Std";
  src:
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/FrutigerLTStd-BoldCn.woff2") format("woff2"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/FrutigerLTStd-BoldCn.woff") format("woff"),
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/fonts/FrutigerLTStd-BoldCn.otf") format("opentype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}


/* ==========================================================================
   Variables
   ========================================================================== */

:root {
  --max-w: 1600px;
  --wrapper-max-w: 1800px;

  --Frutiger: "Frutiger LT Std", Arial, Helvetica, sans-serif;
  --Block: "Block Berthold", Arial, Helvetica, sans-serif;
  --Block-cond: "Block Berthold Condensed", Arial, Helvetica, sans-serif;

  --btn-gradient:
    linear-gradient(268deg,
      #f7a60e 11.82%,
      #fed431 51.64%,
      #f7ac15 93.09%);

  --blue-gradient:
    linear-gradient(180deg,
      #1a85d2 78.85%,
      #002a5a 100%);

  --header-gradient:
    linear-gradient(180deg,
      rgba(85, 188, 255, 0.96) 0%,
      rgba(45, 151, 229, 0.62) 48%,
      rgba(26, 133, 210, 0) 100%);

  --dark-blue: #000d62;
  --flipz-blue: #00a0dd;
  --yellow: #fed103;
  --grey: #6f6f6f;
  --white: #fff;
}


/* ==========================================================================
   Base
   ========================================================================== */

html {
  min-height: 100%;
}

body {
  position: relative;
  min-height: 100vh;
  margin: 0;
  color: var(--white);
  background: var(--flipz-blue);
  font-family: var(--Frutiger);
  font-size: 18px;
  font-weight: 700;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

img {
  max-width: 100%;
}

a,
a:hover,
a:focus {
  color: inherit;
}

.block-cond,
.btn,
h1,
h2,
h3,
h4,
h5,
.main-title,
.lg-title,
.xl-title,
.prize-title {
  font-family: var(--Block-cond);
  font-weight: 400;
  line-height: normal;
}

.blockFt {
  font-family: var(--Block);
}

.frutiger,
.main-text,
.body-text,
.short-terms,
.form-text {
  font-family: var(--Frutiger);
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.text-primary {
  color: var(--dark-blue) !important;
}


/* ==========================================================================
   Main page structure
   ========================================================================== */


/* ---- Mobile-first base (< 768px) ---- */
.header-logo {
  position: absolute;
  top: -20px;
  left: 50%;
  z-index: 100;
  display: block;
  width: 95px;
  height: auto;
  margin: 0;
  transform: translateX(-50%);
}

.wrapper {
  position: relative;
  width: 100%;
  max-width: var(--wrapper-max-w);
  margin: 50px auto 0;
  overflow: hidden;
  background-color: #087ac8;
  background-image:
    url("https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/media/flipzBg.avif"),
    var(--blue-gradient);
  background-repeat: no-repeat, no-repeat;
  background-position: center bottom, center top;
  background-size: 1100px auto, 100% 100%;
  background-size: cover,100%;

  border-top: 7px solid var(--yellow);
  border-bottom: 7px solid var(--yellow);

  box-shadow:
    0 20px 70px rgba(0, 0, 0, 0.35),
    0 6px 20px rgba(0, 0, 0, 0.2);
}


.site-header,
main,
.site-footer {
  position: relative;
  z-index: 5;
}


/* ==========================================================================
   Header
   ========================================================================== */

.site-header {
  position: relative;
  min-height: 225px;
  padding-top: 20px;
  overflow: hidden;
}


.header-bg {
  position: absolute;
  z-index: 1;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}



.header-bg__gradient {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  /* height: 260px; */
  height: 170px;
  background: var(--header-gradient);
  pointer-events: none;
}

.header-bg__grid {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: block;
  width: auto;
  max-width: 1800px;
  height: 79px;
  transform: translateX(-50%);
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.site-header>.container {
  position: relative;
  z-index: 10;
  width: 100%;
  max-width: var(--max-w);
  min-height: 190px;
  margin-inline: auto;
  padding-inline: 16px;
  text-align: center;
}

/*
  Key visual banner.
*/

.header-banner {
  position: relative;
  z-index: 10;
  display: block;
  width: min(100%, 380px);
  height: auto;
  margin: 0 auto;
  padding-top: 42px;
}


/* ==========================================================================
   Main
   ========================================================================== */

main {
  position: relative;
  z-index: 10;
  min-height: 500px;
}

main>.container {
  position: relative;
  z-index: 10;
}


.wrapper .container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: 16px;
}


.site-footer {
  position: relative;
  z-index: 10;
  /* padding-bottom: 30px; */

}


.footer-track {
  position: relative;
  width: 100%;
  height: 79px;
  overflow: hidden;
  line-height: 0;
  pointer-events: none;
  user-select: none;
}

.footer-track__grid {
  position: relative;
  left: 50%;
  display: block;
  width: auto;
  max-width: none;
  height: 79px;
  transform: translateX(-50%) scaleY(-1);
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* ==========================================================================
   Typography
   ========================================================================== */

.xl-title {
  font-size: 38px;
  line-height: 36px;
  text-transform: uppercase;
}

.lg-title {
  font-size: 34px;
  text-transform: uppercase;
}

.main-text {
  font-size: 20px;
}

.body-text {
  font-size: 19px;
  letter-spacing: 0.38px;
}

.small-text {
  font-size: 14px;
  letter-spacing: 0.38px;
}

.prize-title {
  color: var(--dark-blue);
  text-transform: uppercase;
}

.win-title {
  font-size: 48px;
  letter-spacing: 1.38px;
}

  .win-sm {
    font-size: 30px;
    letter-spacing: 0.6px;
  }

  .win-md {
    font-size: 37px;
    letter-spacing: 0.18px;
  }

  .win-lg {
    font-size: 38px;
    letter-spacing: 0.19px;
  }



.form-text {
  color: var(--grey);
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.32px;
}

.short-terms {
  font-size: 11px;
  line-height: 15px;
  letter-spacing: 0.22px;
}


/* ==========================================================================
   Buttons
   ========================================================================== */

.btn.btn-warning {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 54px;
  color: #1b0b49;
  background: var(--btn-gradient);
  border: 4px solid var(--white);
  border-radius: 20px;
  font-size: 31px;
  letter-spacing: 0.74px;
  filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.25));
  transition:
    filter 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

.btn.btn-warning:hover,
.btn.btn-warning:focus,
.btn.btn-warning:active,
.btn.btn-warning:focus-visible,
.btn.btn-warning:first-child:active,
:not(.btn-check)+.btn.btn-warning:active {
  color: #1b0b49;
  border-color: var(--white);
  outline: none;
  filter:
    brightness(1.1) drop-shadow(0 4px 14px rgba(0, 0, 0, 0.25));
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.btn.btn-primary {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  background: var(--dark-blue);
  border: 0;
  border-radius: 200px;
  font-size: 18px;
  letter-spacing: 0.36px;
  transition:
    filter 0.2s ease,
    box-shadow 0.2s ease;
}

.btn.btn-primary:hover,
.btn.btn-primary:focus,
.btn.btn-primary:active,
.btn.btn-primary:focus-visible,
.btn.btn-primary:first-child:active,
:not(.btn-check)+.btn.btn-primary:active {
  background: var(--dark-blue);
  border: 0;
  outline: none;
  filter: brightness(1.15);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.row.row-buttons.mt-2.g-3.mb-4 {
  max-width: 800px;
  margin-inline: auto;
}


/* ==========================================================================
   Form
   ========================================================================== */

.form-control,
.form-select {
  height: 40px;
  color: var(--grey);
  background-color: var(--white);
  border: 0;
  border-radius: 8px;
}

.form-control:focus,
.form-select:focus {
  color: var(--grey);
  background-color: var(--white);
  border-color: transparent;
  box-shadow: 0 0 0 0.2rem rgba(254, 209, 3, 0.35);
}

.form-floating>.form-control,
.form-floating>.form-control-plaintext,
.form-floating>.form-select {
  height: 40px !important;
  min-height: 40px !important;
  padding-bottom: 5px !important;
  color: var(--grey);
  font-weight: 700;
  line-height: 1.25;
}

.form-floating>.form-select {
  padding-top: 14px !important;
  color: var(--grey);;
}

.form-floating>.form-control-plaintext:focus,
.form-floating>.form-control-plaintext:not(:placeholder-shown),
.form-floating>.form-control:focus,
.form-floating>.form-control:not(:placeholder-shown) {
  padding-top: 1.25rem;
  font-weight: 700;
}

.form-floating>label {
  top: -5px;
}

.form-check {
  min-height: 26px;
}

.form-check-input {
  width: 22px;
  height: 22px;
  border-radius: 0.25em !important;
  cursor: pointer;
}

.form-check .form-check-input {
  margin-top: 4px;
  margin-left: -24px;
}

.form-check-label {
  padding-top: 8px !important;
  padding-left: 8px;
  color: var(--white);
  font-size: 14px;
  cursor: pointer;
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
  color: inherit;
}

.invalid-feedback {
  color: #fcc728;
}

.form-check-input.is-invalid~.form-check-label,
.was-validated .form-check-input:invalid~.form-check-label {
  color: #fcc728;
}

.form-check-input.is-valid~.form-check-label,
.was-validated .form-check-input:valid~.form-check-label {
  color: white;
}

.form-check-input.is-valid,
.was-validated .form-check-input:valid {
  border-color: #0d6efd;
}

.form-check-input.is-valid:checked,
.was-validated .form-check-input:valid:checked {
  background-color: #0d6efd;
}


/* Windows select fixes */

.is-windows .form-select:focus option {
  color: var(--grey);
}

.is-windows .form-select:focus option:checked {
  color: var(--grey);
}


/* ==========================================================================
   Cards
   ========================================================================== */

.win-card {
  overflow: hidden;
  background: var(--btn-gradient);
  border: 4px solid var(--white);
  border-radius: 10px;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.35);
  padding: 7px 0;
}

.prize-card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 205px;
  padding: 20px;
  overflow: hidden;
  background: var(--btn-gradient);
  border: 4px solid var(--white);
  border-radius: 2.5rem;
  box-shadow: 0 6px 8px rgba(0, 0, 0, 0.35);
}

.prize-card img {
  display: block;
  height: 100%;
  max-height: 205px;
  width: auto;
}
.prize-card--banner {
  padding: 0;
  min-height: 205px;
}

.prize-card--banner .gag-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}


.pretzel-decor {
  display: none;
  pointer-events: none;
}


  .sparkle {
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
    width: 100%;
    max-width: 1600px;
    aspect-ratio: 216 / 133;
    overflow: hidden;
    pointer-events: none;
    background: url(https://umb-4553t5.s3.eu-west-1.amazonaws.com/8893/media/sparkles.avif) center top / cover no-repeat;
  }

.result .sparkle {
  display: block;
}

/* ==========================================================================
   Footer
   ========================================================================== */

.site-footer {
  position: relative;
  z-index: 10;
}


/* ==========================================================================
   Modal
   ========================================================================== */

.modal-content {
  color: var(--white);
  background: var(--blue-gradient);
}


/* ==========================================================================
   Desktop — single breakpoint, min-width: 768px
   ========================================================================== */

@media (min-width: 768px) {


  .header-logo {
    top: -28px;
    width: 130px;
  }

  .wrapper {
    width: calc(100% - 32px);
    margin-top: 60px;
    border-top-width: 10px;
    border-bottom-width: 10px;
    background-size: 1800px auto, 100% 100%;
    background-size: cover,100%;
  }

  .site-header {
    min-height: 345px;
    padding-top: 30px;
  }

  .header-bg__gradient {
    height: 300px;
  }


    .header-bg__grid {
      position: absolute;
      top: 0;
      left: 50%;
      z-index: 2;
      display: block;
      width: 100%;
      max-width: 1800px;
      height: auto;
      transform: translateX(-50%);
      pointer-events: none;
      user-select: none;
      -webkit-user-drag: none;
    }

  .site-header>.container {
    min-height: 300px;
    padding-inline: 24px;
  }

  .header-banner {
    width: min(58%, 520px);
    padding-top: 78px;
  }

  .wrapper .container {
    max-width: 1200px;
    padding-inline: 24px;
  }

  .xl-title {
    font-size: 52px;
    line-height: 45px;
  }

  .lg-title {
    font-size: 42px;
  }

    .win-sm {
      font-size: 30px;
      letter-spacing: 0.6px;
    }

    .win-md {
      font-size: 54px;
      letter-spacing: 1.18px;
    }

    .win-lg {
    font-size: 59px;
    letter-spacing: 1.18px;
    }

  .win-title {
    font-size: 74px;
    letter-spacing: 1.48px;
  }



  .btn.btn-warning {
    height: 56px;
    font-size: 37px;
  }

  .form-check-label {
    font-size: 15px;
  }

    .footer-track {
      height: auto;
    }
  
    .footer-track__grid {
      position: relative;
      left: 50%;
      width: 100%;
      max-width: 1800px;
      height: auto;
      transform: translateX(-50%) scaleY(-1);
    }

    .prize-card {
      border-radius: 9rem;
    }

    .index .pretzel-decor {
      position: absolute;
      inset: 0;
      z-index: 6;
      display: block;
      overflow: hidden;
    }

    .pretzel-decor__img {
      position: absolute;
      top: 110px;
      width: 160px;
      height: 100%;
      object-fit: contain;
      object-position: top center;
      user-select: none;
      -webkit-user-drag: none;
    }

    .pretzel-decor__img--left {
      left: 0;
    }

    .pretzel-decor__img--right {
      right: 0;
      transform: scaleX(-1);
    }
  
}
@media (min-width: 1100px) {
    .pretzel-decor__img {
        position: absolute;
        top: 150px;
        width: 265px;
        height: 100%;
        object-fit: contain;
        object-position: top center;
        user-select: none;
        -webkit-user-drag: none;
    }

 }


 @media (min-width: 1280px) {
   .pretzel-decor__img {
     position: absolute;
     top: 150px;
     width: 310px;
     height: 100%;
     object-fit: cover;
     object-position: top center;
     user-select: none;
     -webkit-user-drag: none;
   }

 }


