/* global styles */
@font-face {
  font-family: OpenSans-Regular;
  src: url("../assets/fonts/OpenSans-Regular.ttf");
}

@font-face {
  font-family: OpenSans-Bold;
  src: url("../assets/fonts/OpenSans-Bold.ttf");
}

/* PREVENT STICKY BUTTONS ON TOUCH DEVICES */
@media (pointer: coarse) {
  [data-color-link-primary]:hover,
  [data-color-link-secondary]:hover,
  [data-menu]:hover,
  [data-button]:hover,
  [data-color-social-primary]:hover,
  [data-color-social-secondary]:hover {
    opacity: 1;
  }
}

[data-email] {
  position: relative;
  min-height: 100vh;
  background-color: black;
  flex-direction: row !important;
  align-items: center;
  justify-content: center;
}

h1,
h2,
h4,
h5,
h6,
p,
span {
  word-break: break-word;
}

html,
body {
  box-sizing: border-box;
  overflow-x: hidden;
  color: var(--olive-green);
  position: relative;
  font-family: OpenSans-Regular, sans-serif;
}

h1,
h2,
h4,
h5,
h6 {
  font-weight: bold;
}

.content {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  width: 100%;
  padding-top: 20px;
  justify-content: space-between;
}

.col-12 {
  padding: 0;
}

/* this was necessary so the graphics on the bottom side are visible on all resolutions */
div[data-background] {
  background-position: bottom !important;
}

/* positioning classes for date number */
.num-pos-1 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
}

.num-pos-2 {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.num-pos-3 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
}

.num-pos-4 {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.num-pos-5 {
  display: flex;
  align-items: center;
  justify-content: center;
}

.num-pos-6 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.num-pos-7 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
}

.num-pos-8 {
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.num-pos-9 {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
}

/* end of positioning classes for date number */
a {
  text-decoration: none;
  font-weight: bold;
}

:root {
  --olive-green: #434f29;
  --silver: #e6e6e6;
  --white: #fff;
}

.flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
}

.header {
  display: flex;
  flex-flow: column nowrap;
  z-index: 6;
}

.footer {
  z-index: 6;
  padding: 0 10px;
  margin: 10px 0;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

}

.logo-container {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 0 0 30px;
  margin: 0 auto;
}

.logo-container img {
  max-width: 150px;
  max-height: 70px;
  object-fit: contain;
}

#game-view .gm-text {
  max-width: 70%;
}

.gm-text {
  margin: 0 auto 20px;
  padding: 0 10px;
}

.header-text {
  text-align: center;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
}

.prize-img {
  border-radius: 0.3rem;
  overflow: hidden;
}

/* styles for cards */
.prize-box {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.prize-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: 2;

}

.prize-text,
.img-row {
  margin: 0 !important;
}

.prize-wrap img {
  height: 97%;
  width: 98%;
  z-index: 12;
  object-fit: contain;
  padding: 10px;
  background: rgb(56 159 60);
}

.tile {
  width: 100%;
  height: 100%;
  z-index: 4;
  position: relative;
  background-size: cover !important;
  background-repeat: no-repeat !important;
}

.tile-inner {
  width: 100%;
  height: 100%;
  z-index: 5;
  position: relative;
}

.date {
  color: var(--silver);
  font-weight: bold;
  line-height: 100%;
  margin: 0;
  z-index: 6;
  position: relative;
  cursor: default;
  font-size: 24px;
}

/* end of styles for cards */


.calendar-wrap {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  margin-bottom: 3%;
}


.grid-parent {
  display: grid;
  grid-template-columns: repeat(9, 120px);
  grid-template-rows: repeat(7, 120px) 1fr;
  grid-gap: 0;


}

.grid-parent>div {
  margin: 5px;
  display: flex !important;
}

.div1 {
  grid-area: 1 / 1 / 2 / 3;
}

.div2 {
  grid-area: 1 / 3 / 2 / 4;
}

.div3 {
  grid-area: 1 / 4 / 2 / 6;
}

.div4 {
  grid-area: 1 / 6 / 2 / 7;
}

.div5 {
  grid-area: 1 / 7 / 3 / 8;
}

.div6 {
  grid-area: 1 / 8 / 2 / 9;
}

.div7 {
  grid-area: 1 / 9 / 2 / 10;
}

.div8 {
  grid-area: 2 / 1 / 3 / 2;
}

.div9 {
  grid-area: 2 / 2 / 4 / 3;
}

.div10 {
  grid-area: 2 / 3 / 3 / 5;
}

.div11 {
  grid-area: 2 / 5 / 3 / 6;
}

.div12 {
  grid-area: 2 / 6 / 3 / 7;
}

.div13 {
  grid-area: 2 / 8 / 3 / 9;
}

.div14 {
  grid-area: 2 / 9 / 3 / 10;
}

.div15 {
  grid-area: 3 / 1 / 5 / 2;
}

.div16 {
  grid-area: 4 / 2 / 5 / 3;
}

.div17 {
  grid-area: 5 / 1 / 6 / 2;
}

.div18 {
  grid-area: 6 / 1 / 7 / 2;
}

.div19 {
  grid-area: 7 / 1 / 8 / 2;
}

.div20 {
  grid-area: 5 / 2 / 8 / 3;
}

.div21 {
  grid-area: 3 / 3 / 4 / 4;
}

.div22 {
  grid-area: 4 / 3 / 6 / 4;
}

.div23 {
  grid-area: 6 / 3 / 7 / 4;
}

.div24 {
  grid-area: 7 / 3 / 8 / 5;
}

.div25 {
  grid-area: 6 / 4 / 7 / 5;
}

.div26 {
  grid-area: 3 / 4 / 6 / 7;
}

.div27 {
  grid-area: 3 / 7 / 4 / 8;
}

.div28 {
  grid-area: 4 / 7 / 5 / 8;
}

.div29 {
  grid-area: 5 / 7 / 6 / 9;
}

.div30 {
  grid-area: 3 / 8 / 5 / 9;
}

.div31 {
  grid-area: 3 / 9 / 4 / 10;
}

.div32 {
  grid-area: 4 / 9 / 6 / 10;
}

.div33 {
  grid-area: 6 / 5 / 7 / 6;
}

.div34 {
  grid-area: 7 / 5 / 8 / 6;
}

.div35 {
  grid-area: 7 / 6 / 8 / 7;
}

.div36 {
  grid-area: 7 / 7 / 8 / 8;
}

.div37 {
  grid-area: 7 / 8 / 8 / 9;
}

.div38 {
  grid-area: 7 / 9 / 8 / 10;
}

.div39 {
  grid-area: 6 / 6 / 7 / 8;
}

.div40 {
  grid-area: 6 / 8 / 7 / 9;
}

.div41 {
  grid-area: 6 / 9 / 7 / 10;
}

/* REGISTER PAGE */

.btn {
  width: 100%;
  max-width: 250px;
  padding: 10px;
}


.prize-text {
  display: flex;
  flex-direction: column;
  align-items: center;

}

.register__prize {
  justify-content: space-between;
  display: flex;
  width: 74%;
  margin: 20px auto;
  align-items: center;
}

.register__prize .header-text {
  gap: 10px;
  text-align: left;
  flex: 0 0 48%;
  margin: 0;
}

.register__prize .gm-text {
  padding: 0;
  margin: 0;
}

.submit-container {
  margin-bottom: 30px;
}

.button-col {
  display: flex;
  justify-content: center;
}

form * {
  background: transparent;
  border: 0;
  outline: 0;
}

form {
  display: flex;
  flex-flow: column wrap;
  width: 75%;
  height: auto;
  align-items: center;
}

.form-wrap {
  margin-bottom: 30px;
}

form input,
form select {
  width: 100%;
  text-align: center;
}

.form-group {
  margin: 0 auto 10px;
  padding: 0;
  flex: 0 0 47%;
}

input {
  background-color: transparent !important;
}



.custom-control-input~.custom-control-label::before {
  background-color: transparent !important;
  border-radius: 0 !important;
  border: var(--olive-green) 1px solid;
}

.custom-checkbox .custom-control-input:checked~[data-color-primary-text-checkbox]::after {
  background-color: var(--olive-green);
  background-size: 50% 50%;
  background-image: none !important;
  position: absolute;
  transform: scale(0.6);
}

.custom-checkbox .custom-control-input:disabled~[data-color-primary-text-checkbox]::after {
  pointer-events: none;
}

.checkbox-row {
  margin: 0 auto 20px 0;
}

.custom-checkbox .custom-control-label::before,
.custom-checkbox .custom-control-label::after {
  top: calc(50% - 7px);
}

.custom-checkbox .custom-control-label * {
  vertical-align: middle;
}



/* title salutation hack */
.span-select {
  width: 100%;
  height: 48px;
  background-color: transparent;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  text-align: center;
  vertical-align: bottom;
  border-radius: 0.3rem;
}

#div-select>select {
  width: 100%;
}

#div-select {
  position: relative;
  border: none;
}

select {
  opacity: 0;
  vertical-align: bottom;
}

/* end of register page */

/* outcome page */

#outcome .gm-text {
  text-align: center;
}

#outcome .item-3 {
  margin-bottom: 30px !important;
}

.outcome-grid {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 75%;
}

/* social icons */

.social__wrap {
  position: relative;
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 30px auto;
  padding: 0;
}

[data-social] {
  width: 40px;
  height: 40px;
  aspect-ratio: 1 / 1;
  border: none;
  border-radius: 6px;
  overflow: hidden;
  margin: 10px 5px 0;
  transition: transform .3s ease-out, opacity .5s ease-in;
}

[data-social]:hover {
  transform: translateY(-10px);
  opacity: .6;
}

[data-social]>a {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0;
  text-decoration: none;
}

a>svg {
    max-width: 50%;
    max-height: 50%;
    width: 50%;
    height: auto;
    object-fit: contain;
    margin: auto;
}

/* cta buttons */
.cta-buttons {
  width: 100%;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  margin: 10px auto;
}

.cta {
  display: none;
  width: 100%;
  min-height: 45px;
  max-width: 250px;
  padding: 10px;
  margin: 10px;
}

/* end of outcome page */

/* register */

.element-1 {
  flex-direction: column;
  align-items: center;
}

.element-1 img {
  width: 220px;
  height: 220px;
  border-radius: 0.3rem;
  object-fit: cover;
}



/* Animation */
.tile-animation {
  animation: tile-animation 0.5s linear forwards;
}

/* keyframes */
@keyframes tile-animation {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(90deg);
    display: none;
  }
}

@keyframes tile-animation {
  0% {
    transform: rotateY(0deg);
  }

  100% {
    transform: rotateY(90deg);
    display: none;
  }
}

/* end of Animation */

/* Media quarries */


/* keyframes */
@keyframes prize-animation {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes prize-animation {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@media only screen and (max-width: 1150px) {
  .grid-parent {
    grid-template-columns: repeat(9, 110px);
    grid-template-rows: repeat(7, 110px) 1fr;
  }
}

@media only screen and (max-width: 1023px) {
  .grid-parent {
    grid-template-columns: repeat(3, 150px);
    grid-template-rows: repeat(21, 150px) 1fr;
  }

  .div5 {
    grid-area: 8 / 1 / 10 / 2;
  }

  .div26 {
    grid-area: 12 / 1 / 15 / 4;
  }

  .div3 {
    grid-area: 15 / 1 / 15 / 3;
  }

  .div6 {
    grid-area: 15 / 3 / 15 / 3;
  }

  .div10 {
    grid-area: 16 / 1 / 16 / 3;
  }

  .div11 {
    grid-area: 16 / 3 / 16 / 3;
  }

  .div4 {
    grid-area: 2 / 3 / 2 / 3;
  }

  .div24 {
    grid-area: 17 / 1 / 17 / 3;
  }

  .div25 {
    grid-area: 17 / 3 / 17 / 3;
  }


  .div12 {
    grid-area: 7 / 3 / 7 / 3;
  }

  .div32 {
    grid-area: 18 / 3 / 20 / 3;
  }


  .div30 {
    grid-area: 18 / 2 / 20 / 2;
  }

  .div35 {
    grid-area: 18 / 1 / 18 / 1;
  }

  .div33 {
    grid-area: 19 / 1 / 19 / 1;
  }


  .div7 {
    grid-area: 20 / 1 / 20 / 1;
  }

  .div31 {
    grid-area: 9 / 2 / 9 / 2;
  }

  .div13 {
    grid-area: 9 / 3 / 9 / 3;
  }

  .div29 {
    grid-area: 10/1/10/3;
  }

  .div14 {
    grid-area: 10/3/10/3;
  }

  .div36 {
    grid-area: 20/2/20/2;
  }

  .div41 {
    grid-area: 11/1/11/1;
  }

  .div38 {
    grid-area: 11/2/11/2;
  }

  .div28 {
    grid-area: 11/3/11/3;
  }

  .div34 {
    grid-area: 21/2/21/2;
  }

  .div27 {
    grid-area: 21/3/21/3;
  }

  .div39 {
    grid-area: 8 / 2 / 9 / 4;
  }

  .div37 {
    grid-area: 20 / 3 / 20 / 3;
  }

  .div40 {
    grid-area: 21 / 1 / 21 / 1;
  }

  .register__prize {
    flex-direction: column;
    align-items: center;
  }

  .register__prize .header-text {
    text-align: center;
    margin: 20px 0;
  }

  .form-wrap {
    margin-left: 0;
    margin-right: 0;
  }

  .form-group {
    flex: 0 0 100%;

  }
}

@media only screen and (max-width: 550px) {
  .prize-wrap {
    top: 0;
    z-index: 1;
    height: 100%;
    height: fill-available;
  }



  .tile {
    background-size: 100% !important;
    height: fill-available;
  }

  .big {
    background-size: 104% !important;
  }

  form {
    width: 90%;
  }

  .grid-parent {
    grid-template-columns: repeat(3, 120px);
    grid-template-rows: repeat(21, 110px);
    grid-column-gap: 0;

  }

  .grid-parent>div {
    padding: 5px;
    margin: 0;
  }
}


@media only screen and (max-width: 410px) {
  #c-cube-33 {
    background-size: 115% !important;
  }

  .grid-parent {
    grid-template-columns: repeat(3, 100px);
    grid-template-rows: repeat(21, 100px);
  }
}

@media only screen and (max-width: 370px) {
  #c-cube-33 {
    background-size: 117% !important;
  }

  .grid-parent {
    grid-template-columns: repeat(3, 90px);
    grid-template-rows: repeat(21, 90px);
  }
}

@media only screen and (max-width: 300px) {
  #c-cube-33 {
    background-size: 118% !important;
  }

  .grid-parent {
    grid-template-columns: repeat(3, 80px);
    grid-template-rows: repeat(21, 80px);
  }
}