.simulator {
  position: relative;
  background: white;
  border: solid 1px #7E3F8C;
  border-radius: 20px;
  max-width: 1300px;
  margin: 0 auto;

  p {
    padding: 0;
  }

  .cta {
    margin-top: 20px;
  }

  .content {
    text-align: center;
    max-width: 100%;

    .ml {
      color: white;
    }

    .cover_simulator {
      text-align: left;
      margin: 0;

      h2 {
        font-size: 36px;
        line-height: 120%;
        background-color: #7E3F8C;
        color: white;
        padding: 65px;
        border-radius: 20px 0 0 20px;

        sup {
          font-size: 12px;
        }
      }

      .offer {
        width: 600px;
        padding-left: 45px;
        padding-right: 45px;
        font-family: Montserrat-ExtraBold;

        .text {
          margin-bottom: 20px;

          .number {
            font-size: 86px !important;
            line-height: 80px;
            position: relative;

            span {
              font-size: 86px !important;
            }

            p {
              display: inline-block;
            }

            sup {
              font-size: 41px;
            }

            .taeg {
              font-size: 13px !important;
              position: absolute;
              line-height: 14px;
              top: 45px;
              left: 200px;

              sup {
                font-size: 9px;
              }
            }
          }

          .info {
            font-size: 17px;
            line-height: 140%;
          }
        }

        .text_norate {
          font-size: 21px;
          line-height: 130%;
          padding-top: 20px;
          font-family: Montserrat-Medium;

          strong {
            font-family: Montserrat-ExtraBold;
          }
        }

        .date {
          background-color: #FFF27E;
          font-size: 20px;
          line-height: 25px;
          display: inline-block;
          padding: 5px 10px;
          margin: 0 0 20px;
          font-family: Montserrat-Bold;
        }

        .no_costs {
          min-width: 245px;
          position: relative;
          top: 10px;

          strong {
            font-size: 86px;
            position: relative;

            sup {
              font-size: 41px;
            }

            span {
              font-size: 21px;
              position: absolute;
              bottom: 15Px;
              right: 0;
            }
          }

          .frais {
            position: absolute;
            top: -13px;
            line-height: 100%;
            font-family: Montserrat-ExtraBold;
            left: 100px;
            font-size: 32px;
          }
        }

        .text_2 {
          display: flex;
          gap: 20px;
          align-items: center;

          .ml {
            font-size: 11px;
            line-height: 16px;
            text-align: left;
          }
        }
      }
    }

    .ml {
      padding: 15px 25px 0;
      font-size: 11px;
      line-height: 13px;
      text-align: left;
      position: absolute;
      bottom: 20px;
      left: 15px;
    }
  }

  @media (max-width: 1440px) {
    max-width: 1045px;

    .content {
      .cover_simulator {
        h2 {
          font-size: 30px;
          padding: 60px 40px;
        }

        .offer {
          width: 550px;
        }
      }
    }
  }

  @media (max-width: 1190px) {
    max-width: 810px;

    .content {
      padding: 0;

      .cover_simulator {
        padding: 0;

        h2 {
          font-size: 25px;
          padding-right: 30px;
          padding: 30px 40px 50px;

          sup {
            font-size: 12px;
          }
        }

        .offer {
          font-size: 17px;
          width: 370px;
          padding-left: 0;
                          padding-right: 25px;

          .text {
            margin-bottom: 15px;
            padding-top: 15px;
            gap: 25px;

            .info {
              font-size: 12px;
            }

            .number {
              font-size: 66px !important;
              line-height: 66px;

              span {
                font-size: 80px !important;
              }

              .taeg {
                font-size: 10px !important;
                line-height: 11px;
                top: 40px;
                left: 155px;

                sup {
                  font-size: 7px;
                }
              }

              sup {
                font-size: 25px;
              }
            }
          }

          .no_costs {
            min-width: 175px;
            top: 0;
            text-align: left;

            strong {
              font-size: 66px !important;
              line-height: 66px;

              sup {
                font-size: 25px;
              }

              span {
                font-size: 12px;
                bottom: -10px;
              }
            }

            .frais {
              font-size: 25px;
              left: 75px;
              top: 10Px;
            }
          }

          .text_norate {
            font-size: 21px;
            line-height: 130%;
            padding-top: 20px;
            font-size: 17px;
          }

          .date {
            font-size: 15px !important;
            padding: 0px 8px;
            margin: 0 0 15px;
          }

          .text_2 {
            display: block;

            .ml {
              margin-top: 10px;

              br {
                display: none;
              }
            }
          }
        }
      }
    }
  }

  @media (max-width: 935px) {
    max-width: 570px;

    .content {
      padding: 0 0 100px;
      max-width: 100%;

      .cover_simulator {
        display: block;

        .offer {
          margin: 0 auto;
          padding: 0;
          width: 380px;

          .text_norate {
            padding: 20px 0;
          }
        }

        h2 {
          font-size: 26px;
          width: auto;
          text-align: center;
          border-right: none;
          border-bottom: solid 1px white;
          padding: 25px;
          margin-bottom: 20px;
          border-radius: 20px 20px 0 0;
        }
      }

      .ml {
        display: block;
        text-align: center;
        width: 400px;
        padding: 0;
        left: 50%;
        margin-left: -200px;
        color: #7E3F8C;
      }
    }

    .cta {
      margin-top: 20px;
      display: block;
      width: 150px;
      position: absolute;
      margin: 0;
      bottom: 45px;
      left: -75px;
      margin-left: 50%;
      background-color: var(--blue-500) !important;
      color: white !important;
    }
  }

  @media (max-width: 670px) {
    margin: 0 40px;
  }

  @media (max-width: 580px) {
    background-size: 580px auto;
    background-position: center;
    margin: 0 25px;

    .content {
      padding: 0 0 100px;

      .cover_simulator {
        text-align: center;


        h2 {
          font-size: 21px;
          padding: 20px;

          br {
            display: block;
          }
        }

        .offer {
          width: auto;
          padding: 0 25px;

          .text {
            display: block;
            text-align: center;
            width: 200px;
            margin: 0 auto;

            .number {
              .taeg {
                left: 165px;
              }
            }

            .info {
              margin: 10px;
              line-height: 130%;
            }
          }

          .date {
            font-size: 13px !important;
          }

          .text_2 {
            .ml {
              text-align: center;
            }
          }
        }
      }
    }
  }
}

.simulator_norate {
  .content {
    .cover_simulator {
      .offer {
        .text {
          display: none;
        }
      }
    }
  }
}