/*GLOBAL*/
:root {
  --pink: #f796bc;
  --blue: #0d61e3;
  --dark-blue: #0c1c5b;
  --blue-turquin: #0d61e3;
  --white-foam: #fffaed;
  --gold: #c29c5e;
  --white: #fff;
  --green: #1ca391;
  --blue-night: #000A34;
  --grey: #d5d2d2;
}

body,
div,
p,
a,
ul,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gilroy-Regular", sans-serif;
}
.highlight .participant1.active,
.highlight .participant2.active,
.highlight .participant3.active,
.highlight .participant4.active,
.highlight .participant5.active,
.highlight .participant6.active  {
  color: deeppink !important;
}

body .page-title-bicolor h1,
body .page-subtitle-bicolor-white h2{
  font-family: "Gilroy-ExtraBold", sans-serif;
  font-size: 75px;
  font-style: normal;
  line-height: 88px;
  letter-spacing: 3.75px;
  text-transform: uppercase;
}

body .page-title-bicolor h1{
  animation: colorChangeTitle 0.5s ease-in-out forwards;
}

@keyframes colorChangeTitle {
  0% {
    color: var(--grey);
  }
  100% {
    color: var(--dark-blue);
  }
}

body .page-title-bicolor h1{
  animation: colorChangeTitle 0.5s ease-in-out forwards;
}

@keyframes colorChangeTitle {
  0% {
    color: var(--grey);
  }
  100% {
    color: var(--dark-blue);
  }
}

#carouselBanner .page-title-bicolor h2, #carouselBanner .page-title-bicolor .sticker{
  animation: colorChangeOpacity 2s ease-in-out forwards;
}

@keyframes colorChangeOpacity {
  0% {
    opacity: 0.2;
  }
  100% {
    opacity: 1;
  }
}

body .page-title-bicolor i {
  font-style: normal;
  margin-top: -4px;
  font-size: 25px;
  font-family: "Gilroy-ExtraBold", sans-serif;
  line-height: 52px;
  letter-spacing: 1.25px;
  text-decoration-line: underline;
  text-transform: uppercase;
  vertical-align: top;
}

.page-title-bicolor-white i {
  color: var(--white);
}

.page-title-bicolor-gold i {
  color: var(--gold);
}

body .page-subtitle-bicolor-white em {
  color: var(--white);
}

body .carousel-caption {
  text-align: start;
}

body .page-subtitle-bicolor-white h3 {
  font-family: 'Rock Salt', cursive, sans-serif;
  font-size: 25px;
  line-height: 30px;
}

body strong {
  font-family: "Gilroy-ExtraBold", sans-serif;
}

.font-rock{
  font-family: "Rock Salt", sans-serif;
}

.font-gilroy-extrabold {
  font-family: "Gilroy-ExtraBold", sans-serif;
}

.font-gilroy-regularitalic {
  font-family: "Gilroy-RegularItalic", sans-serif;
}

.font-gilroy-heavy{
  font-family: "Gilroy-Heavy", sans-serif;
}

.font-gilroy-semibold{
  font-family: "Gilroy-Semibold", sans-serif;
}

.font-gilroy-regular{
  font-family: "Gilroy-Regular", sans-serif;
}

.title-std h1{
    font-family: "Gilroy-Semibold", sans-serif;
    font-size: 70px;
    font-weight: 800;
    line-height: 70px;
    letter-spacing: 3.75px;
    font-style: normal;
}

.title-std em{
    font-style: normal;
}

.subtitle-std, .subtitle-std h2{
    font-family: "Gilroy-ExtraBold", sans-serif;
    font-size: 60px;
    font-weight: 800;
    line-height: 70px;
    letter-spacing: 3px;
    font-style: normal;
    text-transform: uppercase;
}

.subtitle-std em{
    font-style: normal;
}

.text-std p, .text-std li{
  font-size: 25px;
  line-height: 32px;
}

.rock-salt-regular {
  font-family: "Rock Salt", cursive, sans-serif;
  font-weight: 400;
}

div a {
  text-decoration: none;
}

/* div a:not(.no-transform) {
  text-transform: uppercase;
} */

.banner-title-strong strong {
  font-size: 50px;
  font-weight: 700;
}

.l1200 {
  max-width: 1200px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.l1320 {
  max-width: 1320px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

div.tox-promotion, .tox-statusbar__branding {
  display: none;
}

.l1100 {
  max-width: 1100px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.l1000 {
  max-width: 1000px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.l900 {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.l600 {
  max-width: 600px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/*COLORS*/
.color-white,
.color-white p,
.color-white a {
  color: var(--white);
}

.color-dark-blue,
.color-dark-blue p,
.color-dark-blue a {
  color: var(--dark-blue);
}

.color-pink,
.color-pink p,
.color-pink a,
.specific-color-pink em {
  color: var(--pink);
  font-style: normal;
}

.color-gold,
.specific-color-gold i{
  color: var(--gold);
}

.specific-color-white i{
  color: var(--white);
}

.color-blue-turquin {
  color: var(--blue-turquin);
}

.color-green {
  color: var(--green);
}

.specific-color-blue-turquin em {
  color: var(--blue-turquin);
  font-style: normal;
}

/*DATA*/

.data-circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 175px;
  height: 175px;
  border: 3px solid;
  border-radius: 100%;
  text-align: center;
  background: var(--white);
}

.data-circle h4 {
  font-family: 'Gilroy-ExtraBold', sans-serif;
  text-align: center;
  font-size: 40px;
  text-transform: uppercase;
}

.data-circle p {
  text-transform: uppercase;
  margin: 0 10px;
}

.data-circle span {
  font-family: 'Gilroy-ExtraBold', sans-serif;
  font-size: 32px;
  margin-bottom: 2px;
}

.data-circle p {
  font-size: 20px;
  font-weight: 400;
  margin-bottom: 2px;
}


/*BACKGROUNDS*/
.bg-dark-blue {
  background-color: var(--dark-blue);
}

.bg-blue-night {
  background-color: var(--blue-night);
}

.bg-dark-blue-white {
  background: linear-gradient(0deg,
      rgba(12, 28, 91, 1) 50%,
      rgba(255, 255, 255, 1) 50%);
}

.bg-dark-blue-foam {
  background: linear-gradient(0deg,
      var(--dark-blue) 50%,
      var(--white-foam) 50%);
}

.bg-dark-blue-night-white {
    background: linear-gradient(0deg, rgba(0,10,52,1) 50%,
     rgba(255,255,255,1) 50%);
}

.bg-white-foam {
  background: center/100% 100% no-repeat url(../images/home/bg-white-foam.png);
}

.bg-foam {
    background: var(--white-foam);
}

.bg-green {
  background-color: var(--green);
}

.bg-blue-turquin,
.bg-blue-turquin h2 {
  background-color: var(--blue-turquin);
}

.bg-pink {
  background-color: var(--pink);
}

.bg-gold {
  background-color: var(--gold);
}

.bg-gold-foam {
  background: linear-gradient(0deg, rgba(255,250,237,1) 50%, rgba(194,156,94,1) 50%);
}

.bg-dark-gold-vertical{
background: linear-gradient(270deg, rgba(194,156,94,1) 50%, rgba(0,10,52,1) 50%);
}

.separateur-bg-gold,
.separateur-bg-white,
.separateur-bg-beige,
.separateur-bg-dark-blue,
.separateur-bg-dark-blue-beige,
.separateur-bg-dark-blue-gold{
    position: relative;
    width: 100%;
    height: 0;
}

.separateur-bg-gold {
    border-bottom: 7vw solid var(--gold);
    border-left: 100vw solid transparent;
}

.separateur-bg-white {
  border-bottom: 7vw solid transparent;
  border-left: 100vw solid var(--white-foam);
}

.separateur-bg-beige {
  border-bottom: 7vw solid var(--white-foam);
  border-left: 100vw solid var(--dark-blue);
}

.separateur-bg-dark-blue-beige {
  border-bottom: 7vw solid var(--white-foam);
  border-right: 100vw solid var(--dark-blue);
}

.separateur-bg-beige-white {
  border-bottom: 7vw solid var(--white);
  border-left: 100vw solid  var(--white-foam);
}

.separateur-bg-dark-blue-gold {
  border-bottom: 7vw solid var(--gold);
  border-left: 100vw solid var(--dark-blue);
}

.separateur-bg-blue-night-gold {
  border-bottom: 7vw solid var(--gold);
  border-left: 100vw solid var(--blue-night);
}

.separateur-bg-dark-blue {
  border-top: 7vw solid var(--dark-blue);
  border-left: 100vw solid var(--gold);
}

/*BUTTONS*/

.btn-connect a {
  text-align: center;
  font-weight: 700;
  border-radius: 100px;
  padding: 7px 20px;
  color: #0b1c5b;
  background: #fff;
  border: 1.5px solid #0b1c5b;
  transition: 0.2s ease-in-out;
}

.rounded-btn a, .rounded-btn button{
  position: relative;
  display: inline-block;
  font-family: "Gilroy-ExtraBold", sans-serif;
  font-size: 20px;
  text-align: center;
  border-radius: 100px;
  width: max-content;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  padding: 14px 40px 12px 70px;
}

.select2-container .select2-results > .select2-results__options {
  max-height: 12rem;
  overflow-y: scroll;
}

.rounded-btn img,
.position-tall-btn-img-1{
  position: absolute;
  left: 30px;
  top: 17px;
  width: 24px;
}

.position-tall-btn-img-2 {
  display: none;
  position: absolute;
  left: 30px;
  top: 19px;
  width: 22px;
}

.rounded-btn.white-btn a, .rounded-btn.white-btn button {
  color: var(--dark-blue);
  background: var(--white-foam);
  transition: 0.1s ease-in-out;
}

div.picto-heart-gold img,
div.picto-shine-gold img {
  width: 26px;
  height: auto;
}

.gold-btn a {
  color: var(--white);
  background: var(--gold);
  transition: 0.1s ease-in-out;
}

.container-banner + .container-btn-gold {
  margin-top: -28px;
  margin-bottom: -28px;
  position: relative;
  z-index: 2;
}

.pink-white-btn a {
  color: var(--pink);
  background: var(--white-foam);
  border: 1px solid var(--pink);
  transition: 0.1s ease-in-out;
}

.tall-dark-blue-btn a {
  color: #fff;
  background: var(--dark-blue);
}

.blue-night-btn a {
  color: #fff;
  background: var(--dark-blue);
}

.small-dark-blue-btn a {
  color: #fff;
  background: var(--dark-blue);
  font-size: 18px;
  letter-spacing: 0.54px;
  padding: 11px 20px 8px 50px;
  transition: 0.2s;
}

.small-dark-blue-btn .img-1,
.small-dark-blue-btn .img-2 {
  position: absolute;
  top: 15px;
  left: 20px;
  display: inline-block;
  width: 22px !important;
  margin-bottom: 2px;
  transition: 0.2s;
}

.small-dark-blue-btn a .img-2 {
  display: none;
}

.rounded-btn.white-btn button:hover,
.rounded-btn.white-btn a:hover {
  background: pink;
  color: var(--white);
}

.rounded-btn a:hover .position-tall-btn-img-1,
.small-dark-blue-btn a:hover .img-1 {
  opacity: 0;
}

.rounded-btn a:hover .position-tall-btn-img-2,
.small-dark-blue-btn a:hover .img-2 {
  display: block;
}

.pink-white-btn a:hover,
.tall-dark-blue-btn a:hover {
  color: var(--white);
  background: var(--pink);
}

.pink-hover a:hover {
  background: var(--pink);
  color: white;
}

.white-hover a:hover {
  background: var(--white)!important;
  color: var(--dark-blue);
}

.gold-border{
   border: 2px dashed var(--gold);
   transition: border-color 0.5s 0.5s ease-out;
}

/* ANIMATIONS FLECHES FIN PAGE ACCUEIL*/

[data-aos="rotate1"] {
    transform: rotate(80deg);
    transition-property: transform;
}

[data-aos="rotate1"].aos-animate {
    transform: rotate(0deg);
}

[data-aos="rotate2"] {
    transform: rotate(-80deg);
    transition-property: transform;
}

[data-aos="rotate2"].aos-animate {
    transform: rotate(0deg);
}

/*CARD CAROUSEL*/

.card-gold {
  position: relative;
  padding-bottom: 40px;
}

.card-gold > img.img-carousel-team {
  height: 550px;
  object-fit: cover;
  clip-path: polygon(0px 0px, 102% 0px, 102% 68%, 0.00% 77%);
  width: 100%;
}

.card-gold a[title="LinkedIn"] {
  position: absolute;
  top: 22px;
  right: 17px;
  width: 38px;
  height: 38px;
  border-radius: 100%;
  z-index: 3;
}

.card-gold a[title="LinkedIn"] img{
  width: 100%;
  object-fit: contain;
}

.footer-card-gold{
  margin-top: -130px;
}

.footer-card-gold h5,
.footer-card-gold p{
  color: var(--white);
    font-size: 25px;
}

.footer-card-gold h5 {
  font-family: "Gilroy-ExtraBold", sans-serif;
    line-height: 35px;
}

.footer-card-gold p {
  font-family: "Gilroy-Regular", sans-serif;
      font-size: 25px;
        line-height: 25px;
}

.carousel-btn .owl-prev,
.carousel-btn .owl-next{
  width: 65px;
  height: 65px;
  font-size: 32px;
  border-radius: 100%;
}

.carousel-btn .owl-prev span,
.carousel-btn .owl-next span{
  display: none;
}

div.carousel-btn .owl-prev{
  background: center/cover no-repeat url(../images/pictos/btn-slider-previous.png)!important;
  transition: 0.2s;
}

div.carousel-btn .owl-prev:hover{
  background: center/cover no-repeat url(../images/pictos/btn-slider-prev-hover.png)!important;
}

div.carousel-btn .owl-next{
  background: center/cover no-repeat url(../images/pictos/btn-slider-next.png)!important;
  transition: 0.2s;
}

div.carousel-btn .owl-next:hover{
  background: center/cover no-repeat url(../images/pictos/btn-slider-next-hover.png)!important;
}

/*CARD TESTIMONIALS*/

.card-testimonials .img-wrapper {
    position: relative;
    width: 100%;
    height: 545px;
    overflow: hidden; /* Pour s'assurer que l'image et le gradient ne dépassent pas */
}

.card-testimonials .img-carousel-testimonials {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.card-testimonials .img-wrapper::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, rgba(12, 28, 91, 0.00) 0%, #0C1C5B 100%);
    z-index: 2;
}

.card-testimonials .card-img-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
}

.card-testimonials .block-text-testimonials{
    margin-top: -60px;
}
.card-testimonials .bg-gold{
    position: relative;
    margin-top: -60px;
    clip-path: polygon(-1% 20%, 101% 0%, 100% 101%, 0% 105%);
    z-index:4;
}

/*TEXT*/
.highlighting-pink h2,
.highlighting-pink h1,
.title-highlighting h2,
.highlighting-animation-dark-blue h2 {
  position: relative;
  font-family: "Gilroy-ExtraBold", sans-serif;
  font-size: 65px;
  line-height: 65px;
  letter-spacing: 3.75px;
  text-transform: uppercase;
  font-style: normal;
}

.highlighting-pink h1 em,
.highlighting-pink h2 em,
.title-highlighting h2{
  padding: 0 5px 0 6px;
  margin-left: 6px;
  line-height: 1;
  font-style: normal;
  background: linear-gradient(0deg,
    rgba(0, 0, 0, 0) 16%,
    rgba(247, 150, 188, 1) 16%,
    rgba(247, 150, 188, 1) 46%,
    rgba(0, 0, 0, 0) 46%
    ) no-repeat;
}

.highlighting-pink-shrink em {
    background-size: 0% 100% !important;
    transition: background-size 0.5s ease-in-out;
}

.highlighting-pink-grow em {
    background-size: 100% 100% !important;
    transition: background-size 0.5s ease-in-out;
}

.highlighting-dark-blue h2::after {
  background: var(--dark-blue);
}

.highlighting-animation-dark-blue h2 {
   position: relative;
   padding: 25px 28px 18px 28px;
   z-index:1;
}

.highlighting-animation-dark-blue h2::after {
   content:" ";
   position: absolute;
   background: var(--dark-blue);
   width: 100%;
   height: 35%;
   bottom:0;
   left:0;
   z-index:-1;
   transition: height 0.2s ease-in-out;
}

.highlighting-animation-dark-blue.bg-grow h2::after {
    height: 100%;
}

/*ANIMATION CHANGE TEXT COLOR*/

.change-color h2 strong{
  color: #f796bc;
  animation: infiniteChangeColor 2s infinite;
}

@keyframes infiniteChangeColor{
0%{
    color: var(--white)!important;
}
50% {
    color: var(--pink)!important;
    }

100%{
    color: var(--white)!important;
    }
}

/*STICKERS*/

div.sticker {
   width: 140px;
   height: 140px;
   border-radius: 100%;
   filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}

.sticker.block-txt{
    display:flex;
    justify-content:center;
    align-items: center;
    flex-direction: column;
    margin-bottom: 0;
}

.sticker.block-txt h3, .sticker.block-txt p{
 margin-bottom:0!important;
}

/*SUBMENU*/
.block-sub-menu {
  background-color: #0b1c5b;
  padding: 35px 0;
}

.block-sub-menu .separateur {
  position: relative;
  padding: 0 88px;
}

.block-sub-menu .separateur::before {
  left: 0;
}

.block-sub-menu .separateur::after {
  right: 0;
}

.block-sub-menu .separateur::before,
.block-sub-menu .separateur::after {
  content: "|";
  color: var(--noir);
  position: absolute;
  font-size: 18px;
  font-weight: 400;
}

.block-sub-menu a {
  z-index: 2;
  color: #fff;
  background-color: #0b1c5b;
  border-color: #0b1c5b;
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 125%;
  text-transform: uppercase;
}

.block-notre-savoir-faire {
  color: #fff;
  padding: 75px 0;
}

.block-notre-savoir-faire h4 {
  margin-bottom: 40px;
  font-size: 20px;
  font-weight: 700;
  line-height: 140%;
}

/*HEADER*/

button.navbar-toggler {
  color: var(--dark-blue);
  border-color: var(--dark-blue);
}

button.navbar-toggler:focus {
  box-shadow: 0 0 0 2px;
}

.header-top {
  padding-top: 10px;
  padding-bottom: 10px;
}

.header-top li {
  display: flex;
  align-items: center;
}

.header-top li a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: 12px;
  line-height: 12px;
  font-weight: 800p;
}

.header-top .separateur {
  margin: auto 20px;
}

.header-bottom .navbar-nav {
  gap: 17px;
}

.header-bottom .navbar-brand {
  margin-left: -35px;
  width: 270px;
}

.header-bottom li a {
  color: var(--dark-blue);
  font-size: 17px;
  font-weight: 600;
}

.header-bottom .dropdown-menu {
  border: none;
  padding: 10px;
  width: max-content;
}

.header-bottom .dropdown .show a {
  display: block;
  line-height: 30px;
  text-underline-offset: 5px;
  border-bottom: 1px solid var(--gold);
}

header a {
    transition: 0.2s;
}

nav.header-top .nav-item a:hover,
.header-bottom li a:hover {
      color: var(--gold);
      border-color: var(--gold);
  }

/*FOOTER*/

.footer-top {
  padding-top: 26px;
  padding-bottom: 40px;
}

.footer-bottom {
  padding-top: 16px;
  padding-bottom: 16px;
  background-color: var(--white-foam);
}

.footer-top a {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
  transition: 0.2s;
}

.footer-top a:hover, .footer-bottom a:hover {
  color: var(--gold) !important;
}

.footer-top .container-medias a:hover {
  transform: scale(1.2);
}

.footer-top .container-btn {
  width: 155px;
}

footer hr {
  border: 1px solid white;
  padding: 8px auto;
}

.footer-top .rounded-btn {
  width: 100%;
}

.footer-top .rounded-btn a {
  width: 100%;
  border: 1.5px solid var(--white);
  border-radius: 50px;
  font-size: 14px;
  color: #fff;
  background: var(--dark-blue);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  font-size: 14px;
  padding: 6px;
}

.footer-top .container-btn div:last-child a {
  background-color: var(--white);
  color: var(--dark-blue);
  font-weight: 600;
}

.footer-top .container-medias p {
  font-family: "Gilroy-Regular", sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 150%;
  text-transform: uppercase;
  margin-bottom: 5px;
}

.footer-top .container-medias a {
 transition: 0.3s;
}

.footer-top .container-medias a:hover {
  transform: scale(1.2);
}

footer .container-menu .menu-top {
  padding-bottom: 15px;
  border-bottom: 1px solid #fff;
}

footer .container-menu .menu-bottom {
  padding-top: 15px;
}

.footer-bottom .menu-top a,
.footer-bottom .menu-bottom a {
  text-align: center;
  font-size: 14px;
  font-weight: 400;
  line-height: 150%;
}

.col-footer-1 a:hover {
  color: var(--txt-white);
  border-bottom: 2px solid var(--txt-white);
}

.border::after {
  width: 1px;
  height: 77px;
  background: #0b1c5b;
  position: absolute;
  content: "";
  right: 30px;
  top: 0;
}

/* COOKIES */
#cookiebannerModal p {
    margin: 0 0 0.2em;
}

#cookiebannerModal {
    --color-highlight: #73C229FF;
    --color-button-fg: white;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: hidden;
    overflow-y: auto;
    background: hsla(0, 0%, 0%, .5);
    z-index: 999;
}

#cookiebannerModal.hidden {
    display: none;
}

#cookiebannerModal a {
    color: #0b1c5b;
}

#cookiebannerModal #cookiebannerModalDialog {
    background: white;
}

#cookiebannerModal #cookiebannerModalHeader {
    padding: 1rem;
    border-bottom: 1px solid #e5e5e5;
}

#cookiebannerModal #cookiebannerModalTitle {
  font-size: 1.75rem;
  margin: 0 0 0.4rem;
}

#cookiebannerModal #cookiebannerModalBody {
    padding: 1rem;
}

#cookiebannerModal #cookiebannerModalFooter {
    padding: 1rem;
    border-top: 1px solid #e5e5e5;
    text-align: right;
}

#cookiebannerModal #cookiebannerModalFooter .text-left {
    text-align: left;
}

#cookiebannerModal .cookiebannerSubmit.btn {
    font-size: 1.2rem;
    margin: 0.2em;
    padding: 0.3em;
    background-color: #0b1c5b;
    color: #c29c5e;
    border: 0;
}

#cookiebannerModal #cookiebannerModalFooterLinks {
    text-align: left;
    min-height: auto;
    margin-bottom: auto;
    display: inline-block;
    float: left;
    padding: 1rem 0;
}

#cookiebannerModal .cookiebannerH4 {
    display: inline-block;
    font-size: 1.125rem;
    font-weight: 500;
    margin: 0.56em 0;
}

#cookiebannerModal .cookiebannerCollapse {
    display: none;
}

#cookiebannerModal .cookiebannerCollapse.show {
    display: block;
}

#cookiebannerModal .cookiebannerModalTable {
    font-size: 0.9rem;
    font-style: italic;
}

#cookiebannerModal .cookiebannerModalTable td {
    padding: 0.1em 0.2em 0.1em;
}

/* The switch - the box around the slider */
#cookiebannerModal .switch {
    font-size: 1rem;
    vertical-align: middle;
    position: relative;
    display: inline-block;
    width: 2.5em;
    height: 1.375em;
    margin: 0 0.3125em 0.3125em 0;
}

/* Hide default HTML checkbox */
#cookiebannerModal .switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

/* The slider */
#cookiebannerModal .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: transform 400ms, background-color 400ms;
}

#cookiebannerModal .slider:before {
    position: absolute;
    content: "";
    height: 1.125em;
    width: 1.125em;
    left: 0.125em;
    bottom: 0.125em;
    background-color: white;
    transition: transform 400ms;
}

#cookiebannerModal input:checked + .slider {
    background-color: #0b1c5b;
}

#cookiebannerModal input:checked:disabled + .slider {
    opacity: 0.3;
    cursor: not-allowed;
}

#cookiebannerModal input:focus + .slider {
    box-shadow: 0 0 1px #0b1c5b;
}

#cookiebannerModal input:checked + .slider:before {
    transform: translateX(1.125em);
}


/* COOKIES */

.loader {
    display: none;
    position: fixed;
    z-index: 1000;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid #0c1c5b;
    width: 60px;
    height: 60px;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
}

th.highlight {
    background-color: deeppink !important;
}

td.highlight {
    background-color: lightgray !important;
}

/* TinyMCE Alert Styles */

.tinymce-alert {
  position: fixed;
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
  background: #ff4d4f;
  color: white;
  padding: 14px 20px;
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  font-size: 15px;
  display: flex;
  gap: 10px;
  align-items: center;
  z-index: 99999;
  opacity: 0;
  animation: fadeIn 0.3s forwards;
}

.tinymce-alert.fade-out {
  animation: fadeOut 0.4s forwards;
}

.tinymce-alert .close-btn {
  cursor: pointer;
  font-weight: bold;
  margin-left: 10px;
  transform: scale(1.7)
}

.tinymce-alert .close-btn:hover {
  opacity: 1;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translate(-50%, -10px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

@keyframes fadeOut {
  from { opacity: 1; transform: translate(-50%, 0); }
  to { opacity: 0; transform: translate(-50%, -10px); }
}
