*,
::before,
::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: Verdana, Geneva, Tahoma, sans-serif;
  margin: 25px;
  background: #c3c3c3;
}

h1 {
  font-size: clamp(35px, 5vw, 70px);
  padding-bottom: 20px;
}

h2 {
  font-size: clamp(25px, 3vw, 50px);
  padding: 20px 0 15px;
}

p {
  font-size: clamp(16px, 2vw, 18px);
  padding-bottom: 10px;
}

.trunc-phrase {
  border: 1px solid rgba(0, 0, 0, 0.2);
  width: 600px;
  margin: 0 auto;
  position: relative;
  top: 40px;
  padding: 10px;
  font-size: 35px;

  /* évite le passage à la ligne */
  white-space: nowrap;
  /* cache la partie du texte qui dépasse */
  overflow: hidden;
  /* remplace la partie cachée par (...) */
  text-overflow: ellipsis;
  /* permet de redimensionner la boîte sur sa longueur */
  resize: horizontal;
}

/* Les variables servent à modifier automatiquement les paramètres de la .trunc-paragraphe */
html {
  --line-h: 30px;
  --nth-lines-trunc: 5;
}

.container {
  border: 1px solid rgba(0, 0, 0, 0.2);
  padding: 20px;
  width: 600px;
  margin: 0 auto;
  position: relative;
  top: 100px;
}
.trunc-paragraphe {
  line-height: var(--line-h);
  max-height: calc(var(--line-h) * var(--nth-lines-trunc));
  font-size: calc(var(--line-h) * 0.7);
  position: relative;
  padding-right: 20px;
  text-align: justify;
  overflow: hidden;
}
.trunc-paragraphe::after {
  content: "...";
  position: absolute;
  bottom: 0;
  right: 0;
}
