:root{
  --primary-color: #7FEE18;
  --secondary-color: #189CEE;
  --secondary-color-rgb: 24, 156, 238;
  --tertiary-color: #06132F;
  --quaternary-color: #FAC60C;
  --light-color: #FFFFFF;
  --dark-color: #000000;
}

body{
  background-color: var(--dark-color) !important;
}

*{
  font-family: 'Figtree', sans-serif;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

h1{
  font-family: 'Arvo', serif;
  font-weight: 700 !important;
  font-size: 72px !important;
  font-style: italic;
}

h1 span{
  color: var(--primary-color);
  font-family: 'Arvo', serif;
  font-weight: 700 !important;
}

h2{
  font-weight: 900 !important;
  font-size: 40px !important;
  max-width: 600px;
  color: var(--light-color) !important; 
}

h2 span{
  color: var(--primary-color) !important;
}

p{
  font-size: 16px !important;
  color: var(--light-color) !important;
  font-weight: 700 !important;
  font-style: italic;
  margin-bottom: 10px;  
}

@media (max-width: 767px) {
  header {
    position: absolute;
    left: 0;
    right: 0;
  }

  .hero-header {
    padding-top: 115px;
  }
}
 
#hero p{
  font-size: 1.6rem;
  font-weight: 500 !important;
  color: var(--light-color) !important;
  max-width: 800px;
  text-align: center;
  margin: 0 auto;
}

#hero p strong{
  font-style: italic;
  font-weight: 900 !important;
}

#hero{
  background-image: url('../img/bg.webp');
  background-position: center;
  }

.info{ 
  max-width: 340px;
  text-align: center;
  margin-top: 10px;
  font-style: italic
}

.hero-image {
  margin-top: 50px;
}

@media (max-width: 1400px) {
  .hero-image {
    padding-bottom: 85px;
  }
}

@media (max-width: 1200px) {
  .hero-image {
    transform: scale(1.2) !important;
  }
}

@media (max-width: 992px) {
  .hero-header{
    margin-bottom: 45px;
  }

  .hero-image {
    transform: scale(1.5) !important;
  }

  .hero-porsche {
    transform: scale(0.9) !important;
    padding-top: 25px;
  }
}

@media (max-width: 767px) {
  .hero-porsche {
    padding-top: 30px;
  }
}

@media (max-width: 600px) {
  .hero-image {
    padding-top: 20px;
    padding-right: 12px;
  }

  .hero-porsche {
    padding-top: 50px;
  }
}

@media (max-width: 460px) {
  .hero-image {
    padding-bottom: 100px;
  }

  .hero-porsche {
    padding-top: 50px;
    padding-right: 30px;
  }
}

@media (max-width: 354px) {
  .hero-image {
    padding-bottom: 125px;
  }

  .hero-porsche {
    padding-top: 16px;
  }
}

@media (max-width: 342px) {
  .hero-image {
    padding-bottom: 160px;
  }

  .hero-porsche {
    padding-top: 2px;
    transform: scale(1.1) !important;
  }
}

@media (max-width: 292px) {
  .hero-image {
    padding-bottom: 172px;
    padding-right: 8px;
    transform: scale(1.57) !important;
  }

  .hero-porsche {
    padding: 0;
    transform: scale(1.1) !important;
  }
}

@media (max-width: 260px) {
  .hero-image {
    padding-bottom: 198px;
    padding-right: 6px;
    transform: scale(1.6) !important;
  }
}

.hero-porsche{
  max-width: 600px;
  margin: 0 auto;
  margin-top: -190px;
  transform: translateX(-30px);
}

.btn-green{
  background-color: var(--primary-color) !important;
  color: var(--dark-color) !important;
  max-width: 340px;
  font-weight: 900 !important;
  font-size: 28px;
  padding: .5rem 2rem !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
  border: none !important;
  box-shadow: 0px 0px 40px 0px #7FEE1866;
}

@media (max-width: 767px) {
  .btn-green {
    font-size: 24px;
  }
}

.btn-green:hover{
  transform: scale(1.05);
  box-shadow: 0px 0px 60px 5px #7FEE1866;
}

.about-card,
.prizes-card {
  padding: 2px;
  margin-top: 25px;
  overflow: hidden !important;
  margin-bottom: 25px;
}

@media (max-width: 767px) {
  .about-card {
    margin-bottom: 0;
  }
}

.about-pre{
  border: 1px solid;
  background: linear-gradient(90deg, var(--primary-color) 0%, rgba(6, 47, 6, 0) 100%) !important;  
  border-radius: 16px !important;
  padding: 2px;
  margin-right: 10px;
}

.rolex-card-inner,
.about-card-inner,
.prizes-card-inner {
  position: relative;
  padding: 20px;
  background: transparent;
  border-radius: 20px;
  overflow: hidden;
  z-index: 0;
  transition: all 0.3s ease;
}

.about-card-inner {
  padding: 10px;
}

@media (max-width: 767px) {
  .about-card-inner {
    margin: 0 .5rem;
  }
}

.rolex-card-inner::before,
.about-card-inner::before,
.prizes-card-inner::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border-radius: 20px;
  padding: 2px;
  background: linear-gradient(180deg,
      var(--secondary-color) 0%,
      rgba(var(--secondary-color-rgb), 0.4) 70%,
      rgba(var(--secondary-color-rgb), 0) 100%);
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  z-index: -1;
  transition: background 0.5s ease;
}

/*Hover animation*/
.rolex-card-inner:hover::before,
.about-card-inner:hover::before,
.prizes-card-inner:hover::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0), rgba(0, 0, 0, 1)),
    /* máscara de cima para baixo */
    linear-gradient(270deg,
      #ff0000,
      #ff9900,
      #33ff00,
      #00ffff,
      #3300ff,
      #ff00cc,
      #ff0000);
  background-size: 100% 100%, 400% 400%;
  background-repeat: no-repeat, no-repeat;
  animation: gradient-flow 5s ease infinite;
}

@keyframes gradient-flow {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/*End Hover animation*/
.about-pre-inner{
  background: var(--dark-color);
  border-radius: 14px !important;
  padding: 8px;
}

.about-pre-inner h3{
  font-size: 24px !important;
  font-weight: 900 !important;
  color: var(--primary-color) !important;
  font-style: italic;
  padding-left: 2px;
}

.about-icon-blur{
  background: radial-gradient(50% 50% at 50% 50%, rgba(57, 163, 229, 0.3) 0%, rgba(24, 156, 238, 0) 100%);
  width: 200px;
  height: 200px;
  position: absolute;
  border-radius: 50%; 
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  margin-bottom: 20px;
  transform: translatey(260px)
}

.trophy{
  background: radial-gradient(50% 50% at 50% 50%, rgba(127, 238, 24, 0.2) 0%, rgba(127, 238, 24, 0) 100%);
}

@media (max-width: 767px) {
  .trophy{
    transform: scale(1.9);
  }
}

.prizes-card-inner{
  padding: 20px;  
}

.prizes-card-image{
  box-shadow: 0px 0px 36px 4px #189CEE66;
}

#prizes h3, #rolex h3{
  font-size: 72px !important;
  font-weight: 900 !important;
  color: var(--light-color) !important;
  font-style: italic; 
  text-align: center;
  margin-top: 30px;
} 

#prizes h4, #rolex h4{
  font-size: 72px !important;
  font-weight: 900 !important;
  color: var(--light-color) !important;
  font-style: italic; 
  text-align: center;
  margin-top: 30px;
}

#prizes h5, #rolex h5{
  font-size: 40px !important;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 900 !important;
  color: var(--primary-color) !important;
  font-style: italic;
  margin-bottom: 10px;
  margin-top: 10px;
}

@media (max-width: 767px) {
  #prizes h3 {
    font-size: 58px !important;
  }

  #prizes h4 {
    font-size: 48px !important;
  }
}

#prizes p, #rolex p{
  font-size: 20px;
  max-width: 800px;
  position: relative;
  margin: 0 auto;
  text-align: center;
  font-weight: 700 !important;
  font-style: italic;
  margin-bottom: 10px;
  margin-top: 10px;
}

#prizes .sub h4{
  font-size: 34px !important
}

#prizes .sub h5{
  font-size: 24px !important
}

#prizes .sub p{
  font-size: 18px !important;
}

#prizes .sub p span{
  font-size: 28px !important;
  color: var(--quaternary-color) !important;
  font-weight: 900 !important;
  font-style: italic;
}

#prizes .sub img{
  border-radius: 8px
}

.image-warning {
  font-size: 12px !important;
  text-align: end !important;
  max-width: 100% !important;
}

#rolex h3{
  font-size: 48px !important;
  font-weight: 900 !important;
  color: var(--primary-color) !important;
  font-style: italic; 
  margin-bottom: 0px !important
}

@media (max-width: 767px) {
  #rolex h3 {
    font-size: 42px !important;
    text-shadow: 
      -1px -1px 0 black,
      1px -1px 0 black,
      -1px  1px 0 black,
      1px  1px 0 black;
  }

  #rolex p {
  text-shadow: 
    -1px -1px 0 black,
    1px -1px 0 black,
    -1px  1px 0 black,
    1px  1px 0 black;
  }
}

.rolex-card{
  margin-top: 25px !important;
  margin-bottom: 25px !important;
}

#rolex h4{
  font-size: 24px !important;
  font-weight: 800 !important;
  margin-top: 0px !important;
  margin-bottom: 15px !important;
}

#rolex p{
  margin-bottom: 0px !important;
}

#rolex p span{
  color: var(--primary-color)
}

#rolex h5{
  font-weight: 600 !important;
  margin-top: 10px !important;
  color: var(--primary-color) !important;
  font-size: 18px !important;
  margin-bottom: 0px !important;
}

.rolex-card-inner{
  padding: 20px;
}

#rolex img{
  border-radius: 16px;
}

#rolex .bottom p{
  max-width: 1000px !important
}

#rolex .bottom-bg{
  background: linear-gradient(90deg, rgba(127, 238, 24, 0) 0%, rgba(127, 238, 24, 0.4) 50%, rgba(127, 238, 24, 0) 100%);
  margin: 20px 0px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 10px;
  border-radius: 36px;
}

#rolex .bottom-bg h4{
  margin-bottom: 0px !important;
  font-size: 36px !important
}

#register p{ 
  font-size: 18px !important;
  max-width: 1000px !important
}

#rolex {
  position: relative;
  background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('../img/bg-rolex.webp');
  background-size: cover !important;
  background-position: center;
  background-repeat: no-repeat !important; 
  padding-bottom: 0px !important;
  z-index: 0;
}

#rolex::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6); 
  z-index: 1;
  pointer-events: none; 
}
#rolex *{
  z-index: 9999
}
#rolex .register{
  max-width: 1000px;
  color: var(--light-color) !important;
}

#rolex .register span{ 
  color: var(--primary-color) !important;
}

#rolex .btn-green{
  font-size: 24px !important
}