/*
Author: Tom_Rémond
*/

element {
  --main-color: #3DD2CC;
  --secondary-color: #3E6B89;
}
element {
  color: var(--main-color);
  color: var(--secondary-color);
}

/*-----------------------------------------------------------------------------------*/
/*  General
/*-----------------------------------------------------------------------------------*/
body {
  min-height: 100vh;
  overflow-x: hidden;
  /*background-color: #F5F5F5;*/
  background-color: #101010;
  font-family: "Montserrat";
}
main {
  flex: 1 0 auto;
}
section {
  position: relative;
}
img {
  height: auto;
  max-width: 100%;
}

.bold { font-weight: 600; }
.activebold { font-weight: 600; }

.button {
  font-weight: 500;
  background: transparent;
  outline: none !important;
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
  display: inline-block;
  color: #3E6B89;
}
.btn-dl {
  height: 40px;
  line-height: 42px;
  padding: 0 10px;
  border: none;
}
.btn-dl span {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
}
.btn-dl:before,
.btn-dl:after {
  position: absolute;
  content: "";
  height: 0%;
  width: 2px;
  background: #3DD2CC;
}
.btn-dl:before {
  right: 0;
  top: 0;
  transition: all 0.1s ease;
}
.btn-dl:after {
  left: 0;
  bottom: 0;
  transition: all 0.1s 0.2s ease;
}
.btn-dl:hover:before {
  transition: all 0.1s 0.2s ease;
  height: 100%;
}
.btn-dl:hover:after {
  transition: all 0.1s ease;
  height: 100%;
}
.btn-dl span:before,
.btn-dl span:after {
  position: absolute;
  content: "";
  background: #3DD2CC;
}
.btn-dl span:before {
  left: 0;
  top: 0;
  width: 0%;
  height: 2px;
  transition: all 0.1s 0.1s ease;
}
.btn-dl span:after {
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
}
.btn-dl span:hover:before {
  width: 100%;
}
button:focus {
  background-color: #331832;
}

/*-----------------------------------------------------------------------------------*/
/*  Header
/*-----------------------------------------------------------------------------------*/
nav {
    background-color: transparent;
    box-shadow: none;
    z-index: 2;
    /* background-color: #"F5F5F5"; */
}
nav .nav-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
nav .nav-wrapper #nav-mobile {
  display: flex;
}
nav li.logo a {
  max-height: 60px;
}
nav li.logo img {
  max-height: 60px;
}
nav ul li.logo a:hover {
  background-color: unset;
}
nav ul a:hover {
  background-color: unset;
  font-weight: bold;
}
nav li a {
    color: #3DD2CC;
    font-weight: 400;
}

@media screen and (max-width: 1024px) {
  nav {
    height: 90px;
    line-height: 90px;
  }
  nav li a {
    font-size: 1.4rem;
  }

  .button {
    font-size: 1.6em;
  }
} 


/*-----------------------------------------------------------------------------------*/
/*  Index
/*-----------------------------------------------------------------------------------*/

.z1 {
    z-index: 1;
}

section {
    z-index: 2;
}

.portfolio-title-container {
  position: relative;
}

.portfolio-title-container h1 {
    margin: 0;
    font-size: 80px;
    font-weight: 600;
    text-shadow: 0 0 2px #3DD2CC;
    text-transform: uppercase;
    color: #FFFFFF;
    -webkit-text-stroke: 1px #3DD2CC;
    position: fixed;
    transform: translateX(-100%) rotate(-90deg);
    transform-origin: right;
    left: 5vw;
    top: 1vh;
    padding-right: 10vw;
} 
@media screen and (max-width: 1920px) {
  .portfolio-title-container h1 { 
    padding-right: 15vw;
  } 
}

@media screen and (min-width: 1920px) {}
/* FONT lil laptop */
@media only screen and (min-width: 768px) and (max-width: 1500px) {
    @media only screen and (min-height: 500px) and (max-height: 850px) {
    }
}
@media screen and (max-width: 1239px) {}
@media screen and (min-width: 960px) and (max-width: 1239px) {}
@media screen and (min-width: 768px) and (max-width: 959px) {}
@media screen and (max-width: 959px) {}
@media screen and (max-width: 767px) {}

/* TEST CV */
.cv-section {
    /* background-color: #331832;  */
    margin: 0 auto;
}

.cv-box { 
    /* background-color: #ddd;  */
    margin: 3rem;
    display: flex;
    flex-direction: column;
    border-radius: 5px;
}

.cv-container {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}
#cv {
  position: relative;
  width: 350px;
  height: 550px;
  background: #F5F5F5;
  border-radius: 0% 0% 0% 0% / 0% 0% 0% 0%;
  border: 1px solid #0000000a;
  color: white;
  box-shadow: -20px 20px rgba(255, 255, 255, 0.15);
  transition: all .4s ease;
  margin: 4rem;
  text-align: center;
}
#cv:hover {
  box-shadow: 10px 10px rgba(255, 255, 255, 0.15);
}

@media screen and (min-width: 1920px) {
    #cv {
        width: 550px;
        height: 850px;
    }
}
@media screen and (max-width: 1024px) {
  .portfolio-title-container h1 {
    left: 8vw;
    top: 10vh;
  } 
  #CV {
    margin: 0 auto 10% auto;
  }
  #cv {
    width: 100%;
    height: 100%;
    margin: 0 0 40px 0;
  }
}


/*section timeline*/
#Diplome::before {
  content:"";
  display:block;
  height: 60px;
  margin: -30px 0 0;
}
.section-timeline::before,
.section-timeline::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.section-timeline {
  /* background-color: #331832; */
  color: #3DD2CC;
}
.section-timeline h2 {
  text-align: center;
  margin-bottom: 80px;
}
.section-timeline ul.tabs {
  background-color: transparent;
  flex-direction: row;
  justify-content: space-evenly;
}
.section-timeline ul.tabs li.tab {
  flex-grow: unset;
  text-transform: unset;
}
.section-timeline ul.flex-list {
  padding: 30px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.section-timeline ul.tabs li.tab a {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  font-weight: bold;
  font-size: 1.3em;
}
.section-timeline ul.tabs li.tab a:hover, .section-timeline ul.tabs li.tab a:active, .tabs li.tab a:active {
  background-color: rgb(210 223 241 / 5%) !important;
}
.section-timeline ul.tabs li.tab a i {
  margin-right: 0.5rem;
}
.section-timeline ul li.box-tab {
  position:relative;
  list-style-type: none;
  width: 6px;
  background-color: white;
  padding-top: 50px;
  color: #3E6B89;
}
.section-timeline ul li.box-tab div {
  border: 1px solid #3DD2CC;
}
.section-timeline ul li.box-tab::after {
  background: white;
  content: '';
  width: 25px;
  height: 25px;
  border-radius: 50%;
  position:absolute;
  left:50%;
  transform: translateX(-50%);
  bottom: 0;
}
.section-timeline ul li.box-tab div{
  position: relative;
  width: 400px;
  padding: 15px;
  border-radius: 5px;
  bottom: 0;
  background: rgba(42,50,113, .28);
}
.section-timeline ul li.box-tab:nth-child(odd) div {
  left: 45px;
}
.section-timeline ul li.box-tab:nth-child(even) div {
  left: -445px;
}
.section-timeline time {
  font-weight: bold;
  font-size: 18px;
  display: block;
}
.section-timeline ul li.box-tab div {
  visibility: hidden;
  opacity: 0;
  transition: all .5s ease-in-out;
}
.section-timeline ul li.box-tab.show:nth-child(odd) div {
  transform: translate3d(40px, 0, 0);
}
.section-timeline ul li.box-tab.show:nth-child(even) div {
  transform: translate3d(-40px, 0, 0);
}
.section-timeline ul li.box-tab.show div {
  transform: none;
  visibility: visible;
  opacity: 1;
  background-color: transparent;
}

.tabs .tab a:hover, .tabs .tab a.active {
  color: #3E6B89;
}
.tabs .tab a:hover, .tabs .tab a {
  background-color: transparent;
  color: #3E6B89;
}
.tabs .indicator {
  background-color: #3DD2CC;
}

@media screen and (max-width: 900px) {
    .section-timeline ul li.box-tab div {
        width: 250px;
    }
    .section-timeline ul li.box-tab:nth-child(even) div {
        left: -289px;
    }
}

/* WORK */
.section-work {
  z-index: 3;
  margin: 5% 0 5% 0;
  /* background-color: #331832; */
}
.section-work::before {
  content:"";
  display:block;
  height: 60px;
  margin: -30px 0 0;
}
.section-work .flex-work-title {
    margin-top: 3rem;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    color: #3DD2CC;
}
.section-work .flex-work-title .h2-flex h2 {
    font-size: 7.2rem;
    line-height: 110%;
    margin: 0rem 0 -2rem 0;
    letter-spacing: -0.6rem;
    font-weight: 800;
    text-transform: uppercase;
}
.section-work .flex-work-title .h2-box {
    border-bottom: 5px solid #3DD2CC;
} 
.section-work .flex-work-title h2 {
    font-size: 1.6rem;
    font-weight: 600;
    text-transform: uppercase;
}
.section-work .flex-works .row {
    margin-top: 70px;
}
.section-work .flex-works .work-title {
    display: flex;  
    align-items: flex-start;
    justify-content: center;
    padding-top: 20px;
}
.section-work .flex-works .work-title div {
  padding-left: 30px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
@media screen and (max-width: 1239px) {
  .section-work .flex-work-title {
    justify-content: space-around;
}
  .section-work .flex-works img {
    max-height: 400px;
  }
}

/*-----------------------------------------------------------------------------------*/
/*  Skills - Compétences
/*-----------------------------------------------------------------------------------*/
#Skills {
  padding: 3% 10% 0 10%;
}
#Skills h2 {
  color: #3DD2CC;
  text-align: center;
}
#Skills ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  border: 1px solid #3DD2CC;
  padding: 0 40px 35px 40px;
}
#Skills li {
  margin-top: 35px;
  padding: 20px 0 25px 0;
  display: inline-block;
  vertical-align: top;
  width: 25%;
  border: 1px solid #000000;
  color: #3DD2CC;
}
#Skills li:hover {
  border-color: #3DD2CC !important;
}
#Skills img {
  width: 70px;
  filter: invert(81%) sepia(84%) saturate(1462%) hue-rotate(139deg) brightness(86%) contrast(89%);
}
#Skills img:hover {
  transition: 0.4s;
  transform: scale(1.1);
}

/*-----------------------------------------------------------------------------------*/
/*  Projets réalisés - WORK work
/*-----------------------------------------------------------------------------------*/
#Projets {
  height: 100%;
  /* for touch screen */
  touch-action: none; 
  background: #101010;
}
.container-projects {
  min-height: 70vh;
  margin: 5vh 0 5vh 0;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  background: #101010;
  -webkit-perspective: 1000px;
          perspective: 1000px;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
#drag-container, #spin-container {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: auto;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  -webkit-transform: rotateX(-10deg);
          transform: rotateX(-10deg);
}
#drag-container img, #drag-container video {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  line-height: 200px;
  font-size: 50px;
  text-align: center;
  -webkit-box-shadow: 0 0 8px #fff;
          box-shadow: 0 0 8px #fff;
  -webkit-box-reflect: below 10px linear-gradient(transparent, transparent, #0005);
  padding: 0 10px !important;
  background-color: #000000bb;
}
#drag-container img:hover, #drag-container video:hover {
  cursor: pointer;
}
#drag-container img:hover, #drag-container video:hover {
  -webkit-box-shadow: 0 0 15px #fffd;
          box-shadow: 0 0 15px #fffd;
  -webkit-box-reflect: below 10px linear-gradient(transparent, transparent, #0007);
}
#drag-container p {
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%) rotateX(90deg);
          transform: translate(-50%,-50%) rotateX(90deg);
  color: #fff;
}
#ground {
  width: 900px;
  height: 900px;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translate(-50%,-50%) rotateX(90deg);
          transform: translate(-50%,-50%) rotateX(90deg);
  background: -webkit-radial-gradient(center center, farthest-side , #9993, transparent);
}
.top-arrow {
  display: none;
}
.bot-arrow {
  display: none;
}

@media screen and (max-width: 1024px) {
  #Skills ul {
    margin: 10%;
  }
  #Skills li {
    width: 50%;
  }

  .section-timeline ul li.box-tab.show:nth-child(odd) div {
    transform: translate3d(0px, 0, 0) !important;
  }
  .section-timeline ul li.box-tab.show:nth-child(even) div {
    transform: translate3d(0px, 0, 0) !important;
  }

  .top-arrow {
    transform: rotate(-90deg);
    top: 15%;
  }
  .bot-arrow {
    transform: rotate(90deg);
    bottom: 5%;
  }
  .top-arrow, .bot-arrow {
    display: block;
    position: absolute;
    left: 50%;
    width: 50px;
  }

  .container-projects {
    min-height: 50vh;
  }
  #drag-container {
    transform: rotate3d(5, 25, 0, -7deg);
  }
  #drag-container p {
    font-size: 1.6em;
  }
}

@-webkit-keyframes spin {
  from{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  } to{
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@keyframes spin {
  from{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  } to{
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  }
}
@-webkit-keyframes spinRevert {
  from{
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  } to{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
}
@keyframes spinRevert {
  from{
    -webkit-transform: rotateY(360deg);
            transform: rotateY(360deg);
  } to{
    -webkit-transform: rotateY(0deg);
            transform: rotateY(0deg);
  }
}

/*-----------------------------------------------------------------------------------*/
/*  SVG - sections
/*-----------------------------------------------------------------------------------*/

.shapes svg {
  background-color: #3DD2CC;
  margin-top: 5px;
  width: 50px;
  height: 50px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 99;
}
#shape::after {	
  top: 3px;
  left: 3px;
  right: 3px;
  bottom: 3px;
  content: "";
  position: absolute;
  background: #fff;
}

/*-----------------------------------------------------------------------------------*/
/*  Footer
/*-----------------------------------------------------------------------------------*/
footer {
  width: 100%;
  margin-bottom: -20px;
}
.page-footer {
  background: #000000;
}
footer .footer-img {
  width: 50%;
}

@media screen and (max-width: 1024px) {
  footer {
    padding-bottom: 5%;
    font-size: 1.8em;
  }
}

