#intro {
  color: #FFFFFF;
}
#intro .content,
#intro .me.mob {
  display: block;
  width: 100vw;
}
#intro .content {
  padding-top: 20px;
  /* mobile only */
  display: flex;
  flex-direction: column;
  height: calc(100% - 89px);
  justify-content: space-between;
}
#intro .content .infos img,
#intro .content .infos p {
  vertical-align: middle;
}
#intro .content .infos {
  text-align: center;
}
#intro .content .infos img {
  max-height: 27px;
  max-width: 45px;  
  position: relative;
}
#intro .content .infos img.birthday {
  max-height: 29px;   
  top: -3px;
}
#intro .content .infos img.id {
  max-height: 22px;
  top: -2px;
}
#intro .content .infos img.meuh {
  top: -2px;
}
#intro .content .infos p {
  width: 270px;
  font-size: 16px;
  margin: 8px auto;
}
#intro .content .infos p img {
  margin: 0 6px;
}
#intro .content .inline {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}
#intro .content .inline.desk {
  display: none;
}
#intro .content .inline .column {
  width: 25%; 
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;  
  align-items: flex-start;    
}
/*
#intro .content .inline .column:nth-of-type(2n+1) {
  margin-left: 25%;
}
#intro .content .inline .column:nth-of-type(2n) {
  margin-right: 25%;
}
#intro .content .inline .column:nth-of-type(-n+2) {
  flex-direction: column-reverse;
}
*/
/*
@keyframes pulse {
	0% { transform: translateY(0) translateX(0px); }
	12.5% { transform: translateY(-7.5px) translateX(-7.5px); }
  25% { transform: translateY(-15px) translateX(15px); }
  37.5% { transform: translateY(-7.5px) translateX(-7.5px); }
	50% { transform: translateY(0) translateX(0px); }
  62.5% { transform: translateY(7.5px) translateX(7.5px); }
  75% { transform: translateY(15px) translateX(15px); }
  87.5% { transform: translateY(7.5px) translateX(7.5px); }
  100% { transform: translateY(0) translateX(0); }
}
@keyframes bubbleInBox {
	0% { }
  25% { border-bottom-left-radius: 20%; border-bottom-right-radius: 20%; margin-top: 4vw; height: 9vw; }
  50% { border-bottom-left-radius: 100%; border-bottom-right-radius: 100%; margin-top: 25px; height: 13vw; }
  75% { border-top-left-radius: 20%; border-top-right-radius: 20%; margin-bottom: 4vw; height: 9vw; }
  100% { border-top-left-radius: 100%; border-top-right-radius: 100%; margin-bottom: 25px; height: 13vw; }
}
*/
#intro .content .circle {
  border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%;
  width: calc(25vw - 20px);
  height: calc(25vw - 20px);
  margin: 10px;
  position: relative;
  background-color: #FFFFFF;
  flex-flow: wrap-reverse;
  flex-direction: column;
  align-content: center;
  transition: all 0.2s linear;
  -webkit-mask-image: linear-gradient(90deg, #0000, #fff, #0000);
          mask-image: linear-gradient(90deg, #0000, #fff, #0000);
  -webkit-mask-size: 600% 100%;
          mask-size: 600% 100%;
}
@keyframes blobBorder {
	0%, 100% { border-radius: 40% 60% 70% 30% / 40% 40% 60% 50%; }
  34% { border-radius: 70% 30% 50% 50% / 30% 30% 70% 70%; -webkit-mask-position: 0% 20%; }
  67% { border-radius: 100% 60% 60% 100% / 100% 100% 60% 60%; -webkit-mask-position: 60% 90%; }
  100% { border-radius: 40% 60% 70% 30% / 40% 40% 60% 50%; }
}
@keyframes blobBackground {
  100% { -webkit-mask-position: right; mask-position: right; transform: rotate(360deg); }
}
#intro .content .circle:nth-of-type(1) {
  animation: blobBorder 3s infinite linear, blobBackground 20s infinite alternate;
}
#intro .content .circle:nth-of-type(2) {
  animation: blobBorder 4s infinite linear reverse, blobBackground 16s infinite alternate;
}
#intro .content .circle:nth-of-type(3) {
  animation: blobBorder 4s infinite linear, blobBackground 30s infinite alternate;
}
#intro .content .circle:nth-of-type(4) {
  animation: blobBorder 3s infinite linear reverse, blobBackground 24s infinite alternate;
}
#intro .content .circle.active {
  background-color: transparent;
  animation: none;
  -webkit-mask-image: none;
  mask-image: none;
  -webkit-mask-size: none;
  mask-size: none;
}
#intro .content .circle img {  
  position: absolute;
  visibility: visible;
  scale: 0%;
  -webkit-transition: all .3s linear;
  -o-transition: all .3s linear;
  transition: all .3s linear;
}
#intro .content .circle.web.active img {
  scale: 125%;
}
@keyframes troisCentSoixanteDegre {
	0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
#intro .content .circle.web.active img:first-of-type {
  animation: troisCentSoixanteDegre 360s infinite linear;
}
#intro .content .circle.web.active img:last-of-type {
  animation: troisCentSoixanteDegre 180s infinite linear;
  animation-direction: reverse;
}
#intro .content .circle.art.active img {
  scale: 112%;
}
@keyframes paintBrush {
  0%, 100M% { transform: rotate(0deg); }
	20% { transform: rotate(-60deg); }
  60% { transform: rotate(100deg); }
}
#intro .content .circle.art.active {
  animation: troisCentSoixanteDegre 90s infinite linear;
}
#intro .content .circle.art.active img:last-of-type {
  animation: paintBrush 18s infinite linear alternate;
  /*-ms-transform: rotate(45deg);
  -ms-transform-origin: 20% 40%;
  transform-origin: 20% 40%; */
}
#intro .content .circle.music.active img.music-player {
  width: auto;
  scale: 128%;
}
#intro .content .circle.music.active img.disc {
  scale: 110%;
  animation: troisCentSoixanteDegre 1.82s infinite linear;
}
#intro .content .inline a {
  opacity: 0;
  font-size: 1vw;
}
#intro .content .inline a.skate {
  align-self: end;
  margin: auto 0 0 0;
}
#intro .content .inline a img {  
  height: 30px;
  width: 100%;
  max-width: 6vh;
  vertical-align: middle;
}
#intro .content .interets{
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column wrap;
          flex-flow: column wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  position: relative;
}
#intro .content .interets .item {
  width: 100%;
  text-align: center;
}
#intro .content .interets .item.pc img.pc {
  position: absolute;
  width: 64%;
  margin: 0px 18%;
  top: 24%;
  display: none;
}
#intro .content .interets .item.tv img {
  position: absolute;
  width: 47%;
  top: 42.5%;
  left: 18.5%;
  display: none;
}
#intro .content .interets .item.pc svg,
#intro .content .interets .item.tv svg {
  position: relative;
}
#intro .content .interets .item.pc:hover img.pc {
  display: block;
}
#intro .content .interets .item img {
  max-width: 25px;
  max-height: 25px;
}
#intro .content .interets .item a {
  width: 100%;
  display: block;
  height: 22px;
  line-height: 22px;
}
#intro .content .interets a img {
  height: 18px;
  max-width: 25px;
  position: relative;
  top: 2px;
  margin-right: 5px;
}
#intro .content .interets a img.skate2 {
  top: 4px;
}
#intro .content .interets .item .bloc {
  min-width: 135px;
  min-height: 135px;
  max-width: 260px;
  width: 100%;
  height: 100%;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  cursor: pointer;
  position: relative;
}
#intro .content .interets .item .bloc svg {
  height: 100%;
  width: 100%;
  padding: 15px;
  display: inline-block;
  fill: #FFFFFF;
  -webkit-transition: all .3s ease-in-out;
  -o-transition: all .3s ease-in-out;
  transition: all .3s ease-in-out;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
#intro .content .interets .item.foot:hover svg {
  -webkit-animation: 3s rotate1080 infinite ease-out;
          animation: 3s rotate1080 infinite ease-out;
}
#intro .content .interets .item.art .bloc {
  position: relative;
}
#intro .content .interets .item.art .bloc img {
  width: 100%;
  height: auto;
  border-radius: 20px;
}
#intro .content .interets .item.art .bloc svg {
  border-radius: 15px 15px 0 0;
  position: relative;
  padding: 0;
}
#intro .content .interets .item.art .bloc svg .st0 {
  fill: none;
}
#intro .content .interets .item.art .bloc svg .st1,
#intro .content .interets .item.art .bloc svg .st2 {
  fill: #FFFFFF;
}
#intro .content .interets .item.art svg g.rays {
  opacity: 0;
}
#intro .content .interets .item.art:hover svg g.rays {
  opacity: 1;
}
#intro .content .interets .item.art:hover .bloc svg .st1 {
  fill: #FFFFFF;
}
#intro .content .interets .item.art:hover .bloc svg .st2 {
  fill: #FF1220;
}
#intro .content .interets .item.tv .bloc img.homer {
  display: none;
}
#intro .content .interets .item.tv:hover img.homer {
  display: block;
}
#intro .content .interets .item.pc:hover svg polygon {
  display: none;
}
#intro .content .interets .item.music svg.disc {
  position: relative;
  top: -15px;
  left: -15px;
  margin: 0 20% 20% 0;
  max-width: 80%;
  max-height: 80%;
  padding: 0px;
}
#intro .content .interets .item.music:hover svg.disc {
  -webkit-animation: 2s rotate360 infinite linear;
          animation: 2s rotate360 infinite linear;
}
#intro .content .interets .item.music svg.buttons,
#intro .content .interets .item.music svg.diams {
  position: absolute;
  padding: 0;
}
#intro .content .interets .item.music svg.buttons {
  top: 0;
  left: 0;
}
#intro .content .interets .item.music svg.diams {
  top: -38px;
  right: 10px;
  max-width: 15%;
  -webkit-transform-origin: 64% 24% !important;
  -ms-transform-origin: 64% 24% !important;
  transform-origin: 64% 24% !important;
}
#intro .content .interets .item:hover p.text{
  display: block;
  color: #FFFFFF;
}
#intro .content .interets p {
  display: none;
  flex-flow: column;
}
#intro .content .interets p a {
  width: fit-content;
  font-size: 22px;
  line-height: 32px;
  cursor: pointer;
}
#intro a.alignselfmid {
  align-self: center;
}
#intro a.alignselfend {
  align-self: end;
}
#intro .mob a.ytb.sport.odell {
  position: relative;
  top: -55px;
  left: 25vw;
}


#intro .me {
  max-width: 660px;
  margin: 0 auto;
  position: relative;
}
#intro .me img.oim,
#intro .me div.eye img {
  position: absolute;
}
#intro .me div.eye {
  position: relative;
  z-index: -1;
  --eyeWidth: 100%;
  width: var(--eyeWidth);
  --eyeHeight: 100%;
  height: var(--eyeHeight);
}
#intro .me div.eye img {
  -webkit-animation: 10s rotate360 infinite linear;
  animation: 10s rotate360 infinite linear;
  left: calc(var(--eyeWidth) / 4);
  margin-top: calc(var(--eyeHeight) / 2);
  max-width: calc(var(--eyeWidth) / 2);
}
#intro .content #video-box {
	display: none;
	position: fixed;
	z-index: 99999;
	width: 100vw;
	height: calc(100vh - 88px);
	text-align: center;
	top: 44px;
	left: 0;
	background-color: #000;
}
#intro .content #close-video {
  display: none;
  width: 50px;
  height: 50px;
  font-size: 40px;
  line-height: 44px;
  text-align: center;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999999;
  cursor: pointer;
}
#intro .content #video-box iframe {
  max-width: calc(100% - 50px);
  max-height: calc(56.25vw - 28px);
  margin: 0 25px;
  width: 100%;
  height: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border: none;
}
#intro .content #video-box:target {
	outline: none;
	display: block;
}

@-webkit-keyframes rotate360 {
  to {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes rotate360 {
  to {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes rotate1080 {
  to {
    -webkit-transform: rotate(1080deg);
    -ms-transform: rotate(1080deg);
    transform: rotate(1080deg);
  }
}
@keyframes rotate1080 {
  to {
    -webkit-transform: rotate(1080deg);
    -ms-transform: rotate(1080deg);
    transform: rotate(1080deg);
  }
}

@media screen and (min-width: 555px) {

  #intro .content .interets .item .bloc svg {
    padding: 25px;
  }
  #intro .content .interets .item.pc .bloc svg,
  #intro .content .interets .item.tv .bloc svg {
    padding: 15px;
  }
  #intro .content a.hide-interests {
    top: 96%;
  }

}

@media screen and (min-width: 600px) {

  #intro .content {
    padding-top: 30px;
  }
  #intro .content .infos .block {
    display: flex;
    justify-content: center;
  }
  #intro .content .circle {
    width: 16vw;
    height: 16vw;
    margin: 25px;
  }

}

@media screen and (min-width: 820px) {

  #intro .content .infos p,
  #intro .content .infos img {
    display: inline;
  }
  #intro .content .infos p {
    margin: 15px 25px;
  }


}

@media screen and (min-width: 1050px) {

  #intro .content .interets {
    max-width: 1160px;
    margin: 0 auto;
    align-content: baseline;
  }
  #intro .content a.hide-interests {
    right: -14px;
    top: 24px;
    width: 44px;
  }
  #intro .content .interets a.hide-interests img {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  #intro .content .interets .item {
    margin: 20px 0;
  }
}

@media screen and (min-width: 1200px) {

  #intro .content {
    padding-top: 0;
    height: calc(100vh - 88px);
    max-width: calc(100% - 500px);
  }
  #intro .content,
  #intro .me.desk {
    display: inline-block;
    vertical-align: top;
  }
  #intro .content .infos {
    margin-top: 5vh;
    width: 100vw;
    position: absolute;
    left: 0;
  }
  #intro .content .infos p {
    width: inherit;
  }
  #intro .content .inline {
    height: calc(100vh - 240px);
    padding-right: 40px;
    position: absolute;
    bottom: 55px;
  }  
  #intro .content .inline .column {
    margin: 0;
  }
  #intro .content .inline .column:first-of-type { /* ballon de basket */
    flex-direction: column-reverse;
  }
  #intro .content .circle {
    width: 13vw;
    height: 13vw;
    position: relative;
  }
  #intro .content .circle.foot {
    align-self: end;
  }
  @keyframes basketballBounce {
    0%, 100%  { transform: translateY(-30%) rotate(15deg); }
    12.5% { transform: translateY(0)translateX(-4%) rotate(0deg); }
    25% { transform: translateY(-27%)translateX(-8%) rotate(-10deg); }
    37.5% { transform: translateY(0) translateX(-4%) rotate(0deg); }
    50% { transform: translateY(-28%)translateX(6%)  rotate(20deg); }
    62.5% { transform: translateY(0)translateX(12%) rotate(-10deg); }
    75% { transform: translateY(-31%)translateX(6%) rotate(-25deg); }
    87.5% { transform: translateY(0) rotate(0deg); }
  }
  /*
  @keyframes basketballBounce {
    0%, 100%  { transform: translateY(-30%) rotate(15deg); }
    5% { transform: translateY(0)translateX(-4%) rotate(0deg); }
    10% { transform: translateY(-27%)translateX(-8%) rotate(-10deg); }
    15% { transform: translateY(0) translateX(-4%) rotate(0deg); }
    20% { transform: translateY(-28%)translateX(6%)  rotate(20deg); }
    25% { transform: translateY(0)translateX(12%) rotate(-10deg); }
    30% { transform: translateY(-31%)translateX(6%) rotate(-25deg); }
    35% { transform: translateY(0)translateX(-4%) rotate(0deg); }
    40% { transform: translateY(-27%)translateX(-10%) rotate(-10deg); }
    45% { transform: translateY(0) translateX(-2%) rotate(0deg); }
    55% { transform: translateY(-28%)translateX(6%)  rotate(20deg); }
    60% { transform: translateY(0) translateX(-2%) rotate(0deg); }
    65% { transform: translateY(-26%)translateX(-10%)  rotate(20deg); }
    70% { transform: translateY(0)translateX(1%) rotate(-10deg); }
    75% { transform: translateY(-27%)translateX(12%) rotate(-25deg); }
    80% { transform: translateY(0)translateX(2%) rotate(0deg); }
    85% { transform: translateY(-31%)translateX(-9%) rotate(-10deg); }
    90% { transform: translateY(0) translateX(-4%) rotate(0deg); }
    95% { transform: translateY(-28%)translateX(1%) rotate(-10deg); }
  }
  */
  #intro .content .circle.foot.active {
    margin-bottom: 0;
    margin-top: 23%;
  }
  #intro .content .circle.foot.active img {
    scale: 110%;
    animation: basketballBounce 2s cubic-bezier(.550, .055, .675, .380) infinite alternate-reverse;
    z-index: 1;
  }
  #intro .content .circle.art {
    right: 3%;
  }
  #intro .content .interets .item .bloc svg {
    padding: 35px;
  }
  #intro .me {
    width: calc(100% - 68vw);
    max-width: 500px;
    z-index: 0;
    height: calc(100vh - 88px);
    margin: 0;
  }
  #intro .me img.oim {
    max-height: calc(100vh - 88px);
    bottom: 0;
  }
  #intro .me div.eye img {
    left: calc(var(--eyeWidth) / 2.5);
    top: calc(var(--eyeHeight) / 2.6);
    margin: 0;
  }
  #intro .me.mob,
  #intro .inline.mob {
    display: none;
  }
  #intro .content .inline.desk {
    display: flex;
  }

}

@media screen and (min-width: 1520px) {

  #intro .content #video-box iframe {
    max-height: calc(100vh - 138px);
    width: calc((100vh - 138px) * 1.778);
  }

}
