* {
  box-sizing: border-box;
}

html,
body {
  max-width: 100%;
}

img,
video,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

table {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

@media (max-width: 991px) {
  body {
    overflow-x: hidden;
  }

  .container,
  .contain,
  .content,
  .content_wrapper,
  .blog_content,
  .blog_post,
  .inner_wrapper,
  .main_wrapper {
    max-width: 100%;
  }

  .content_wrapper,
  .blog_content,
  .blog_post {
    float: none;
    width: 100%;
  }

  table {
    display: block;
    overflow-x: auto;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .container,
  .contain,
  .content,
  .content_wrapper {
    padding-left: 16px;
    padding-right: 16px;
  }

  h1,
  .link_bar,
  .main_header {
    font-size: clamp(28px, 8vw, 42px);
    line-height: 1.12;
  }

  h2 {
    font-size: clamp(24px, 7vw, 34px);
    line-height: 1.18;
  }

  p,
  li {
    font-size: 16px;
    line-height: 1.7;
  }

  a,
  button,
  input[type="button"],
  input[type="submit"],
  .submit_button,
  .line_link,
  .linkcard {
    min-height: 44px;
  }

  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="number"],
  input[type="date"],
  select,
  textarea {
    font-size: 16px;
    width: 100%;
  }

  .footer,
  .last_footer,
  footer {
    overflow-x: hidden;
  }
}
