/* custom properties to define colours */
:root {
    --cream: #FFFFF4;
    --black: #0A0402;
    --creamdarker: #F8F8EA;
    --countdown: #CDA382;
    --countdownlight: #DDC2AE;
    --darkbackground: #322F3D;
    --darkbackgrounddarker: #29282E;
    /* --kaki: #999b84; */
    /* --oldpink: #efd9d1;
    --darknav: #7B637E;
    --darkprojects: #3E2C41; */
    --switch-color: var(--black);
    --ball-color: var(--cream);
    --toggle-translate: 0;
}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
/* .dark *{
    background-color: var(--darkbackground);
    color: var(--cream);
    --switch-color: var(--cream);
    --ball-color: var(--black);
    --toggle-translate: 2.5rem;
} */
html{
    scroll-behavior: smooth;
}
.flex{
    display: flex;
}
body{
    background-color: var(--cream);
    font-family: 'Montserrat', sans-serif;
    color: #0A0402;
    font-style: regular;
    font-size: clamp(13px, 10vw, 20px);
    line-height: 1.5;
    /* convention du web : séparer paragraphes de 1.3 */
    cursor: none;
}
body.dark{
    background-color: var(--darkbackground);
    color: var(--cream);
    --switch-color: var(--cream);
    --ball-color: var(--black);
    --toggle-translate: 2.5rem;
}
img{
    /* garder ratio d'une image  */
    object-fit: cover;
    display: block;
    max-width: 100%;  /* si elle n'a plus la place, elle va se reduire */
}
div{
    height: auto;
}
button{
    width: 50%;
    border-radius: 50px;
    border: 1px solid var(--black);
    background-color: var(--black);
    padding: 1% 3% 1% 3%;
    /* padding: top right bottom left*/
    transition: background-color .5s;
    /* font-family: 'Roboto', sans-serif; */
    font-family: 'Montserrat', sans-serif;
    color: var(--cream);
    font-size: clamp(13px, 10vw, 20px);
    line-height: 30px;
    font-weight: 500;
    justify-content: center;
    align-self: center;
}
.dark button{
    order: 1px solid var(--cream);
    background-color: var(--cream);
    color: var(--black);
}
button:hover {
    color: var(--black) !important;
    background-color: var(--cream);
    border: 1px solid var(--black) !important;
    /* cursor: pointer; */
}
.dark button:hover {
    color: var(--cream) !important;
    background-color: var(--black);
    border: 1px solid var(--cream) !important;
    /* cursor: pointer; */
}
button a{
    color: var(--cream);
}
.dark button a{
    color: var(--black);
}
button a:hover{
    color: var(--black);
}
.dark button a:hover{
    color: var(--cream);
}
p{
    font-size: clamp(13px, 10vw, 20px);
}
h1, h2, h3, h5, h6{
    font-family: 'Cormorant', serif;
    font-weight: 400;
    text-transform: uppercase;
}
h1{
    font-size: clamp(36px, 7vw, 75px);
    /* transition: transform 330ms ease-in-out; */
}
/* h1:hover {
    transform: translate(5vh);
} */
h2{
    font-size: clamp(32px, 7vw, 60px);
}
h3{
    font-size: clamp(28px, 7vw, 40px);
}
h4{
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(13px, 10vw, 20px);
    line-height: 30px;
    font-weight: 500;
}
h5{
    font-size: clamp(18px, 7vw, 25px);
}
h6{
    font-size: clamp(500px, 50vw, 1000px); 
    font-weight: 300;
}
a{
    font-size: clamp(13px, 7vw, 20px);
    text-decoration: none;
    color: var(--countdown);
    transition: color .5s;
}
.dark a{
    color: var(--countdownlight);
}
li{
    list-style: none;
}

/* Cursor couloured animation */
.cursor{
    z-index: 999;
    position: fixed;
    background: var(--countdown);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    pointer-events: none;
    /* box-shadow: 0 0 20px #2696E8,
                0 0 60px #2696E8,            
                0 0 100px #2696E8; */
    box-shadow: 0 0 20px var(--countdown),
                0 0 60px var(--countdown),            
                0 0 100px var(--countdown);            
    animation: colors 5s infinite;  
    transform: translate(-50%, -50%);
    display: none;
    /* backdrop-filter: grayscale(); */
}
@keyframes colors{
    0%{
        filter: hue-rotate(0deg);
    }
    100%{
        filter: hue-rotate(360deg);
    }
}
.cursor:before{
    content: '';
    position: absolute;
    /* background: #2696E8; */
    background: var(--countdown);
    width: 50px;
    height: 50px;
    opacity: .2;
    transform: translate(-30%, -30%);
    border-radius: 50%;
}

/* HEADER */
header{
    width: 100vw;
    height: 100vh;
}
nav{
    max-width: 100vw;
    min-height: 10vh;
    justify-content: space-between;
    background-color: var(--cream);
}
.dark nav{
    background-color: var(--darkbackground);
}
.nat{
    min-height: 100%;
    min-width: 30%;
    justify-content: space-around;
    align-items: center;
    margin-right: auto;
    /* margin-left: 5%; */
    flex-wrap: wrap;
}
.rotation{
    overflow: hidden;
    transition-duration: 0.8s;
    transition-property: transform;
}
.rotation:hover{
    transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
}
@media (prefers-reduced-motion: no-preference){
    .infinite-spin{
        animation: rotate infinite .7s ease-in-out;
    }
}
@keyframes rotate{
    0% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(360deg);
    }
}

/* dark mode switch */
.checkbox{
    display: none;
}
.flick{
    justify-content: space-between;
    align-items: center;
    position: relative;
    background-color: var(--switch-color);
    border-radius: 5rem;
    padding: .5rem;
    height: 2.5rem;
    width: 5rem;
    transition: .5rem ease;
    /* cursor: pointer; */
}
.flick .ball{
    position: absolute;
    background-color: var(--ball-color);
    height: 2rem;
    width: 2rem;
    border-radius: 50%;
    top: .25rem;
    left: .25rem;
    transform:translateX(var(--toggle-translate));
    transition: transform .4s ease, .5 ease;
}

.nav-links{
    min-height: 100%;
    min-width: 60%;
    justify-content: space-around;
    align-items: center;
    margin-left: auto;
    flex-wrap: wrap;
}
header a{
    text-decoration: none;
    color: var(--black);
    transition: color .5s;
}
a:hover{
    color: var(--countdown);
}
nav a:hover{
    color: var(--countdown);
}
.dark header a{
    text-decoration: none;
    color: var(--cream);
    transition: color .5s;
}
.dark a:hover{
    color: var(--countdownlight);
}
.dark nav a:hover{
    color: var(--countdownlight);
}

#landing{
    text-transform: uppercase;
    max-height: 90vh;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-left: 5%;
    margin-right: 5%;
    margin-top: 8vh;
    margin-bottom: 5vh;
}
/* .fluid{
    overflow: hidden;
}
.fluid1 .letter{
    display: inline-block;
}
.fluid2 .letter{
    display: inline-block;
}
.fluid3 .letter{
    display: inline-block;
}
.fluid4 .letter{
    display: inline-block;
} */

/* landing title animation - neat effect though see through when burger meny opened */
/* .container-landing {
    overflow: hidden;
}
.container-landing h1 {
    animation:
        slideUp 1s .75s cubic-bezier(0.17,.88,.32,1.27) both,
        fadeIn .25s .5s ease-in both;
}
 @keyframes slideUp {
    from {transform: translateY(25%);}
    to {transform:translateY(0);}
} 
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
} */

/* lineUp animation - add infinite if needed */
.container-landing h1 {
    animation: 2s lineUp ease-in;
  }
@keyframes lineUp {
    0% {
        opacity: 0;
        transform: translateY(80%);
    }
    20% {
        opacity: 0;
    }
    50% {
        opacity: 1;
        transform: translateY(0%);
    }
    100% {
        opacity: 1;
        transform: translateY(0%);
    }
}

/* flipping animation*/
/* .flipX {
    animation: 3s anim-flipX ease ;
}
@keyframes anim-flipX {
    0% {
        opacity: 0;
        transform: rotateX(90def);
    }
    50% {
        opacity: 1;
        transform: rotateX(180deg);
    }
    100% { */
        /* animate nothing to pause animation at the end */
        /* opacity: 1;
        transform: rotateX(360deg);
    }
} */

.grow{
    flex-grow: 1;
    transition: all 300ms ease-in-out;
    font-size: clamp(36px, 7vw, 75px);
}
.grow:hover{
    flex-grow: 2;
    /* cursor: pointer; */
    font-size: clamp(64px, 7vw, 120px);
}

/* Numbers */
.container-digits{
	position: absolute;
	bottom: 0;
	width: 100vw;
	height: 50vh;
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 3%;
}
.item{
	position: relative;
    width: 100%;
    height: 100%;
    line-height: 100%;
    font-size: clamp(100px, 30vw, 460px); 
    font-family: 'Cormorant', serif;
    font-weight: 400;
    opacity: 10%;
}

/* MAIN */ 
/* ABOUT */
#about{
    display: grid;
    grid-gap: 5%;
    width: 100vw;
    background-color: var(--creamdarker);
    padding: 5% 5% 12% 5%;
    /* padding: top right bottom left*/
	grid-template-columns: 1fr 2fr;
	grid-template-rows: .15fr 1fr;
    grid-template-areas: 
    "abouttitle abouttitle"   
    "cartoonpic about";
}
.dark #about{
    background-color: var(--darkbackgrounddarker);
    /* color: var(--cream); */
}
.abouttitle{
    grid-area: abouttitle;
    text-transform: uppercase;
    align-items: center;
    padding-top: 3%;
    padding-bottom: 3%;
}
.work .letter{
    display: inline-block;
}
.grow-small{
    flex-grow: 1;
    transition: all 300ms ease-in-out;
    font-size: clamp(28px, 7vw, 40px);
}
.grow-small:hover{
    flex-grow: 2.5;
    /* cursor: pointer; */
    font-size: clamp(40px, 7vw, 60px);
}
.cartoonpic img{
    border-radius: 5px;
}
.aboutme{
    grid-area: about;
    flex-direction: column;
    justify-content: center;
}
.aboutme li{
    margin-bottom: 2%;
}
.aboutme button{
    margin-top: 7%;
}

/* Eight */
.eight{
	position: absolute;
    width: 30%;
    height: 100%;
    top: 80%;
    left: 60%;
    line-height: 100%;
    font-size: 1100px;
    font-family: 'Cormorant', serif;
    font-weight: 400;
    opacity: 10%;
}

/* Carousel */
#carousel{
    padding: 0;
    margin: 0;
    position: relative;
    width: 100%;
    min-width: 475px;
    height: auto;
  }
#carousel li{
    opacity: 0;
    list-style: outside none none;
    position: absolute;
    background: transparent;
    transition: opacity 1s;
}

/* SKILLS */
#skills{
    display: grid;
    grid-gap: 3%;
    min-height: 100vh;
    width: 100vw;
    background-color: var(--cream);
    padding: 5% 5% 5% 5%;
    /* padding: top right bottom left*/
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: .3fr .3fr .3fr .3fr .3fr .7fr;
    grid-template-areas:
    "softskillstitle softskillstitle hardskillstitle hardskillstitle" 
    "icon1 icon2 hardskillsbars hardskillsbars"   
    "skill1 skill2 hardskillsbars hardskillsbars"
    "icon3 icon4 hardskillsbars hardskillsbars"
    "skill3 skill4 hardskillsbars hardskillsbars"
    ". skillsbutton skillsbutton .";
}
.dark #skills{
    background-color: var(--darkbackground);
}
.softskillstitle{
    grid-area: softskillstitle;
    text-transform: uppercase;
    justify-content: flex-start;
}
.hardskillstitle{
    grid-area: hardskillstitle;
    text-transform: uppercase;
    justify-content: flex-end;
}
.icon1{
    grid-area: icon1;
    width: 50%;
    margin-left: 25%;
    transition: transform 330ms ease-in-out;
}
.icon1:hover{
    transform: scale(1.4);
}
.icon2{
    grid-area: icon2;
    width: 50%;
    margin-left: 25%;
    transition: transform 330ms ease-in-out;
}
.icon2:hover{
    transform: scale(1.4);
}
.icon3{
    grid-area: icon3;
    width: 50%;
    margin-left: 25%;
    transition: transform 330ms ease-in-out;
}
.icon3:hover{
    transform: scale(1.4);
}
.icon4{
    grid-area: icon4;
    width: 50%;
    margin-left: 25%;
    transition: transform 330ms ease-in-out;
}
.icon4:hover{
    transform: scale(1.4);
}
.skill1{
    grid-area: skill1;
    justify-content: center;
    text-align: center;
}
.skill2{
    grid-area: skill2;
    justify-content: center;
    text-align: center;
}
.skill3{
    grid-area: skill3;
    justify-content: center;
    text-align: center;
}
.skill4{
    grid-area: skill4;
    justify-content: center;
    text-align: center;
}
.hardskillsbars{
    grid-area: hardskillsbars;
    justify-content: center;
}
.skillsbutton{
    grid-area: skillsbutton;
    justify-content: center;
    justify-self: center;
    width: 70%;
}
#hardskills{
    /* width: 100vw; */
    height: 450px;
    flex-direction: column;
    justify-content: center;
    align-self: center;
}
.align{
    align-items: center;
    margin: 1.5%;
}
.hardtitle{
    width: 100px;
}
.hardtitleJS{
    margin-right: -3.5%;
}
.bar{
    width: 80%;
    height: 30px;
    /* border: 1px solid #efd9d1; */
    margin: 0 50px 4%;
    /* margin: top right bottom left*/
    border-radius: 20px;
    display: flex;
    align-items: center;
}
.inside{
    border-radius: 30px;
    height: 20px;
    background: linear-gradient(#DDC2AE, #DDC2AE, #0A0402);
    animation: slide1 2s ease-in-out;
}
/* .dark .inside{
    background: linear-gradient(#CDA382, #DDC2AE, #FFFFF4);
} */
.inside1{
    width: 100%;
}
.inside2{
    width: 100%;
}
.inside3{
    width: 75%;
}
.inside4{
    width: 85%;
}
.inside5{
    width: 65%;
}
.inside6{
    width: 95%;
}
@keyframes slide1{
    from{width: 0;}
    to{width: 90%;}
}
@keyframes slide2{
    from{width: 0;}
    to{width: 90%;}
}
@keyframes slide3{
    from{width: 0;}
    to{width: 60%;}
}
@keyframes slide4{
    from{width: 0;}
    to{width: 70%;}
}
@keyframes slide5{
    from{width: 0;}
    to{width: 50%;}
}
@keyframes slide6{
    from{width: 0;}
    to{width: 85%;}
}

/* LOOP */
#loop{
    width: 100%;
    height: 10vh;
    /* background-color: #efd9d1; */
    background-color: #0A0402;
    overflow-x: hidden;
}
.loop-line > :first-child{
    color: #FFFFF4;
    display: inline-block;
    /* padding-right: 2em;
    padding-left: 100%; */
    margin-bottom: 1%;
    margin-top: 1.5%;
    white-space: nowrap;
    animation: looping 300s infinite linear;
    overflow: hidden;
}
/* .loop-words{
    letter-spacing: .07em;
} */
.loop-words:after {
    content: attr(data-text);
    position: absolute;
    white-space: nowrap;
    /* padding-left: 10px; */
}
@keyframes looping{
    0% {
        transform: translate3d(0,0,0);
    }
    100% {
        transform: translate3d(-100%,0,0);
    }
}

/* PROJECTS */
#projects p{
    margin-top: 3%;
}
#projects a{
    color: var(--countdown);
}
#projects a:hover{
    color: var(--countdownlight);
}
#projects{
    background-color: var(--cream);
    display: grid;
    grid-gap: 3%;
    width: 100vw;
    height: fit-content;
    padding: 5% 5% 80% 5%;
    /* padding: top right bottom left*/
	grid-template-columns: repeat(2, 1fr);
	grid-template-rows: .15fr .2fr .1fr .2fr .1fr .2fr .1fr .2fr .1fr;
    grid-template-areas:
    "projectstitle projectstitle"
    "weatherpic medtechpic"
    "weathertext medtechtext"
    "picsharepic swipepic"
    "picsharetext swipetext"
    "flourshowerpic eshoppic"
    "flourshowertext eshoptext"
    "imagegallerypic jsanimationspic"
    "imagegallerytext jsanimationstext";
}
.dark #projects{
    background-color: var(--darkprojects);
    /* color: var(--cream); */
}
.projectstitle{
    grid-area: projectstitle;
    text-transform: uppercase;
    align-items: center;
    /* border: 3px solid red; */
}
.weatherpic{
    grid-area: weatherpic;
    justify-content: center;
    align-items: center;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.weatherpic:hover{
    transform: scale(1.1);
}
.weathertext{
    grid-area: weathertext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
    /* padding: top right bottom left*/
    /* border: 3px solid pink; */
}
.medtechpic{
    grid-area: medtechpic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.medtechpic:hover{
    transform: scale(1.1);
}
.medtechtext{
    grid-area: medtechtext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
    /* padding: top right bottom left*/
}
.picsharepic{
    grid-area: picsharepic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.picsharepic:hover{
    transform: scale(1.1);
}
.picsharetext{
    grid-area: picsharetext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
}
/* iframe{
    width: 80%;
} */
.swipepic{
    grid-area: swipepic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.swipepic:hover{
    transform: scale(1.1);
}
.swipetext{
    grid-area: swipetext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
    /* padding: top right bottom left*/
}
.flourshowerpic{
    grid-area: flourshowerpic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.flourshowerpic:hover{
    transform: scale(1.1);
}
.flourshowertext{
    grid-area: flourshowertext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
}
.eshoppic{
    grid-area: eshoppic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.eshoppic:hover{
    transform: scale(1.1);
}
.eshoptext{
    grid-area: eshoptext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
    /* padding: top right bottom left*/
}
.imagegallerypic{
    grid-area: imagegallerypic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.imagegallerypic:hover{
    transform: scale(1.1);
}
.imagegallerytext{
    grid-area: imagegallerytext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
}
.jsanimationspic{
    grid-area: jsanimationspic;
    border-radius: 3px;
    justify-self: center;
    border-radius: 5px;
    height: 90vh;
    transition: transform 330ms ease-in-out;
}
.jsanimationspic:hover{
    transform: scale(1.1);
}
.jsanimationstext{
    grid-area: jsanimationstext;
    flex-direction: column;
    justify-content: flex-start;
    padding: 0% 7% 5% 7%;
    /* padding: top right bottom left*/
}
.up{
    text-transform: none;
    color: #0A0402;
    font-size: clamp(11px, 10vw, 16px);
    justify-content: flex-end;
    padding-bottom: 10%;
}
.up:hover{
    color: var(--countdown) !important;
}
.dark .up{
    color: var(--cream);
}

/* STYLE GUIDE */
#style{
    display: grid;
    /* grid-gap: 5%; */
    width: 100vw;
    height: 100vh;
    background-color: var(--creamdarker);
    padding: 5% 5% 5% 5%;
    /* padding: top right bottom left*/
	grid-template-columns: 1.5fr .2fr .4fr 1.5fr;
	grid-template-rows: .15fr 1fr 1fr 1fr 1fr 1fr;
    grid-template-areas: 
    "styletitle . . ."   
    "styleNP . . stylecream"
    "styleNP . . stylecreamdarker"
    "styleNP cormorant montserrat stylecountdownlight"
    "styleNP cormorant montserrat stylecountdown"
    "styleNP cormorant montserrat styledarkbackground";
}
.dark #style{
    background-color: var(--darkbackgrounddarker);
}
.styletitle{
    grid-area: styletitle;
    text-transform: uppercase;
    align-items: center;
}
.styleNP{
    grid-area: styleNP;
    justify-content: flex-start;
    align-items: flex-start;
    letter-spacing: -0.5em;
    margin-top: -50%;

}
.cormorant{
    grid-area: cormorant;
    justify-content: center;
    align-items: flex-start; 
    writing-mode: vertical-lr;
    text-orientation: mixed;
    padding-right: 5%;
}
.montserrat{
    grid-area: montserrat;
    justify-content: center;
    align-items: flex-start;
    writing-mode: vertical-lr;
    text-orientation: mixed;
    padding-right: 10%;
}
.stylecream{
    grid-area: stylecream;
    background: var(--cream);
    text-transform: uppercase;
    justify-content: flex-end;
    align-items: center;
    padding-right: 5%;
}
.dark .stylecream{
    color: var(--black);
}
.stylecreamdarker{
    grid-area: stylecreamdarker;
    background: var(--creamdarker);
    text-transform: uppercase;
    justify-content: flex-end;
    align-items: center;
    padding-right: 5%;
}
.dark .stylecreamdarker{
    color: var(--black);
}
.stylecountdownlight{
    grid-area: stylecountdownlight;
    background: var(--countdownlight);
    text-transform: uppercase;
    justify-content: flex-end;
    align-items: center;
    padding-right: 5%;
}
.stylecountdown{
    grid-area: stylecountdown;
    background: var(--countdown);
    text-transform: uppercase;
    justify-content: flex-end;
    align-items: center;
    padding-right: 5%;
}
.styledarkbackground{
    grid-area: styledarkbackground;
    background: var(--darkbackground);
    text-transform: uppercase;
    color: var(--cream);
    justify-content: flex-end;
    align-items: center;
    padding-right: 5%;
}


/* COUNTDOWN */
#countdown{
    display: grid;
    grid-gap: 5%;
    background: url("../images/sand-grainer-countdown.jpg") no-repeat center / cover;
    /* always set a background-color if image is not available: */
    background-color: #FFFFF4;
    max-height: 100vh;
    padding: 5%;
    grid-template-columns: 1fr;
	grid-template-rows: .3fr 1fr;
    grid-template-areas:
    "countdowntext"
    "countdonwdays";
}
.countdowntext{
    grid-area: countdowntext;
    margin-top: 5%;
    margin-bottom: 10%;
}
.countdowndays{
    grid-area: countdowntext;
}
#countdown a{
    flex-grow: 1;
    transition: all 300ms ease-in-out;
    font-size: clamp(28px, 7vw, 40px);
    color: var(--countdown);
}
#countdown a:hover{
    flex-grow: 2;
    font-size: clamp(40px, 7vw, 60px);
    color: var(--cream);
}
.countdown{
    --colour-days: calc(var(--countdown-percent-days) * 255);
    --colour-hours: calc(var(--countdown-percent-hours) * 255);
    --colour-minutes: calc(var(--countdown-percent-minutes) * 255);
    --colour-seconds: calc(var(--countdown-percent-seconds) * 255);
    --colour: calc(var(--countdown-percent) * 255);
    --length: calc(var(--countdown-percent) * 100%);
    display: flex;
    position: relative;
    overflow: hidden;
    font-family: "Brandon Grotesque", Arial;
}
.countdown .days,
.countdown .hours,
.countdown .minutes,
.countdown .seconds {
    margin: 6px;
}
.countdown .amount {
    display: inline-flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    position: relative;
    font-size: clamp(32px, 7vw, 42px);
    font-family: 'Cormorant', serif;
    line-height: 1.2em;
}
.countdown .amount::after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    margin-top: -1px;
    border-top: solid 1px rgba(200, 200, 200, 0.5);
    border-bottom: solid 1px rgba(0, 0, 0, 0.3);
    z-index: 1;
}
.countdown .digit,
.countdown .digit[data-countdown-next-digit]::after {
    display: flex;
    justify-content: center;
    align-content: center;
    align-items: center;
    position: relative;
    min-width: 50px;
    min-height: 70px;
    /* min-width: 30px;
    min-height: 50px; */
    margin: 1px;
    /* background: #051C2C; */
    background-color: #CDA382;
    border-radius: 5px;
    color: white;
    text-align: center;
    overflow: hidden;
}
.countdown .digit[data-countdown-next-digit]::after {
    display: none;
    content: attr(data-countdown-next-digit);
    position: absolute;
    left: 0;
    top: 0;
    /* animation-name: ticker-digit;
    animation-delay: 0; */
}
.countdown .label {
    display: block;
    padding-top: 2px;
    font-size: 12px;
    text-align: center;
    text-transform: uppercase;
}

/* FOOTER */
footer a{
    text-decoration: none;
    margin-top: 8%;
    transition: color .5s;
}
footer a:hover {
    /* color: #efd9d1; */
    color: #CDA382;
}
footer p{
    font-size: clamp(11px, 10vw, 16px);
}
footer{
    display: grid;
    grid-gap: 1%;
    min-width: 100vw;
	min-height: 50vh;
    background-color: var(--darkbackgrounddarker);
    color: #FFFFF4;
    grid-row-gap: 15%;
    padding: 5% 5% 5% 5%;
    /* padding: top right bottom left*/
	grid-template-columns: repeat(5, 1fr);
	grid-template-rows: 1fr 1fr;
    grid-template-areas:    
    "footertitle footertitle footertitle footertitle logo"
    "socialmedia socialmedia . copyright copyright ";
}
.footertitle{
    grid-area: footertitle;
    flex-direction: column;
    justify-content: center;
    /* overflow: hidden; */
}
.touch{
    margin-top: -5%;
}
.touch .letter{
    display: inline-block;
}
.logo{
	grid-area: logo;
    justify-content: flex-end;
    align-items: center;
}
.socialmedia{
    grid-area: socialmedia;
    gap: 3%;
    justify-content: flex-start;
    align-items: center;
}
.copyright{
    grid-area: copyright;
    justify-content: flex-end;
    align-items: center;
}

/* 360×640 => Galaxy S5 */
@media screen and (max-width: 360px){
    #landing{
        margin-top: 2vh;
        margin-bottom: 2vh;
        padding-left: 7%;
        padding-right: 7%;
    }
    .abouttitle{
        margin-top: 5% !important;
        margin-bottom: 35% !important;
    }
    .aboutme{
        margin-top: 40% !important;
    }
    #projects{
        height: 2800vh !important;
    }
    footer{
        margin-top: 200% !important;
    }
}

/* 375×667 => iPhone X */
/* MEDIA QUERIES */
@media screen and (max-width: 375px){
    #landing{
        margin-bottom: 7vh;
        padding-left: 7%;
        padding-right: 7%;
    }
    .container-digits{
        height: 90vh !important;
    }
    .item{
        margin-bottom: -50% !important;
    }
    .abouttitle{
        margin-bottom: -10% !important;
    }
    .aboutme{
        margin-top: -10%;
    }
    #carousel, #carousel li{
        min-width: 300px !important;
    }
    .eight{
        width: 20%;
        /* top: 95%; */
        left: 20%;
    }
    .aboutme button{
        margin-top: 15%;
        margin-bottom: 15%;
    }
    .skillsbutton{
        margin-top: -20%;
        margin-bottom: 10%;
    }
    footer{
        grid-row-gap: 3%;
        padding: 5% 5% 10% 5%;
        /* padding: top right bottom left*/
        margin-top: -30%;
    }
}

/* 414×896 => iPhone 6/7/8+ */
@media screen and (max-width: 415px){
	/*  HEADER */
    #landing{
        margin-top: 15vh;
    }
    #landing p{
        line-height: 1.5;
    }
    .nat{
        margin-left: 5%;
        min-width: 50%;
    }
    label{
        margin-left: 50%;
    }
    .container-digits{
        height: 90vh !important;
        width: 20vw;
	    right: 0;
        flex-direction: column;
        justify-content: flex-end;
        align-items: center;
    }
    .item{
        margin-bottom: -30%;
    }
    .item1{
        margin-bottom: -50%;
    }
    .item2{
        margin-bottom: -50%;
    }
    .item3{
        margin-bottom: -30%;
    }
    .item5{
        margin-top: -20%;
    }
    .item6{
        margin-top: 30%;
    }
    .item7{
        margin-top: -30%;
    }
    /* .scroll{
        padding-bottom: 15%;
    } */
    #about{
        height: 230vh;
    } 
    #carousel, #carousel li{
        width: 100%;
        min-width: 375px;
    }
    .aboutme button{
        margin-bottom: 15%;
    }
    .eight{
        bottom: 250%;
    }
    #skills{
        margin-bottom: 10%;
    }
    .hardskillsbars{
        margin-top: -16%;
    }
    #projects{
        height: 1340vh !important;
        grid-gap: .5%;
    }
    .styleNP{
        font-size: 300px; 
    }
    .cormorant{
        font-size: 16px; 
    }
    .montserrat{
        font-size: 14px;
    }
    .countdown{
        justify-content: center;
        margin-top: 10%;
    }
    .countdown .digit,
    .countdown .digit[data-countdown-next-digit]::after {
      min-width: 30px;
      min-height: 50px;
    }
    footer{
        padding: 5%;
        /* padding: top right bottom left*/
    }
    .footertitle{
        margin-top: 20%;
        margin-bottom: 15%;
    }
    .socialmedia{
        margin-top: 20%;
        margin-bottom: 10%;
    }
    .copyright{
        margin-top: 30% !important;
        /* border: 3px solid red; */
    }
}

@media (min-width: 526px) {
    #carousel, #carousel li{
        width: 100%;
        max-width: 500px;
    }
}

/* 768x1024 => iPad  */
@media screen and (max-width: 768px){
	/* (min-width: 500px) and */
    /*  HEADER */
    header{
        max-height: 100vh;
    }
    .line{
        width: 30px;
        height: 3px;
        background-color: #0A0402;
        margin: 5px;
    }
    .dark .line{
        background-color: var(--cream);
    }
    nav{
        position: relative;
    }
    .hamburger{
        position: absolute;
        /* cursor: pointer; */
        right: 5%;
        top: 50%;
        /* to perfectly center the burger */
        transform: translate(-5%, -50%);
        /* to prevent circle animation to hide the burger*/
        z-index: 2;  
    }
    .hamburger div{
        transition: all .3s ease;
    }
    .nav-links{
        position: fixed;
        justify-content: space-evenly;
        background: linear-gradient(#FFFFF4, #DDC2AE);
        height: 100vh;
        width: 100vw;
        flex-direction: column;
        /* to check if burger is visible  */
        /* display: none; */
        /* let's create the circle burger with a mask */
        clip-path: circle(100px at 90% -20%);
        -webkit-clip-path: circle(100px at 90% -20%);
        transition: all 1s ease-out;
        pointer-events: none;
    }
    .dark .nav-links{
        background: linear-gradient(#322F3D, #CDA382);
    }
    .nav-links.open{
        clip-path: circle(1000px at 90% -20%);
        -webkit-clip-path: circle(1000px at 90% -20%);
        pointer-events: all;
    }
    header.open{
        /* check position !!! */
        position: sticky; 
        top: 0;
        z-index: 2;
    }
    .nav-links li{
        /* hides the li */
        opacity: 0;
        margin: -30%;
    }
    .nav-links li a{
        font-size: 21px;
    } 
    .nav-links li:nth-child(1){
       transition: all .5s ease .2s;
    }
    .nav-links li:nth-child(2){
        transition: all .5s ease .4s;
    }
    .nav-links li:nth-child(3){
        transition: all .5s ease .6s;
    }
    .nav-links li:nth-child(4){
        transition: all .5s ease .8s;
    }
    /* 2 li missing here though the ones that actually works!!! */
    li.fade{
        opacity: 1;
    }
    .container-digits{
        height: 30vh;
    }

    /* ABOUT */
    #about{
        grid-gap: 3%;
        padding: 5% 5% 13% 5%;
        /* padding: top right bottom left*/
	    grid-template-columns: 1fr;
	    grid-template-rows: .4fr .6fr .6fr;
        grid-template-areas: 
        "abouttitle"   
        "cartoonpic"
        "about";
    } 
    .abouttitle{
        justify-content: center;
        align-items: center;
        text-align: center;
    }
    .cartoonpic{
        width: 80%;
        justify-content: center;
        align-items: center;
        justify-self: center;
    }
    #carousel, #carousel li{
        width: 80%;
        max-width: 500px;
    }
    .aboutme ul{
        margin-top: 10%;
    }
    .aboutme li{
        margin-bottom: 3.5%;
    }
    .aboutme button{
        margin-top: 5%;
        width: 70%
    }
    .eight{
        top: 180%;
        left: 30%;
        font-size: 550px;
    }
    
    /* SOFT SKILLS */
    #skills{
        padding: 10% 5% 13% 5%;
        /* padding: top right bottom left*/
        grid-template-columns: 1fr 1fr;
        grid-template-rows: .3fr .3fr .1fr .3fr .1fr .6fr .7fr .2fr;
        grid-template-areas:
        "softskillstitle softskillstitle" 
        "icon1 icon2"   
        "skill1 skill2"
        "icon3 icon4"
        "skill3 skill4"
        "hardskillstitle hardskillstitle"
        "hardskillsbars hardskillsbars"
        "skillsbutton skillsbutton";
    }
    .softskillstitle{
        justify-content: center;
        align-items: center;
    }
    .hardskillstitle{
        justify-content: center;
        align-items: center;
        margin-bottom: -5%;
    }
    .skillsbutton{
        justify-content: center;
        align-items: center;
        justify-self: center;
        width: 70%;
    }
    .loop-line > :first-child{
        margin-top: 5%;
    }

    /* PROJECTS */
    #projects{
        padding-bottom: 120% !important;
        /* padding: 5% 5% 120% 5%; */
        /* padding: top right bottom left*/
        height: 1160vh;
        grid-gap: .7%;
        grid-template-columns: 1fr;
        grid-template-rows: .1fr .1fr 1fr .1fr 1fr .1fr 1fr .1fr 1fr .1fr 1fr .1fr 1fr .1fr 1fr .1fr 1fr;
        grid-template-areas:
        "projectstitle"
        "weathertext" 
        "weatherpic"
        "medtechtext"
        "medtechpic"
        "picsharetext"
        "picsharepic"
        "swipetext"
        "swipepic"
        "flourshowertext" 
        "flourshowerpic"
        "eshoptext"
        "eshoppic"
        "imagegallerytext"
        "imagegallerypic"
        "jsanimationstext"
        "jsanimationspic";
    }
     .projectstitle{
        justify-content: center;
        align-items: flex-end;
        margin-top: 10%;
    }
    #projects h5{
        text-align: center;
    }
    .weatherpic{
        margin-bottom: 10%;
    }
    .medtechpic{
        margin-bottom: 10%;
    }
    .picsharepic{
        margin-bottom: 10%;
    }
    .swipepic{
        margin-bottom: 10%;
    }
    .flourshowerpic{
        margin-bottom: 10%;
    }
    .imagegallerypic{
        margin-bottom: 10%;
    }
    .eshoppic{
        margin-bottom: 10%;
    }
    .jsanimationspic{
        margin-bottom: 10%;
    }
    /* .up{
        padding-bottom: 150%;
    } */

    /* STYLE */
    #style{
        padding-top: 15%;
        padding-bottom: 25%;
        grid-template-columns: 2fr .5fr .5fr;
        grid-template-rows: .15fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
        grid-template-areas: 
        "styletitle styletitle styletitle"   
        "styleNP . ."
        "styleNP cormorant montserrat"
        "styleNP cormorant montserrat"
        "styleNP . ."
        "stylecream stylecream stylecream"
        "stylecreamdarker stylecreamdarker stylecreamdarker"
        "stylecountdownlight stylecountdownlight stylecountdownlight"
        "stylecountdown stylecountdown stylecountdown"
        "styledarkbackground styledarkbackground styledarkbackground";
    }
    .styletitle{
        justify-content: center;
        align-items: center;
        padding-bottom: 10%;
    }
    .styleNP{
        flex-direction: column;
        justify-content: center;
        align-items: flex-start;
        margin-top: 0%;
        padding-bottom: 5%;
    }
    .cormorant{
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        padding-left: 3%;
    }
    .montserrat{
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
    }

    /* FOOTER */    
    footer{
        height: 100vh;
        padding: 5% 5% 45% 5%;
        /* padding: top right bottom left*/
        grid-row-gap: .1%;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: 1fr 1fr 1fr 1fr;
        grid-template-areas:
        "logo logo logo"
        "footertitle footertitle footertitle"
        "socialmedia socialmedia socialmedia"
        "copyright copyright copyright ";
    }
    .footertitle{
        align-items: center;
        text-align: center;
    }
    .logo{
        justify-content: center;
        align-items: center;
        margin-left: 130%;
        margin-top: 40%;
    }
    .socialmedia{
        justify-content: center;
        align-items: flex-start;
        margin-top: 7%;
    }
    .copyright{
        justify-content: center;
        margin-top: 60%;
    }
}

/* burger animated cross */
.toggle .line1{
    transform: rotate(-45deg) translate(-5px, 6px);
}
.toggle .line2{
    opacity: 0;
}
.toggle .line3{
    transform: rotate(45deg) translate(-5px, -6px);
}

/* Breakpoints - most common screen size devices used in 2021:
1920×1080
1366×768 
360×640 => Galaxy S5
414×896 => iPhone 6/7/8+
1536×864
375×667 => iPhone X
768x1024 => iPad */
