  @media (max-width: 575px) {
    .hero {
      min-height: 100vh;
      text-align: left !important;
      padding-top: 76px !important;
      padding-bottom: 18px !important;
    }

    .hero button {
      width: 100%;
    }

    h1 {
      font-size: 33px;
      line-height: 36px;
      margin-top: 0;
      margin-bottom: 12px;
    }

    .lead {
      margin-bottom: 14px;
      font-size: 16px;
    }

    .classement {
      grid-template-columns: 1fr;
      gap: 10px;
    }

    .choix {
      min-height: 142px;
      padding: 12px;
      grid-template-columns: 30px 1fr auto;
      grid-template-rows: auto auto;
      gap: 8px;
    }

    .rang {
      width: 30px;
      height: 30px;
    }

    .choix h2 {
      font-size: 20px;
      line-height: 24px;
    }

    .choix p {
      font-size: 14px;
      line-height: 19px;
      margin-top: 4px;
    }

    .badge {
      grid-column: 3;
      grid-row: 1;
      align-self: start;
      font-size: 12px;
      padding: 6px 8px;
      white-space: nowrap;
    }

    .choix .btn-custom {
      grid-column: 1 / 4;
      padding: 10px 14px;
      width: 100%;
      margin: 0;
    }

    .hero-bottom img {
      display: none;
    }

    .video-container {
      margin-top: 40px;
    }

    .video-container video {
      top: 87px;
    }

    .table-responsive div {
      flex-direction: column;
      align-items: flex-start;
    }

    .table-responsive div h3,
    .table-responsive div p {
      margin-bottom: 20px;
    }

    .table,
    .btn-custom {
      margin: 20px auto;
      width: 95%;
    }

    .table-responsive {
      width: 100%;

    }

    .table {
      display: block;
      margin-top: 20px;
    }

    .table>div:not(:last-child) {
      border-right: none;
    }
  }

  @media (min-width: 576px) and (max-width: 767px) {
    .hero {
      min-height: 100vh;
      text-align: left !important;
      padding-top: 86px !important;
      padding-bottom: 22px !important;
    }

    .hero button {
      width: 100%;
    }

    h1 {
      font-size: 38px;
      line-height: 42px;
      margin-top: 0;
      margin-bottom: 14px;
    }

    .lead {
      margin-bottom: 16px;
    }

    .classement {
      grid-template-columns: 1fr;
      gap: 10px;
    }

    .choix {
      min-height: 140px;
      padding: 14px;
      grid-template-columns: 34px 1fr auto;
      grid-template-rows: auto auto;
    }

    .badge {
      grid-column: 3;
      grid-row: 1;
      white-space: nowrap;
    }

    .choix .btn-custom {
      grid-column: 1 / 4;
      padding: 11px 14px;
      width: 100%;
      margin: 0;
    }

    .hero-bottom img {
      display: none;
    }

    .video-container {
      margin-top: 40px;
    }

    .video-container video {
      top: 87px;
    }

    .table-responsive div {
      flex-direction: column;
      align-items: flex-start;
    }

    .table-responsive div h3,
    .table-responsive div p {
      margin-bottom: 20px;
    }

    .table,
    .btn-custom {
      margin: 20px auto;
      width: 95%;
    }

    .table-responsive {
      width: 100%;

    }

    .table {
      display: block;
      margin-top: 20px;
    }

    .table>div:not(:last-child) {
      border-right: none;
    }
  }

  @media (min-width: 768px) and (max-width: 991px) {

    .hero {
      min-height: 760px;
      text-align: left !important;
      padding-top: 180px;
    }

    h1 {
      font-size: 50px;
      line-height: 52px;
    }

    .classement {
      grid-template-columns: 1fr 1fr;
    }

    .hero-bottom {
      margin-top: 30px;
    }

    .hero-bottom img {
      width: 30%;
    }

    .table,
    .col-md-6,
    .table-responsive {
      width: 100%;
    }

    .table-responsive div {
      grid-gap: 20px;
    }

    .row {
      flex-direction: column;
    }
  }

  @media (min-width: 992px) and (max-width: 1200px) {}

  @media (min-width: 1201px) and (max-width: 1920px) {}
