@import url("https://fonts.googleapis.com/css2?family=Work+Sans:wght@300;400;500;700&display=swap");
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box !important;
}

body, html {
    font-family: 'Work Sans', sans-serif !important;
    box-sizing: border-box;
    -webkit-font-smoothing: subpixel-antialiased;
    backface-visibility: hidden;
    scroll-behavior: smooth;
    overflow-X: hidden;
    font-size: 15px;
    line-height: 28px;
    color: #111;
}

.container {
  width: 100vw;
  max-width: 100vw;
  height: 100vh;
  display: flex;
  font-size: 1rem;
}

.block {
  width: 53vw;
  height: 100%;
  position: relative;
  background-color: #777;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  background-position: center center;
  background-size: cover;
  padding: 0 2vw;
  transition: width 1000ms ease;
}

.overlay {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: transparent;
}

.body {
  margin: auto 0;
}

.brand {
  width: 20vw;
  margin-bottom: 3vh;
  transform: translateY(50%);
  transition: width 1000ms ease,
              transform 1000ms ease;
}

.title {
  font-size: 2.46em;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #FFF;
  font-weight: 400;
  text-align: left;
}

.link {
  text-transform: uppercase;
  color: #707070;
  background-color: #fff;
  font-size: 1.33em;
  font-weight: 400;
  padding: .5em 1.25em;
  border-radius: 2em;
  text-decoration: none;
  letter-spacing: .1em;
  margin: 0 auto;
  display: block;
  width: max-content;
  transform: translateY(-50%);
  opacity: 0;
  transition: opacity 1000ms ease,
              transform 1000ms ease;
}

.link:hover {
  transform: translateY(-10%) !important;
}

.entreprise {
  clip-path: polygon(0 0, 100% 0%, calc(100% - 3vw) 100%, 0% 100%);
  z-index: 100;
  background-image: url('../assets/img/entreprise.jpg');
}

.entreprise::after {
  width: 3.5vw;
  height: 100%;
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000;
  background-color: #D29723;
  clip-path: polygon(calc(100% - .5vw) 0, 100% 0, .5vw 100%, 0 100%);
}

.entreprise .overlay {
  z-index: 200;
}

.entreprise .title {
  align-self: flex-start;
  transform-origin: center left;
  transform: rotate(.75turn);
}

.academy {
  margin-left: -3vw;
  background-image: url('../../academy/assets/img/academy.jpg');
}

.academy .title {
  align-self: flex-end;
  transform-origin: center left;
  transform: translateX(100%) rotate(.75turn);
}

.academy .overlay {
  z-index: 50;
}

.block--highlighted {
  width: 78vw;
}

.block--highlighted .overlay {
  z-index: 0;
  background: linear-gradient(
    transparent,
    rgba(210, 151, 35, 0.2) 20%,
    rgba(210, 151, 35, 0.5) 50%,
    rgba(210, 151, 35, 0.2) 80%,
    transparent);
  /* background: radial-gradient(rgba(210, 151, 35, 0.6), rgba(210, 151, 35, 0.5) 25%, rgba(210, 151, 35, 0)); */
}

.block--highlighted .brand {
  width: 25vw;
  transform: translateY(0);
}

.block--highlighted .link {
  opacity: 1;
  transform: translateY(0);
}

.block--reduced {
  width: 28vw;
}
.block--reduced .overlay {
  background: rgba(0, 0, 0, .7);
}

@media only screen and (max-width: 1366px) {
  .container {
    font-size: .71rem;
  }
}

@media only screen and (max-width: 1280px) {
  .container {
    font-size: .66rem;
  }
}

@media only screen and (max-width: 1024px) {
  .container {
    font-size: .53rem;
  }
  .body {
    z-index: 100;
  }
  .overlay {
    z-index: 0 !important;
    background: linear-gradient(
      transparent,
      rgba(210, 151, 35, 0.2) 20%,
      rgba(210, 151, 35, 0.5) 50%,
      rgba(210, 151, 35, 0.2) 80%,
      transparent);
  }
  .brand {
    transform: translateY(0);
  }
  .link {
    opacity: 1;
    transform: translateY(0);
  }
}

@media only screen and (max-width: 768px) {
  .container {
    font-size: 1rem;
    flex-direction: column;
  }
  .block {
    width: 100%;
  }
  .brand {
    width: 40vw;
  }
  .title {
    font-size: 2em;
  }
  .entreprise {
    clip-path: none;
    margin: 0;
  }
  .entreprise .title {
    padding-top: 3vh;
  }
  .entreprise::after {
    display: none;
  }
  .academy {
    margin: 0;
  }
  .academy .title {
    padding-bottom: 3vh;
  }
}

@media only screen and (max-width: 420px) {
  .container {
    font-size: .54rem;
  }
  .brand {
    width: 50vw;
  }
}
