@import url('https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Fredoka:wght@300..700&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Oswald:wght@200..700&family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    --bg-color: #0F0F0F;
    --secondary-color: #7d99d3;
    --rating-bg: #495670;
    --button-color: white;
    --title-color: white;
    --txt-color: #d9d9d9;
    --bloc-bg: rgb(40 40 40 / 55%);
    --bloc-border: #3b3b3b;
    --title-font: 'Jakarta', sans-serif;
    --text-font: 'Jakarta', sans-serif;
    --opacity-bulle: .7;
}
.theme-color-2 {
    --bg-color: #0F0F0F;
    --secondary-color: #CC192A;
    --rating-bg: #681b24;
    --button-color: white;
    --title-color: white;
    --txt-color: #d9d9d9;
    --bloc-bg: rgb(40 40 40 / 55%);
    --opacity-bulle: .7;
}
.theme-color-3 {
    --bg-color: #0F0F0F;
    --secondary-color: #DEFF00;
    --rating-bg: #5b6622;
    --button-color: black;
    --title-color: white;
    --txt-color: #d9d9d9;
    --bloc-bg: rgb(40 40 40 / 55%);
    --opacity-bulle: .7;
}
.theme-color-4 {
    --bg-color: #0F0F0F;
    --secondary-color: #8748E1;
    --rating-bg: #492e71;
    --button-color: white;
    --title-color: white;
    --txt-color: #d9d9d9;
    --bloc-bg: rgb(40 40 40 / 55%);
    --opacity-bulle: .7;
}
.theme-color-5 {
    --bg-color: #fafbf6;
    --secondary-color: #6E6CEC;
    --rating-bg: #bfc0e7;
    --button-color: white;
    --title-color: black;
    --txt-color: #535353;
    --bloc-bg: rgb(0 0 0 / 8%);
    --bloc-border: #d2d2d2;
    --opacity-bulle: .2;
}


.font-title-jakarta {
  --title-font: 'Jakarta', sans-serif;
}
.font-title-lobster {
  --title-font: 'Lobster', sans-serif;
}
.font-title-roboto {
  --title-font: 'Roboto', sans-serif;
}
.font-title-gothic {
  --title-font: 'Gothic', sans-serif;
}
.font-title-oswald {
  --title-font: 'Oswald', sans-serif;
}
.font-title-playfair {
  --title-font: 'Playfair Display', sans-serif;
}
.font-title-abril {
  --title-font: 'Abril Fatface', sans-serif;
}
.font-title-poppins {
  --title-font: 'Poppins', sans-serif;
}
.font-title-raleway {
  --title-font: 'Raleway', sans-serif;
}
.font-title-montserrat {
  --title-font: 'Montserrat', sans-serif;
}
.font-title-fredoka {
  --title-font: 'Fredoka', sans-serif;
}



.font-text-jakarta {
  --text-font: 'Jakarta', sans-serif;
}
.font-text-opensans {
  --text-font: 'Open Sans', sans-serif;
}
.font-text-georgia {
  --text-font: 'Georgia', serif;
}
.font-text-poppins {
  --text-font: 'Poppins', sans-serif;
}
.font-text-raleway {
  --text-font: 'Raleway', sans-serif;
}
.font-text-montserrat {
  --text-font: 'Montserrat', serif;
}
.font-text-roboto {
  --text-font: 'Roboto', serif;
}


.select-color-theme button.active {
    border: solid 2px black;
}
.select-color-theme button {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    border: solid 1px #d3d3d3;
    transform: rotate(45deg);
    cursor: pointer;
}
.select-color-theme .color1 {
    background: linear-gradient(to right, #0F0F0F 50%, #7d99d3 50%);
}
.select-color-theme .color2 {
    background: linear-gradient(to right, #0F0F0F 50%, #CC192A 50%);
}
.select-color-theme .color3 {
    background: linear-gradient(to right, #0F0F0F 50%, #DEFF00 50%);
}
.select-color-theme .color4 {
    background: linear-gradient(to right, #0F0F0F 50%, #8748E1 50%);
}
.select-color-theme .color5 {
    background: linear-gradient(to right, #fafbf6 50%, #6E6CEC 50%);
}





body {background: var(--bg-color);}
h1, h2, h3, h4 {color: var(--title-color); font-family: var(--title-font);}
h2 {font-size: 22px; line-height: 32px; margin: 0 0 20px 0; font-weight: bold;}
footer, header, .cta-bottom {display: none !important;}
p, li, span, a {color: var(--txt-color); font-family: var(--text-font);}
.template-cvel-04 {position: relative; z-index: 1;}
.cvel-bulle1 {position: fixed; display: block; width: 300px; height: 200px; background: var(--secondary-color); left: 66%; top: 21%; border-radius: 1000px; filter: blur(54px); opacity: var(--opacity-bulle); z-index: 0;}
.cvel-bulle2 {position: fixed; display: block; width: 300px; height: 500px; background: var(--secondary-color); left: 16%; top: 68%; border-radius: 1000px; filter: blur(54px); opacity: var(--opacity-bulle); z-index: 0; transform: rotate(332deg);}
.cvel-sect {display: flex; gap: 25px; padding-bottom: 25px;}
.cvel-bloc {background: var(--bloc-bg); border-radius: 20px; overflow: hidden; padding: 25px; border: solid 1px var(--bloc-border); backdrop-filter: blur(10px);}
.cvel-sect-wrap {flex-wrap: wrap;}
.cvel-sect-wrap > div {flex: 1 1 calc(33.333% - 20px);}


/* MENU */
.cvel-container {max-width: 1400px; margin: auto; padding: 0 25px;}
.cvel-content {padding-top: 75px;}
.cvel-nav {position: fixed; width: 100%; background: var(--bg-color); z-index: 99999; transition: .4s;}
.cvel-nav.scrolled {background: var(--bg-color);}
.cvel-nav .cvel-container {display: flex; align-items: center; gap: 40px; padding-top: 15px; padding-bottom: 15px; margin: auto; transition: .3s;}
.cvel-nav .cvel-nav-links {margin-left: auto; display: flex; gap: 25px;}
.cvel-nav a, .cvel-nav h1 {text-decoration: none !important; padding: 10px 0; color: var(--title-color); font-size: 14px;}
.cvel-nav .cvel-nav-name a, .cvel-nav .cvel-nav-name h1 {font-size: 18px; line-height: 25px; font-weight: bold; margin: 0;}


/* PROFIL */
.cvel-profil-txt {flex: 1 1 calc(100% - 400px);}
.cvel-profil-img {flex: 400px;}
.cvel-profil-img img {height: 100%; object-fit: cover; overflow: hidden; border-radius: 20px; margin: auto; display: block;}
.cvel-profil-txt .cvel-profil-infos {padding: 0; list-style: none; display: flex; flex-wrap: wrap; column-gap: 15px; row-gap: 5px;}
.cvel-profil-txt .cvel-profil-infos li {display: flex; align-items: center; gap: 8px; padding: 0;}
.cvel-profil-txt .cvel-profil-infos li i {color: var(--secondary-color);}
.cvel-rs-download {display: flex; gap: 25px; align-items: center;}
.cvel-rs-download .cvel-download-cv {text-decoration: none !important; background: var(--secondary-color); padding: 10px 30px; border-radius: 50px; font-weight: 600; color: var(--button-color); display: flex; align-items: center; column-gap: 10px;}
.cvel-profil-txt .col-cvel-profil:last-child {width: 70%; display: flex; flex-direction: column; justify-content: center;}
.cvel-profil-txt h1, .cvel-name {font-size: 34px; line-height: 44px; margin-bottom: 0; background: linear-gradient(90deg, var(--title-color) 0%, var(--secondary-color) 150%); background: -webkit-linear-gradient(90deg, var(--title-color) 0%, var(--secondary-color) 150%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; font-weight: bold;}
.cvel-profil-txt .cvel-job {font-size: 22px; color: var(--title-color); margin-top: 0; margin-bottom: 8px;}
.cvel-rs {display: flex; gap: 10px;}
.cvel-rs a {color: black; letter-spacing: 1px; font-size: 14px; position: relative;}
.cvel-rs svg {display: block; width: 22px; height: 22px; fill: var(--title-color);}
.cvel-about p, .cvel-about li {line-height: 26px; font-weight: 300;}

/* EXPERIENCES / FORMATIONS */
.cvel-xp {flex: 1;}
.content-cvel-xp {width: 100%; display: flex; flex-direction: column; gap: 25px;}
.bloc-content-cvel-xp p {margin: 0;}
.dates-cvel {position: relative; min-width: 150px;}
.dates-cvel p {font-size: 14px; font-style: italic;}
.cvel-txt-xp-job {font-size: 18px; line-height: 24px; font-weight: bold; padding-bottom: 5px; color: var(--title-color);}
.cvel-txt-xp-ese {font-size: 16px; line-height: 22px; font-style: italic;}
.txt-xp-cvel {padding-top: 10px;}
.txt-xp-cvel ul {margin: 5px 0;}
.txt-xp-cvel li {padding: 0;}
.dates-cvel {display: flex; gap: 18px;}
.dates-cvel p:nth-child(2):before {content:"-"; position: relative; left: -9px;}
.txt-xp-cvel p, .txt-xp-cvel li {line-height: 22px; font-weight: 300; margin: 0 0 10px 0;}


/* REALISATIONS */
.cvel-real {margin-bottom: 25px;}
.cvel-real h2 {text-align: center;}
.cvel-listing-real {display: flex; flex-wrap: wrap; justify-content: center; gap: 40px;}
.cvel-listing-real .cvel-bloc-real {width: calc(33.33% - 27px); position: relative;}
.cvel-listing-real .cvel-bloc-real h3 {font-size: 16px; margin: 0; font-weight: bold;}
.cvel-listing-real .cvel-bloc-real .cvel-bloc-real-img img {border-radius: 20px; display: block; height: 300px; object-fit: cover; overflow: hidden; width: 100%; display: block; position: absolute; top: 0; left: 0; opacity: 0; transition: opacity 0.5s ease; z-index: 0;}
.cvel-bloc-real-img {margin-top: auto; position: relative; overflow: hidden; height: 300px; margin-bottom: 20px;}
.cvel-listing-real .cvel-bloc-real .cvel-bloc-real-img img.active {opacity: 1; z-index: 1;}
.cvel-desc-real p {margin: 10px 0;}


/* COMPÉTENCES */
.cvel-comp {flex: 1 1 calc(66.666% - 20px) !important;}
.cvel-comp-listing {width: 100%; position: relative; display: flex; flex-direction: column; gap: 25px;}
.cvel-comp-listing .cvel-comp-bloc {width: 100%; display: flex; flex-direction: column;}
.cvel-comp-listing .cvel-comp-bloc h3 {font-size: 16px; line-height: 24px; margin-bottom: 0px; margin-top: 0; font-weight: 600; color: var(--title-color);}
.cvel-comp-listing .cvel-comp-bloc .desc {margin: 4px 0; font-size: 15px; line-height: 20px;}
.cvel-bloc-icon {width: 75px; height: 75px; min-width: 75px; min-height: 75px; display: flex; align-items: center; justify-content: center; background: #f1f1f1; border-radius: 10px; padding: 8px;}
.cvel-bloc-icon i {font-size: 35px; color: black;}
.cvel-bloc-icon-txt {display: flex; gap: 25px; align-items: center;}
.cvel-bloc-comp-txt {display: flex; flex-direction: column; justify-content: center; width: 100%;}





/* OUTILS */
.cvel-listing-tools {width: 100%; display: flex; flex-direction: column; gap: 25px;}
.cvel-listing-tools .bloc-tools {width: 100%;}
.bloc-tools h3 {font-size: 16px; line-height: 24px; margin-bottom: 0; margin-top: 0; font-weight: 600; color: var(--title-color);}
.bloc-tools .desc {margin: 4px 0; font-size: 15px; line-height: 20px;}
.rating-note span {display: none;}
.rating-note {display: block; width: 100%; max-width: 300px; height: 8px; background: var(--rating-bg); position: relative; margin-top: 10px;}
.rating-note:before {content: ""; position: absolute; left: 0px; top: -4px; height: calc(100% + 8px); width: 100%;  background: var(--secondary-color);}

.rating-note[data-value="1"]:before {width: 10%;}
.rating-note[data-value="2"]:before {width: 20%;}
.rating-note[data-value="3"]:before {width: 30%;}
.rating-note[data-value="4"]:before {width: 40%;}
.rating-note[data-value="5"]:before {width: 50%;}
.rating-note[data-value="6"]:before {width: 60%;}
.rating-note[data-value="7"]:before {width: 70%;}
.rating-note[data-value="8"]:before {width: 80%;}
.rating-note[data-value="9"]:before {width: 90%;}
.rating-note[data-value="10"]:before {width: 100%;}

/* LANGUES */
.bloc-langue .content-bloc-tools {width: 100%;}
.cvel-loisirs .cvel-listing-tools .bloc-tools, .cvel-langues .cvel-listing-tools .bloc-tools {width: 100%; display: flex; align-items: center; gap: 25px;}



/* LOISIRS */



/* CONTACT */
.cvel-contact {margin-bottom: 25px;}
.cvel-contact h2 {text-align: center;}
.cvel-contact form {display: flex; flex-wrap: wrap; max-width: 800px; margin: 40px auto 0 auto; gap: 20px;}
.cvel-contact form .form-group {width: calc(50% - 10px);}
.cvel-contact form .form-group input, .cvel-contact form .form-group input[type="email"] {width: 100% !important; height: 50px; border: none; border-radius: 10px; background: #f1f1f1; padding: 10px 15px !important;}
.cvel-contact form .form-group-full {width: 100%;}
.cvel-contact form .form-group-full textarea {background: #f1f1f1; border: none !important; max-width: 100%; min-width: 100%; min-height: 50px; border-radius: 10px; padding: 15px !important;}
.cvel-contact form .btn-submit {background: var(--secondary-color); border: none; font-size: 16px; line-height: 25px; padding: 10px 30px; border-radius: 10px; color: var(--button-color); margin: auto; cursor: pointer;}





.carousel-arrow {position: absolute; top: 50%; transform: translateY(-50%); border: none; font-size: 18px; cursor: pointer; z-index: 10; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 40px; height: 40px;}
.carousel-arrow i {color: black !important;}
.carousel-arrow.prev {left: 10px;}
.carousel-arrow.next {right: 10px;}
.carousel-dots {text-align: center; margin-top: 10px; position: absolute; top: 260px; display: flex; justify-content: center; align-items: center; width: 100%; gap: 10px; z-index: 2;}
.carousel-dots span {display: inline-block; width: 10px; height: 10px; border-radius: 50px; cursor: pointer; background: rgb(255 255 255 / 77%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3);}
.carousel-dots span.active {background: #303030;}
#lightbox {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgb(0 0 0 / 54%); display: flex; justify-content: center; align-items: center; z-index: 99999; backdrop-filter: blur(10px);}
#lightbox .lightbox-content {position: relative; max-width: 1200px; max-height: 90vh; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; margin: 0 30px;}
#lightbox img {max-width: 100%; max-height: 100%; display: block; width: auto; height: auto; border-radius: 10px;}
#lightbox .close {position: absolute; top: 20px; right: 30px; color: black; font-size: 25px; cursor: pointer; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 50px; height: 50px; display: flex; justify-content: center; line-height: 35px; z-index: 9999999; align-items: center;}
#lightbox .lightbox-prev, #lightbox .lightbox-next {position: absolute; top: 50%; transform: translateY(-50%); font-size: 22px; color: black; cursor: pointer; border-radius: 5px; background: rgb(255 255 255 / 58%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); width: 50px; height: 50px;}
#lightbox .lightbox-prev {left: 10px; }
#lightbox .lightbox-next {right: 10px; }
#lightbox .close i {pointer-events: none; cursor: pointer;}
button, input, select, textarea {appearance: none; -webkit-appearance: none; -moz-appearance: none;}

@media screen and (min-width: 767px) {
    .cvel-comp .rating-note {display: block; width: 70px; height: 70px; border: solid 5px var(--rating-bg); border-radius: 100%; position: relative; margin-top: 10px; margin-left: auto; min-width: 70px; min-height: 70px; background: transparent;}
    .cvel-comp .rating-note:before {content: ""; position: absolute; left: -10px; top: -10px; height: calc(100% + 20px); width: calc(100% + 20px); border-radius: 100%; background: conic-gradient(var(--secondary-color) 0deg 324deg, transparent 324deg 360deg); mask: radial-gradient(circle, #0000 26px, var(--secondary-color) 0); transform: rotate(180deg);}
    
    /* 1/10 = 36° */
    .cvel-comp .rating-note[data-value="1"]:before { background: conic-gradient(var(--secondary-color) 0deg 36deg, transparent 36deg 360deg); }
    /* 2/10 = 72° */
    .cvel-comp .rating-note[data-value="2"]:before { background: conic-gradient(var(--secondary-color) 0deg 72deg, transparent 72deg 360deg); }
    /* 3/10 = 108° */
    .cvel-comp .rating-note[data-value="3"]:before { background: conic-gradient(var(--secondary-color) 0deg 108deg, transparent 108deg 360deg); }
    /* 4/10 = 144° */
    .cvel-comp .rating-note[data-value="4"]:before { background: conic-gradient(var(--secondary-color) 0deg 144deg, transparent 144deg 360deg); }
    /* 5/10 = 180° */
    .cvel-comp .rating-note[data-value="5"]:before { background: conic-gradient(var(--secondary-color) 0deg 180deg, transparent 180deg 360deg); }
    /* 6/10 = 216° */
    .cvel-comp .rating-note[data-value="6"]:before { background: conic-gradient(var(--secondary-color) 0deg 216deg, transparent 216deg 360deg); }
    /* 7/10 = 252° */
    .cvel-comp .rating-note[data-value="7"]:before { background: conic-gradient(var(--secondary-color) 0deg 252deg, transparent 252deg 360deg); }
    /* 8/10 = 288° */
    .cvel-comp .rating-note[data-value="8"]:before { background: conic-gradient(var(--secondary-color) 0deg 288deg, transparent 288deg 360deg); }
    /* 9/10 = 324° */
    .cvel-comp .rating-note[data-value="9"]:before { background: conic-gradient(var(--secondary-color) 0deg 324deg, transparent 324deg 360deg); }
    /* 10/10 = 360° → plein */
    .cvel-comp .rating-note[data-value="10"]:before { background: conic-gradient(var(--secondary-color) 0deg 360deg);}
}
@media screen and (max-width: 767px) {
    .cvel-nav {display: none;}
    .cvel-sect {flex-direction: column;}
    .cvel-sect .cvel-bloc {width: 100%;}
    .cvel-content {padding-top: 25px;}
    .cvel-profil-txt h1 {text-align: left; margin-top: 0; margin-bottom: 5px !important; font-size: 30px !important;}
    .cvel-rs-download {padding-top: 25px; flex-direction: column; align-items: flex-start;}
    .cvel-rs-download .cvel-download-cv {width: 100%; justify-content: center;}
    h2 {font-size: 22px !important; line-height: 30px !important;}
    .cvel-listing-real {flex-direction: column;}
    .cvel-listing-real .cvel-bloc-real {width: 100% !important;}
    .cvel-listing-real .cvel-bloc-real .cvel-bloc-real-img img, .cvel-bloc-real-img {height: 200px;}
    .carousel-dots {top: 160px !important;}
    .cvel-bloc-icon-txt {flex-direction: column; align-items: flex-start; gap: 15px;}
    .cvel-profil-img img {width: 100%;}
    .cvel-bloc-icon-txt > .rating-note {margin-top: 0;}
    .cvel-comp-listing, .cvel-listing-tools {gap: 40px;}
    .cvel-contact form {flex-direction: column;}
    .cvel-contact form .form-group, .cvel-contact form .btn-submit {width: 100%;}
    .cvel-bulle1 {top: 10%;}
    .cvel-bulle2 {width: 200px; height: 300px; left: 0%;}
    
}