*,
::after,
::before {
    box-sizing: border-box
}

@media (prefers-reduced-motion:no-preference) {
    :root {
        scroll-behavior: smooth
    }
}

body {
    margin: 0;
    font-family: "Open Sans", sans-serif;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #323232;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}



.h1,
h1 {
    font-size: calc(1.375rem + 1.5vw)
}

@media (min-width:1200px) {
    .h1,
    h1 {
        font-size: 2.5rem
    }
}

.h2,
h2 {
    font-size: calc(1.325rem + .9vw)
}

@media (min-width:1200px) {
    .h2,
    h2 {
        font-size: 2rem
    }
}

.h3,
h3 {
    font-size: calc(1.3rem + .6vw)
}

@media (min-width:1200px) {
    .h3,
    h3 {
        font-size: 1.75rem
    }
}

.h4,
h4 {
    font-size: calc(1.275rem + .3vw)
}

@media (min-width:1200px) {
    .h4,
    h4 {
        font-size: 1.5rem
    }
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem;
    font-size: 1rem;
    line-height: 1.6rem;
}




b,
strong {
    font-weight: bolder
}

.small,
small {
    font-size: .875em
}

.supersmall {
  font-size: .65rem;
  line-height: 1.5;
}

a {
    color: #0d6efd;
    text-decoration: underline
}

a:hover {
    color: #0a58ca
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
    color: inherit;
    text-decoration: none
}



label {
    display: inline-block
}

button {
    border-radius: 0
}

button:focus:not(:focus-visible) {
    outline: 0
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}


.dropdown,
.dropend,
.dropup {
    position: relative
}

.dropdown-toggle {
    white-space: nowrap
}

.dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-bottom: 0;
    border-left: .3em solid transparent
}

.dropdown-toggle:empty::after {
    margin-left: 0
}

.dropdown-menu {
    position: absolute;
    z-index: 1000;
    display: none;
    min-width: 10rem;
    padding: .5rem 0;
    margin: 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, .15);
    border-radius: .25rem
}

.dropdown-menu[data-bs-popper] {
    top: 100%;
    left: 0;
    margin-top: .125rem
}

.dropdown-menu-start {
    --bs-position: start
}

.dropdown-menu-start[data-bs-popper] {
    right: auto;
    left: 0
}

.dropdown-menu-end {
    --bs-position: end
}

.dropdown-menu-end[data-bs-popper] {
    right: 0;
    left: auto
}



.dropup .dropdown-menu[data-bs-popper] {
    top: auto;
    bottom: 100%;
    margin-top: 0;
    margin-bottom: .125rem
}

.dropup .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: 0;
    border-right: .3em solid transparent;
    border-bottom: .3em solid;
    border-left: .3em solid transparent
}

.dropup .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-menu[data-bs-popper] {
    top: 0;
    right: auto;
    left: 100%;
    margin-top: 0;
    margin-left: .125rem
}

.dropend .dropdown-toggle::after {
    display: inline-block;
    margin-left: .255em;
    vertical-align: .255em;
    content: "";
    border-top: .3em solid transparent;
    border-right: 0;
    border-bottom: .3em solid transparent;
    border-left: .3em solid
}

.dropend .dropdown-toggle:empty::after {
    margin-left: 0
}

.dropend .dropdown-toggle::after {
    vertical-align: 0
}



.dropdown-divider {
    height: 0;
    margin: .5rem 0;
    overflow: hidden;
    border-top: 1px solid rgba(0, 0, 0, .15)
}

.dropdown-item {
    display: block;
    width: 100%;
    padding: .25rem 1rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    text-decoration: none;
    white-space: nowrap;
    background-color: transparent;
    border: 0
}

.dropdown-item:focus,
.dropdown-item:hover {
    color: #1e2125;
    background-color: #e9ecef
}

.dropdown-item.active,
.dropdown-item:active {
    color: #fff;
    text-decoration: none;
    background-color: #0d6efd
}

.dropdown-item.disabled,
.dropdown-item:disabled {
    color: #adb5bd;
    pointer-events: none;
    background-color: transparent
}

.dropdown-menu.show {
    display: block
}

.dropdown-header {
    display: block;
    padding: .5rem 1rem;
    margin-bottom: 0;
    font-size: .875rem;
    color: #6c757d;
    white-space: nowrap
}

.dropdown-item-text {
    display: block;
    padding: .25rem 1rem;
    color: #212529
}

.dropdown-menu-dark {
    color: #dee2e6;
    background-color: #343a40;
    border-color: rgba(0, 0, 0, .15)
}

.dropdown-menu-dark .dropdown-item {
    color: #dee2e6
}

.dropdown-menu-dark .dropdown-item:focus,
.dropdown-menu-dark .dropdown-item:hover {
    color: #fff;
    background-color: rgba(255, 255, 255, .15)
}

.dropdown-menu-dark .dropdown-item.active,
.dropdown-menu-dark .dropdown-item:active {
    color: #fff;
    background-color: #0d6efd
}

.dropdown-menu-dark .dropdown-item.disabled,
.dropdown-menu-dark .dropdown-item:disabled {
    color: #adb5bd
}

.dropdown-menu-dark .dropdown-divider {
    border-color: rgba(0, 0, 0, .15)
}

.dropdown-menu-dark .dropdown-item-text {
    color: #dee2e6
}

.dropdown-menu-dark .dropdown-header {
    color: #adb5bd
}


.nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.nav-link {
    display: block;
    padding: .5rem 1rem;
    color: #0d6efd;
    text-decoration: none;
    transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .nav-link {
        transition: none
    }
}

.nav-link:focus,
.nav-link:hover {
    color: #0a58ca
}

.nav-link.disabled {
    color: #6c757d;
    pointer-events: none;
    cursor: default
}



.navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding-top: .5rem;
    padding-bottom: .5rem
}

.navbar>.container,
.navbar>.container-fluid,
.navbar>.container-lg,
.navbar>.container-md,
.navbar>.container-sm,
.navbar>.container-xl,
.navbar>.container-xxl {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: inherit;
    flex-wrap: inherit;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.navbar-brand {
    padding-top: .3125rem;
    padding-bottom: .3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    text-decoration: none;
    white-space: nowrap
}

.navbar-nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none
}

.navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0
}

.navbar-nav .dropdown-menu {
    position: static
}

.navbar-text {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.navbar-collapse {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-align: center;
    align-items: center
}

.navbar-toggler {
    padding: .25rem .75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: .25rem;
    transition: box-shadow .15s ease-in-out
}

@media (prefers-reduced-motion:reduce) {
    .navbar-toggler {
        transition: none
    }
}

.navbar-toggler:hover {
    text-decoration: none
}

.navbar-toggler:focus {
    text-decoration: none;
    outline: 0;
    box-shadow: 0 0 0 .25rem
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%
}

.navbar-nav-scroll {
    max-height: var(--bs-scroll-height, 75vh);
    overflow-y: auto
}









* {
    outline: 0
}

:focus {
    outline: 0
}

a {
    text-decoration: none;
    transition: all ease .4s
}

a:focus {
    outline: 0;
    outline-offset: 0
}

a:focus,
a:hover {
    text-decoration: none;
    color: #0d6efd
}







.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6,
.display-1,
.display-2,
.display-3,
.display-4,
.display-5,
.display-6,
.subtitle {
    font-weight: 700;
    font-family: 'DM Sans';
    color: #1e1e1e;
}




.display-1 {
    font-size: 6rem;
    font-weight: 700
}

.display-2 {
    font-size: 5.5rem;
    line-height: 5.75rem;
    font-weight: 700
}

.display-3 {
    font-size: 4.5rem;
    line-height: 5rem;
    font-weight: 700
}

.display-4 {
    font-size: 3.5rem;
    font-weight: 700
}

.display-5 {
    font-size: 2.875rem;
    font-weight: 700
}

.display-6 {
    font-size: 2.25rem;
    font-weight: 700
}



header .navbar-brand {
    margin-top: -5px;
    z-index: 999;
}

header .navbar-nav .nav-item {
    padding: 0 15px
}

header .navbar-nav .nav-item>.dropdown-menu {
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%)
}

header .navbar-nav .nav-item .dropdown-menu {
    border: none;
    border-radius: 8px;
    margin-top: 0;
    margin-left: 0;
    min-width: auto;
    width: max-content;
    white-space: nowrap;
}

header .navbar-nav .nav-item .dropdown-menu .dropdown-item {
    font-size: 14px;
    font-family: Montserrat, sans-serif;
    font-weight: 600;
    padding: 8px 30px;
    color: #495057;
    margin: 0
}


header .navbar-nav .nav-item .dropdown-toggle::after {
  display: none !important;
}




header .navbar-nav .nav-item .dropdown-menu .dropdown-item .mt-2 {
    margin-top: .4rem !important
}

header .navbar-nav .nav-item .dropdown-menu .dropdown-item:hover {
    color: #ed6f8a;
    background-color: transparent
}

header .navbar-nav .nav-item .dropdown-menu .dropdown-item:hover svg path {
    fill: #ed6f8a
}

header .navbar-nav .nav-item .dropdown-menu .dropdown-item:focus {
    background-color: transparent
}


header .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: 0;
    padding-left: 0
}

header .nav-link {
    color: #1e1e1e;
    font-family: Montserrat, sans-serif;
    font-weight: 600;
    font-size: 14px;
    transition: color 0.25s;
}

header .nav-link:hover {
    color: #0d6efd;
}



@media screen and (min-width:992px) {

    header .dropdown>.dropdown-menu .dropright:hover .dropdown-menu {
        display: block
    }
    header .navbar-nav li:first-child .dropdown-menu .dropright .dropdown-menu {
        margin-top: -8px
    }

}




@media screen and (max-width:991px) {
    .display-3 {
        font-size: 3.5rem;
        line-height: 4.125rem
    }
    .lh-lg {
        line-height: 1.5 !important
    }
    .h4,
    h4 {
        line-height: 1.75rem
    }
    p {
        line-height: 24px
    }
    .navbar-toggler {
        padding: 0;
        z-index: 999;
    }
    .navbar-toggler:focus {
        box-shadow: none;
        outline: 0
    }

    header .navbar-nav .nav-item {
        padding: 5px 0;
    }

    header .navbar-nav .nav-link,
    header .navbar-nav .nav-item .dropdown-menu .dropdown-item {
        font-size: 1.3rem;
    }

    header .navbar-nav .nav-item .dropdown-menu {
        left: 0;
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }
    header .navbar-nav .nav-item svg {
        float: right;
        margin-top: 7px
    }

    header .navbar-nav~.btn {
        width: 100%
    }

    .navbar-collapse {

        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        z-index: 9;
        height: 0;
        opacity: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        /*background: #f8f9fa;*/
        transition: height 0.2s ease-in, opacity 0.2s ease-in;
}

.navbar-collapse.show {

  height: 100vh;
  opacity: 1;
}


    header .navbar-nav .nav-link {
        padding: 0
    }
    header .navbar-nav .nav-item .dropdown-menu {
        box-shadow: none !important;
        border-radius: 0;
        padding: 6px 0 0;
        background-color: transparent
    }
    header .navbar-nav .nav-item .dropdown-menu .dropdown-item {
        padding: 5px 0;
    }
    .navbar-toggler.collapsed .menu-close {
        display: none
    }
    .navbar-toggler.collapsed .menu-icon {
        display: block;
        z-index: 999;
    }
    .navbar-toggler .menu-icon {
        display: none
    }
    .navbar-toggler .menu-close {
        display: block
    }



}

@media screen and (max-width:767px) {
    .container {
        padding-left: 15px;
        padding-right: 15px
    }
    .h-md-100 {
        height: auto
    }
    .h1 br,
    .h3 br,
    h1 br,
    h3 br {
        display: none
    }
    .h5,
    h5 {
        font-size: 1.2rem
    }
    .fs-32 {
        font-size: 24px !important
    }
    .display-2 {
        font-size: 4.5rem;
        line-height: 5rem
    }
    .display-3 {
      font-size: 2rem;
          line-height: 2.4rem;
    }
    .display-4 {
        font-size: 2.5rem
    }
    p.big {
        font-size: 18px;
        line-height: 28px
    }
    .h3,
    h3 {
        line-height: 1.75rem
    }
    .h2,
    h2 {
        line-height: 2rem
    }

}







.illustration {
  position: absolute;
  z-index: -1;

  top:15%;
}

.illustration img {
  opacity: 0.6;
}


@media screen and (max-width:479px) {

  .illustration {
    position: absolute;
    z-index: -1;
    opacity: 0.6;
    top: auto;
  }

    .btn-xl {
        height: 52px
    }
    .display-2 {
        font-size: 3rem;
        line-height: 3.5rem
    }
    .display-4 {
        font-size: 1.75rem
    }

    .h2 br,
    h2 br {
        display: none
    }


}


.material-symbols-rounded {
  font-variation-settings:
    'FILL' 1,
    'wght' 400,
    'GRAD' 0,
    'opsz' 24;
}



/* Menu Navigation -----------------------------------------------------------*/
img.logo {
  width: 180px;
  height: auto;
  padding: 10px 25px 10px 25px;
}


@media (min-width:1200px) {
    .container {
        max-width: 1140px
    }
}





.mobile-icon {
  display: none;
}

header ul.navbar-nav {
  padding: 0 25px;
}


@media screen and (max-width:991px) {

  #languageDropdown,  #optionsDropdown{
    display: none !important;
  }

  #languageDropdown + .dropdown-menu, #optionsDropdown + .dropdown-menu {
    display: block; /* Assure que les sous-liens de la liste déroulante restent visibles */
  }

  .mobile-icon {
    display: block;
    width: 50px;
    height: auto;
    padding: 10px 0;
  }



  ul#languages, ul#options {
    text-align: center;
  }

  ul#languages li a, ul#options li a {
    color: #1e1e1e !important;
  }


    img.logo {
      width: 120px;
      height: auto;
      padding: 10px 0px;
    }

}



@keyframes bgpulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05); /* Grossit à 110% */
  }
  100% {
    transform: scale(1);
  }
}

.page-bg {
  position: absolute;
  z-index: -1;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  /*animation: bgpulse 25s infinite ease-in-out;*/
}




@media screen and (max-width:767px) {
  .page-bg {

  }
}



@media screen and (min-width:992px) {
  .page-bg {
    width: 50vw;
  }
}

.btn-rounded {
  border-radius: 999px;
  padding:15px 30px;
}



/* Sign in -------------------------------------------------------------------*/

.login .input-wrapper {
  position: relative;
  width: 50%;
  margin: 0 auto;
}


.login input, .login input:focus {
  border: 0;
  border-radius: 0;
  border-bottom : 2px solid grey;
  color: #323232;
  font-size: 18px;
  background: linear-gradient(
    to bottom,
    rgba(248, 249, 250, 0.1) 0%,
    rgba(248, 249, 250, 1) 100%
  );
  font-weight: 600 !important;
  font-family: "Montserrat";
  outline: none !important;
  box-shadow: none;
}

@media screen and (max-width:767px) {
  .login .input-wrapper {
      width: 90%;
  }
}


.login .input-bar::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 100%;
  background-color: #ed6f8a;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
  z-index: 0;
}

/* Quand l'input est focus, on scaleX à 1 */
.login input.styled:focus + .input-bar::after {
  transform: scaleX(1);
}



/* Buttons --------------------------------------------------------------------*/


.btn-pink {
  font-size: 1rem;
  font-weight: 600;
  background: linear-gradient(to right, #d63151, #ef2491);
  background-size: 150% 100%;
  background-position: left center;
  transition: background-position 0.6s ease-out;
  animation: pulse 2s infinite ease-in-out;
}

.btn-pink:hover,
.btn-pink:focus {
  background-position: right center;
  color: #fff;
  transform: scale(1.1);
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1); /* Grossit à 110% */
  }
  100% {
    transform: scale(1);
  }
}





/* Game questions Prev/Next navigation-----------------------------------------*/

.nav-questions {
  position: fixed;
  top: 45%;
  left: 0;
  right: 0;
  transform: translateY(-45%);
  z-index: 1000;
  pointer-events: none;
}


@media screen and (max-width:767px) {
  .nav-questions {
      display: none;
  }


}

.nav-questions .circle-btn {
  position: absolute;
  background-color: #ed6f8a !important;
  color: white;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  pointer-events: auto; /* réactive les clics sur le bouton */
  transition: transform 0.5s ease, background-color 0.3s ease;
}

.nav-questions .circle-btn:hover {
  background-color: #ed6f8a !important;
  color: white !important;
  transform: scale(1.2);
}

.nav-questions .left-btn {
  left: 16px;
}

.nav-questions .right-btn {
  right: 16px;
}





/* Game progress bar ---------------------------------------------------------*/

.completion {
  position: absolute;
  width: 100%;
  height: 12px;
  bottom: 0;
  left: 0;
}

.completion .status{
  position: relative;
  height: 12px;
  background: linear-gradient(to right, #f3ab8b, #f492c7);
}










/* Overlay menu --------------------------------------------------------------*/

@media screen and (max-width:992px) {
  body.theme-light .navbar-collapse {
      background-color: #f8f9fa;
  }

  body.theme-dark .navbar-collapse.collapse {
      background-color: #323232;
  }

  body.theme-red .navbar-collapse {
      background-color: #ad1457;
  }

  body.theme-random .navbar-collapse {
      background-color: #323232;
  }
}


body.theme-light {
  background-color: #f8f9fa;
}

body.theme-light .logo-light {
  display: none;
}


body.theme-dark {
  background-color: #323232;
}

body.theme-dark .logo-dark {
  display: none;
}

body.theme-red {
  background-color: #ad1457;
}

body.theme-red .logo-dark {
  display: none;
}


body.theme-random {
  background-color: #323232;
  transition: background-color 2s ease-in-out;
}


body.theme-random .logo-dark {
  display: none;
}



body.theme-light h1, body.theme-light h2, body.theme-light h3, body.theme-light h4, body.theme-light h5,
.theme-light header .nav-link,
.theme-light .category-name,
.theme-light .color-name,
.theme-light .navbar-toggler,
.theme-light .separator {
  color: #323232;
}

header .nav-link:hover, header .nav-link.show {
  color: #ed6f8a !important;
}



body.theme-dark h1, body.theme-dark h2, body.theme-dark h3, body.theme-dark h4, body.theme-dark h5,
.theme-dark header .nav-link,
.theme-dark .category-name,
.theme-dark .color-name,
.theme-dark .navbar-toggler,
.theme-dark p,
.theme-dark .navbar-collapse.collapse.show ul#languages li a,
.theme-dark .navbar-collapse.collapse.show ul#options li a,
.theme-dark .separator {
  color: #ffffff !important;
}

body.theme-red h1, body.theme-red h2, body.theme-red h3, body.theme-red h4, body.theme-red h5,
.theme-red header .nav-link,
.theme-red .category-name,
.theme-red .color-name,
.theme-red .navbar-toggler,
.theme-red p,
.theme-red .navbar-collapse.collapse.show ul#languages li a, .theme-red .navbar-collapse.collapse.show ul#options li a,
.theme-red .separator {
  color: #ffffff !important;
}

body.theme-random h1, body.theme-random  h2, body.theme-random h3, body.theme-random h4, body.theme-random h5,
.theme-random  header .nav-link,
.theme-random .category-name,
.theme-random .color-name,
.theme-random .navbar-toggler,
.theme-random p,
.theme-random .navbar-collapse.collapse.show ul#languages li a, .theme-random .navbar-collapse.collapse.show ul#options li a,
.theme-random .separator {
  color: #ffffff !important;
}




.color-select, .category-select {
    width: 40px;
    height: 40px;
    border-radius: 50%;
        font-size: 24px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    transition: opacity 0.25s ease, background-color 0.25s ease, box-shadow 0.25s ease;
    box-shadow: none;
    box-sizing: content-box;

}


.color-select::before, .category-select::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    border-radius: 50%;
    transition: transform 0.5s ease, opacity 0.4s ease;
    opacity: 0;
    z-index: 0;
}




.light .color-select, .theme-light .category-select {
    border: 4px solid #e8e8e8; /* light grey */

}


.light .color-select::before {
    background-color: #e8e8e8; /* light grey*/
}

.theme-light .category-select::before {
    background-color: #323232;
}

.theme-light .category-select .material-symbols-rounded {
  color: #e8e8e8;
  transition: transform 0.5s ease-in-out, color 0.5s ease;
}

.theme-light .category-select.selected .material-symbols-rounded {
  transform: rotate(+360deg) scale(1.2);
  color: #ed385a;
}

.theme-light .versions .circle {
  border-color: #323232;
}

.theme-light .versions .line, .theme-light .versions .circle.filled {
  background-color: #323232;
}




.dark .color-select {
    border: 4px solid #555555;
}

.dark .color-select::before {
    background-color: #555555;
}

.theme-dark .category-select  {
    border: 4px solid #e8e8e8;
}

.theme-dark .category-select::before {
    background-color: #ffffff;
}

.theme-dark .category-select .material-symbols-rounded {
  color: #ffffff;
  transition: transform 0.25s ease-in-out, color 0.25s ease;
}

.theme-dark .category-select.selected .material-symbols-rounded {
  transform: rotate(+360deg) scale(1.2);
  color: #ed385a;
}








.red .color-select {
    border: 4px solid #e82381;
}

.red .color-select::before {
    background-color: #e82381;
}

.theme-red .category-select {
    border: 4px solid #e8e8e8;
}

.theme-red .category-select::before {
    background-color: #ffffff;
}

.theme-red .category-select .material-symbols-rounded {
  color: #e8e8e8;
  transition: transform 0.25s ease-in-out, color 0.25s ease;
}

.theme-red .category-select.selected .material-symbols-rounded {
  transform: rotate(+360deg) scale(1.2);
  color: #ed385a;
}



.random .color-select {
    border: 4px solid #3bd6e2;
}

.random .color-select::before {
    background-color: #3bd6e2;
}

.theme-random .category-select  {
    border: 4px solid #e8e8e8;
}

.theme-random .category-select::before {
    background-color: #ffffff;
}

.theme-random .category-select .material-symbols-rounded {
  color: #ffffff;
  transition: transform 0.25s ease-in-out, color 0.25s ease;
}

.theme-random .category-select.selected .material-symbols-rounded {
  transform: rotate(+360deg) scale(1.2);
  color: #ed385a;
}



/* Options > Categories select ------------------------------------------------------*/

.category-name, .color-name {
    margin-top: 0.5rem;
    font-size: 1rem;
}

.category-checkbox, input.background-radio {
    display: none;
}


.category-select .material-symbols-rounded {
  font-size:28px;
}


/* Options > Themes select ------------------------------------------------------*/

.color-select {
  cursor: pointer;
}


.light .color-select, .theme-light .color-name, .theme-light .category-select, .theme-light .category-name,
.dark .color-select, .theme-dark .color-name, .theme-dark .category-select, .theme-dark .category-name,
.red .color-select, .theme-red .color-name, .theme-red .category-select, .theme-red .category-name,
.random .color-select, .theme-random .color-name, .theme-random .category-select, .theme-random .category-name {
    opacity: 0.75;
    transition: opacity 0.4s ease;
}

.light .color-select.selected, .theme-light .color-name.selected, .theme-light .category-select.selected, .theme-light .category-name.selected,
.dark .color-select.selected, .theme-dark .color-name.selected, .theme-dark .category-select.selected, .theme-dark .category-name.selected,
.red .color-select.selected, .theme-red .color-name.selected, .theme-red .category-select.selected, .theme-red .category-name.selected,
.random .color-select.selected, .theme-random .color-name.selected, .theme-random .category-select.selected, .theme-random .category-name.selected {
    opacity: 1;
    font-weight: bold;
}

.light .color-select.selected, .theme-light .category-select.selected,
.dark .color-select.selected, .theme-dark .category-select.selected,
.red .color-select.selected, .theme-red .category-select.selected,
.random .color-select.selected, .theme-random .category-select.selected {
  box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px, rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px, rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px;
}



.light .color-select.selected::before, .theme-light .category-select.selected::before,
.dark .color-select.selected::before, .theme-dark .category-select.selected::before,
.red .color-select.selected::before, .theme-red .category-select.selected::before,
.random .color-select.selected::before, .theme-random .category-select.selected::before {
    transform: translate(-50%, -50%) scale(1.2);
    opacity: 1;
}


.light .color-select > *, .theme-light .category-select > *,
.dark .color-select > *, .theme-dark .category-select > *,
.red .color-select > *, .theme-red .category-select > *,
.random .color-select > *, .theme-random .category-select > * {
    position: relative;
    z-index: 1;
}



/* Page > Rules ---------------------------------------------------------------*/

.svg-wrapper {
    position: absolute;
    opacity: 0.10;
    width: 80%;
    height: 100%;
    z-index: -1;
    top:0;
}


svg.vector {
  display:block;
  position: absolute;
  top:0;

}

@media screen and (max-width:991px) {

  .svg-wrapper {
      width: 100%;
      bottom: -50%;
      top: auto;
  }

}


svg.vector path {
  stroke-width: 4px;
}

.theme-light svg.vector path {
  fill: #323232;
  stroke: #323232;
}

.theme-dark svg.vector path,
.theme-red svg.vector path,
.theme-random svg.vector path {
   fill: #ffffff;
   stroke: #ffffff;
 }

 svg.vector path.st0 {
   fill: none;
 }


/* Page > Rules ---------------------------------------------------------------*/


.step-number, .version-number {
  width: 48px;
  height: 48px;
  margin: 0 auto 1rem;
  background-color: #ed6f8a;
  color: white;
  font-weight: bold;
  font-size: 1.2rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 2px, rgba(0, 0, 0, 0.07) 0px 2px 4px, rgba(0, 0, 0, 0.07) 0px 4px 8px, rgba(0, 0, 0, 0.07) 0px 8px 16px, rgba(0, 0, 0, 0.07) 0px 16px 32px, rgba(0, 0, 0, 0.07) 0px 32px 64px;
}
