@font-face {
    font-family: 'Font Awesome 6 Free';
    src: url("vendors/fontawesome/webfonts/fa-solid-900.woff2") format('woff2');
    font-weight: 400;
    font-style: normal;
}


:root {--scrollPosition:0}
html {
  scroll-behavior: smooth;
}
body {
   /*background: linear-gradient(-45deg, #00001e, #2b0039, #182a3e,#00001e);*/
   background: linear-gradient(-45deg, #00001e, #2b0039, #182a3e,#00001e);
    background-size: 400% 2700%;
    animation: gradient 15s ease infinite;
    height: 100%;
    font-family: 'Montserrat', sans-serif;
    font-size:14px;
}
@media(min-width:992px){
    body {
        font-size:16px;
    }
    .accordion-item {
        padding:24px;
    }
}
a {transition:all 0.2s ease-in;}
.metaslider,
.metaslider img {
    max-height:360px;
}
.page-loader {
    background: #00001e;
    position: fixed;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 9999;
    opacity: 1;
}

.page-loader-inner {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 0;
    padding: 20px;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
}


@keyframes gradient {
    0% {
        background-position: 0% 50%;
    }
    50% {
        background-position: 100% 50%;
    }
    100% {
        background-position: 0% 50%;
    }
}
.jury-big img, .jury-small img, .jury-modal img {
    border-radius: 50%;
    transition:all 0.2s ease-in;
}
.jury-big:hover>img, .jury-small:hover>img{
    transform:scale(1.1);
}
.jury-big, .jury-small  {
    cursor:pointer;
}
.accordion-button::active {border:none;outline:none!important;}
.accordion-button::after {
  
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%233a86ff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e"); 
}
/*.spotlight{position:fixed;z-index:900;width:100vw;height:100vh;background-image:url(spotlight.png);background-size:cover;background-repeat:no-repeat;background-position:50%;opacity:.2;pointer-events: none;}*/
.spotlight{display:none;}
   
    button.animated {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
    height: 50px;
    border-radius: 50px;
    border: 0;
    outline: 0;
    font-size: 18px;
    color: #fff;
    background: #984A4A;
    background: -webkit-linear-gradient(right, #984A4A, #A441FE);
    background: -moz-linear-gradient(right, #984A4A, #A441FE);
    background: linear-gradient(to left, #984A4A, #A441FE);
}

button.animated svg {
  margin: 0 0 0 10px;
}

button.animated:hover svg {
  margin: 0 0 0 25px;
  transition: 0.3s;
}

button.animated:not(:hover) svg {
  transition: 0.3s;
}

button.animated:active {
  transform: scale(0.9, 0.9);
  transition: 200ms;
}

button.animated:not(:active) {
  transition: 200ms;
}

button.highlighted {
 text-decoration: none;
 position: relative;
 border: none;
 font-size: 0.9em;
 font-family: inherit;
 color: #00001e;
 font-weight:700;
 height: 2.5em;
 line-height: 2em;
 text-align: center;
 background: linear-gradient(90deg,#03a9f4,#f441a5,#fff,#03a9f4);
 background-size: 300%;
 border-radius: 30px;
 z-index: 1;
 padding-left:40px;
 padding-right:40px;
}
@media(min-width:992px){
    button.highlighted {
        
        font-size: 1.1em;
         height: 2.5em;
         line-height: 2em;
    }
}



button.highlighted:hover {
 animation: ani 8s linear infinite;
 border: none;
}

@keyframes ani {
 0% {
  background-position: 0%;
 }

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

button.highlighted:before {
 content: '';
 position: absolute;
 top: -5px;
 left: -5px;
 right: -5px;
 bottom: -5px;
 z-index: -1;
 background: linear-gradient(90deg,#03a9f4,#f441a5,#fff,#03a9f4);
 background-size: 400%;
 border-radius: 35px;
 transition: 1s;
}

button.highlighted:hover::before {
 filter: blur(20px);
}

button.highlighted:active {
 background: linear-gradient(32deg,#03a9f4,#f441a5,#fff,#03a9f4);
}
h2 span{  
    font-family: 'Quicksand', sans-serif;
    font-size: 2rem;
  font-weight: bold;
background: #F60EFF;
background: -webkit-linear-gradient(right, #76f4e7 0%, #3374c5 50%, #ca7cfe 100%);
background: -moz-linear-gradient(right, #76f4e7 0%, #3374c5 50%, #ca7cfe 100%);
background: linear-gradient(to right, #76f4e7 0%, #3374c5 50%, #ca7cfe 100%);
-webkit-background-clip: text;
background-clip: text;
-webkit-text-fill-color: transparent;
}
@media(min-width:992px){
    h2 span{  
        font-size: 5rem;
      
    }
}

h3 {
    font-family: 'Quicksand', sans-serif;
}

.lh-6 {
    line-height: 2rem!important;
}


.bg1 {
    background:url('img/1.png') no-repeat center top;
    background-size:contain;
}
.bg2 {
    background:url('img/2.png') no-repeat center top;
    background-size:contain;
}
.bg3 {
    background:url('img/3.png') no-repeat center top;
    background-size:contain;
}
.bg4 {
    background:url('img/4.png') no-repeat center top;
    background-size:contain;
}
.bg5 {
    background:url('img/5.png') no-repeat center top;
    background-size:contain;
}

.quand-inner {
    background:url('img/2024.png') no-repeat center top;
    background-size:contain;
}
.hide {
    opacity:0;
}

#clock,h1 {color:#fff;}
header {
    opacity:1;
    transition:opacity 0.2s ease-in;
    background-color:#1a1a35;
    height:13vh;
    min-height:60px;
}
section {
    padding-top:13vh;
    position:relative;
    color:#fff;
}
section#intro {
    padding-top:0;
}
@media(min-width:992px){
    
    .h-lg-100 {
        height:100%;
    }
    header {
        height:10vh;
        min-height:96px;
    }
    section {
        padding-top:10vh;
       /* min-height:90vh;*/
    }
    section#intro {
        padding-top:0;
        min-height:100vh;
    }
}
header .menu {
    list-style:none;
}
header .menu a {
    font-size:0.9rem;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    transition:all 0.2 ease-in;
}
header .menu-mobile a:hover {
    
color:#03a9f4;
text-decoration:none;
}
header .menu.menu-animated a:hover {
    
background: #F60EFF;
background: -webkit-linear-gradient(32deg,#03a9f4,#f441a5,#fff,#03a9f4);
background: -moz-linear-gradient(32deg,#03a9f4,#f441a5,#fff,#03a9f4);
background: linear-gradient(32deg,#03a9f4,#f441a5,#fff,#03a9f4);
background-clip: text;
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
  background-size: 200% auto;
  animation: shine 4s linear infinite;
}@keyframes shine {
    to {
      background-position: 200% center;
    }
  }
.menu-lang li+li,.menu-lang-top li+li {
    border-left:1px solid #fff;
}
.menu-lang li a:hover,
.menu-lang-top a:hover {
    color:#03a9f4;
    text-decoration:none;
}

.menu-lang-top {
    list-style:none;
    
}


.menu-lang-top a {
    list-style:none;
    font-size:0.9rem;
    color:#fff;
    text-decoration:none;
    text-transform:uppercase;
    transition:all 0.2 ease-in;
    
}


#scrollUp{
    bottom:-10px;
    right:30px;
    width:50px;
    height:50px;
    padding:10px 5px;
    font-size:0.9rem;
    text-align:center;
    text-decoration:none;
    text-shadow:0 1px 0 #000;
    color:#fff;
    -webkit-box-shadow:0 0px 2px 1px rgba(0,0,0,0.2);
    -moz-box-shadow:0 0px 2px 1px rgba(0,0,0,0.2);
    box-shadow:0 0px 2px 1px rgba(0,0,0,0.2);
    /*background-color:#E6E6E6;
    background-image:-moz-linear-gradient(top,#984A4A, #A441FE);
    background-image:-webkit-gradient(linear, 0 0, 0 100%, from(#984A4A), to(#A441FE));
    background-image:-webkit-linear-gradient(top, #984A4A, #A441FE);
    background-image:-o-linear-gradient(top, #984A4A, #A441FE);
    background-image:linear-gradient(to bottom, #984A4A,#A441FE);
    background-repeat:repeat-x;*/
background: #1a1a35;
    -webkit-transition:bottom 150ms linear;
    -moz-transition:bottom 150ms linear;
    transition:bottom 150ms linear;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;}
  #scrollUp:hover{bottom:0px}

@keyframes move {
    100% {
        transform: translate3d(0, 0, 1px) rotate(360deg);
    }
}

.background span.bubble {
    display:none;
}
@media(min-width:992px){
    .background span.bubble {
        display:block;
        width: 40vmin;
        height: 40vmin;
        border-radius: 40vmin;
        backface-visibility: hidden;
        position: absolute;
        animation: move;
        animation-duration: 45;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
        z-index:-1;
        opacity:0.25;
    }
    .background span.bubble:nth-child(3) {
        color: #afc4ff;
        top: 25%;
        left:75%;
        animation-duration: 23s;
        animation-delay: -14s;
        transform-origin: -2vw 18vh;
        /*box-shadow: -80vmin 0 5.220972189673049vmin currentColor;*/
       box-shadow: -80vmin 0 20vmin currentColor;
    }
    .background span.bubble:nth-child(1) {
        color: #2bc0e2;
        top: 50%;
        left: 49%;
        animation-duration: 27s;
        animation-delay: -23s;
        transform-origin: 2vw 21vh;
        /*box-shadow: -80vmin 0 5.004991294717309vmin currentColor;*/
       box-shadow: -80vmin 0 20vmin currentColor;
    }
    .background span.bubble:nth-child(2) {
        color: #f114fe;
        top: 75%;
        left: 12%;
        animation-duration: 16s;
        animation-delay: -36s;
        transform-origin: -5vw 7vh;
        /*box-shadow: -80vmin 0 5.076312110253535vmin currentColor;*/
       box-shadow: -80vmin 0 20vmin currentColor;
    }
}
    
    
    
.menu {
  background-color: transparent;
  border: none;
  display: flex;
  padding: 0;
}
.menu li {
    
  cursor: pointer;
}
.line {
  fill: none;
  stroke: white;
  stroke-width: 6;
  transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
    stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}
.line1 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}
.line2 {
  stroke-dasharray: 60 60;
  stroke-width: 6;
}
.line3 {
  stroke-dasharray: 60 207;
  stroke-width: 6;
}
.opened .line1 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}
.opened .line2 {
  stroke-dasharray: 1 60;
  stroke-dashoffset: -30;
  stroke-width: 6;
}
.opened .line3 {
  stroke-dasharray: 90 207;
  stroke-dashoffset: -134;
  stroke-width: 6;
}
.next-arrow {
    text-align:center;
    height:60px;
}

@keyframes upanddown {
    0% {
        margin-top:32px;
    }
    50% {
        margin-top:27px;
    }
    100% {
        margin-top:32px;
    }
}


.next-arrow a{
    animation: upanddown 1s ease-in infinite;
    display:inline-block;
    width:20px;
    height:20px;
    border:2px solid #fff;
    border-top:none;
    border-left:none;
    transform:rotate(45deg);
}
.purpletext {
    color:#76f4e7;
}
a.purpletext:hover {
    color:#fff;
}
.greytext {
    color:#8a89a0;
}
.bluetext {
    color:#8b6cf0;
}
.bluebox { 
    background:rgba(137, 118, 255,0.15);
}
.accordion-button {
 
  color: #fff;
  background-color:transparent;
  border: 0;
  border-radius: 0;
    border-top-left-radius: 0px;
    border-top-right-radius: 0px;
}
.accordion-button:not(.collapsed) {
  color: #fff;
  background-color: transparent;
}
.socials a{
    color:#1a1a35;
    transition:all 0.2s ease-in;
}
.socials a.twitter:hover{
    color:#00ACEE;
}
.socials a.instagram:hover{
    color:#C13584;
}
.socials a.linkedin:hover{
    color:#0E76A8;
}
footer {
    color:#fff;
}
@media(min-width:992px){
    .footer-border  {
        border-left:1px solid #fff;
    }
}

#faq a {
    
    color:#fff;
    text-decoration:underline;
    transition:all 0.2s ease-in;
}
#faq a:hover {
    color:#eb30fd;
    text-decoration:underline;
    
}
footer small {
    
    font-size:0.8em;
}
.menu-footer {
    list-style:none;
    margin:0;
    padding:0;
}
.menu-footer a {
    font-size:0.9em;
    color:#fff;
    text-decoration:none;
    transition:all 0.2s ease-in;
}
.menu-footer a:hover {
    color:#eb30fd;
    text-decoration:none;
}
button.btn-message {
    
  font-family: inherit;
  background: #1b184b;
  color: #fff;
  padding: 0.7em 1em;
  padding-right: 0.9em;
  display: flex;
  align-items: center;
  border: none;
  border-radius: 25px;
  overflow: hidden;
  transition: all 0.2s;
}

button.btn-message span {
    font-size:0.9em;
  display: block;
  margin-right: 0.3em;
  transition: all 0.3s ease-in-out;
}

button.btn-message i {
  display: block;
  transform-origin: center center;
  transition: transform 0.3s ease-in-out;
}

button:hover .i-wrapper {
  animation: fly-1 0.6s ease-in-out infinite alternate;
}

button:hover i {
  transform: translateX(-5em) rotate(45deg) scale(2);
}

button:hover span {
  transform: translateX(-25em);
}

button:active {
  transform: scale(0.95);
}
.histoslider,
.histoslider button:active {
    transform: none!important;
  }
@keyframes fly-1 {
  from {
    transform: translateY(0.1em);
  }

  to {
    transform: translateY(-0.1em);
  }
}
.offcanvas-bottom {
    height:87vh;
    border-top:none;
}
.offcanvas {
    color:#fff;
    background:rgba(20, 18, 65,0.8);
}

.offcanvas {
    color:#fff;
    background:rgba(20, 18, 65,0.8);
}

.modal-header {
  
  border: none;
  border-radius: 0;
}
.modal-content {
  
  background-color: #8568e7;
  background-clip: padding-box;
  border: none;
  border-radius: 0;
  outline: 0;
}
.textpink {
    color:#f70fff;
}
.textwhite {
    color:#fff;
}
a.textwhite:hover {
    color:#eb30fd;
}
.jury-modal {
    color:#000;
}
sub,sup {font-size:1rem;top: -.7em;}
.slick-dots li button::before {
  font-family: slick;
  font-size: 6px;
  line-height: 20px;
  position: absolute;
  top: 0;
  left: 0;
  width: 20px;
  height: 20px;
  content: '•';
  text-align: center;
  opacity: .25;
  color: #fff;
}
.slick-dots li.slick-active button::before {
  opacity: .75;
  color: #f70fff;
}
#reglemodal2 .modal-content,
#reglemodal2 .modal-body,
#reglemodal .modal-content,
#reglemodal .modal-body,
.pdf {background-color:#fff!important;}
#reglemodal .modal-body,#reglemodal iframe {min-height:80vh;}

.histoslider .slick-slide {
    transition: all 0.3s ease-in-out;
    opacity:0.1;
    height:auto;
    
}
.histoslider .slick-slide.slick-active {
    opacity:0.4;
    
}
.histoslider .slick-slide.slick-active.slick-current {
    opacity:1;
    
}

.slick-prev:before,
.slick-next:before,
.cslick-next:before
{
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;
}

.slick-prev:before
{
    font-family: 'Font Awesome 6 Free';
    content: '\f053';
    font-size:2rem;
}

.cslick-next:before,
.slick-next:before
{
    font-family: 'Font Awesome 6 Free';
    content: '\f054';
    font-size:2rem;
}
.slick-next, .slick-prev {
    
    top: 50%;
    -webkit-transform: translate(0,-50%);
    -ms-transform: translate(0,-50%);
    transform: translate(0,-50%);
   
  }
  .neon {
    font-family: 'Quicksand', sans-serif;
    font-size:4rem!important;
    -webkit-text-stroke: 2px #fff;
    text-stroke: 2px #fff;
    color:transparent;
    text-shadow:
      0 0 5px #05ffff,
      0 0 10px #05ffff,
      0 0 20px #00ffff,
      0 0 40px #00ffff,
      0 0 80px #00ffff,
      0 0 90px #00ffff,
      0 0 100px #00ffff,
      0 0 150px #00ffff;
      -webkit-animation: blink 0.01s infinite alternate;
      -moz-animation: blink 0.01s infinite alternate;
      -o-animation: blink 0.01s infinite alternate;
      animation: blink 0.01s infinite alternate;
  }
  @-moz-keyframes blink {
    70% {
      opacity: 0.9;
    }
  }
  @-webkit-keyframes blink {
    45% {
      opacity: 0.7;
    }
  }
  @-o-keyframes blink {
    70% {
      opacity: 0.9;
    }
  }
  @keyframes blink {
    70% {
      opacity: 0.9;
    }
  }