:root {
  --font-ui: "Plus Jakarta Sans", sans-serif;
  --font-mono: "IBM Plex Mono", monospace;
  --e-global-typography-primary-font-family: "Plus Jakarta Sans";
  --e-global-typography-secondary-font-family: "Plus Jakarta Sans";
  --e-global-typography-text-font-family: "Plus Jakarta Sans";
  --e-global-typography-accent-font-family: "Plus Jakarta Sans";
  --wp--preset--font-family--manrope: "Plus Jakarta Sans", sans-serif;
  --wp--preset--font-family--fira-code: "IBM Plex Mono", monospace;
  --wp--preset--font-family--plus-jakarta-sans: "Plus Jakarta Sans", sans-serif;
  --wp--preset--font-family--ibm-plex-mono: "IBM Plex Mono", monospace;
}

html {
  font-size: 100%;
}

body {
  font-family: var(--font-ui);
  font-size: 16px;
  line-height: 1.5;
}

body,
body p,
body li,
body dt,
body dd,
body blockquote,
body figcaption,
body caption,
body label,
body legend,
body input,
body select,
body textarea,
body button,
body .button,
body .btn,
body a,
body th,
body td,
body strong,
body em,
body small,
body mark,
body summary,
body .nav-link,
body .dropdown-item,
body .menu-item a,
body .sub-menu a,
body .elementor-button,
body .elementor-button-text,
body .elementor-icon-list-text,
body .elementor-heading-title,
body .elementor-widget-text-editor,
body .elementor-widget-container,
body .elementor-tab-title,
body .elementor-tab-content,
body .elementor-counter-title,
body .elementor-post__title,
body .elementor-post__excerpt,
body .elementor-field,
body .elementor-field-textual,
body .elementor-form-fields-wrapper label,
body .modal-title,
body .modal-body,
body .card-title,
body .card-text,
body .card-body,
body .breadcrumb,
body .breadcrumb-item,
body .badge,
body .alert,
body .notice,
body .wp-block,
body .wp-block-button__link,
body .wp-block-navigation-item__content,
body .wp-element-caption,
body .woocommerce,
body .woocommerce button,
body .woocommerce input,
body .woocommerce select,
body .woocommerce textarea,
body .woocommerce a,
body .woocommerce table,
body .table,
body table.dataTable,
body .dataTables_wrapper,
body .wpaicg-chat-shortcode,
body .wpaicg-chat-shortcode p,
body .wpaicg-chat-shortcode li,
body .wpaicg-chat-shortcode button,
body .cycle-tab-container a,
body .continueclick,
body .resultblockdiv,
body .ck,
body .jumbotron,
body .chat_exportoptions,
body .dashboard-wrapper,
body .login-form,
body .searchtext,
body .barlowfont {
  font-family: var(--font-ui) !important;
}

body h1,
body .h1,
body .elementor-widget-heading h1,
body .wp-block-heading.is-style-default:first-child {
  font-family: var(--font-ui) !important;
  font-size: clamp(2rem, 1.8rem + 0.5vw, 2.5rem);
  font-weight: 700;
  line-height: 1.2;
}

body h2,
body .h2,
body .elementor-widget-heading h2 {
  font-family: var(--font-ui) !important;
  font-size: clamp(1.5rem, 1.4rem + 0.4vw, 1.75rem);
  font-weight: 700;
  line-height: 1.25;
}

body h3,
body .h3,
body .elementor-widget-heading h3 {
  font-family: var(--font-ui) !important;
  font-size: clamp(1.25rem, 1.1rem + 0.35vw, 1.5rem);
  font-weight: 600;
  line-height: 1.3;
}

body h4,
body h5,
body h6,
body .elementor-widget-heading h4,
body .elementor-widget-heading h5,
body .elementor-widget-heading h6 {
  font-family: var(--font-ui) !important;
  line-height: 1.35;
}

body button,
body .button,
body .btn,
body label,
body .nav-link,
body .wp-block-button__link {
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.4;
}

body small,
body .help-text,
body .description,
body .form-text,
body .text-muted {
  font-size: 0.875rem;
  line-height: 1.5;
}

body code,
body pre,
body kbd,
body samp,
body textarea.code,
body .token,
body .timestamp,
body .log,
body .id,
body .code {
  font-family: var(--font-mono) !important;
}

body pre,
body code {
  font-size: 0.95em;
}

body input::placeholder,
body textarea::placeholder,
body select::placeholder {
  font-family: var(--font-ui);
}

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

body .container,
body .container-fluid,
body .elementor-container,
body .elementor-widget-container,
body .jumbotron,
body .card,
body .modal-content,
body .dialog-widget-content {
  max-width: 100%;
  box-sizing: border-box;
}

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

  body .dataTables_wrapper,
  body .table-responsive,
  body .wp-rss-template-container,
  body .wp-rss-aggregator,
  body .resultblockdiv,
  body .widthadjust,
  body .ck-editor,
  body .ck-editor__main,
  body .cke,
  body .cke_inner,
  body .cke_contents,
  body .cke_wysiwyg_frame {
    max-width: 100% !important;
    overflow-x: auto;
  }

  body table,
  body table.dataTable {
    width: 100% !important;
    min-width: 0 !important;
  }

  body .modal-dialog,
  body .ui-dialog,
  body .dialog-widget,
  body .elementor-popup-modal {
    width: min(100% - 1rem, 1100px) !important;
    max-width: min(100% - 1rem, 1100px) !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    margin: 0.5rem auto !important;
  }

  body #table_modal .modal-content,
  body #delete_conform_modal .modal-content {
    width: min(100vw - 1rem, 1100px) !important;
    max-width: min(100vw - 1rem, 1100px) !important;
    right: auto !important;
    left: auto !important;
    top: auto !important;
    margin: 0 auto !important;
  }

  body .action,
  body .popbox,
  body .chat_exportoptions,
  body .modal-footer,
  body .btn-group,
  body .cycle-slideshow {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
  }

  body .popbox {
    left: 0 !important;
    right: 0 !important;
    top: 1.5rem !important;
    padding: 0.75rem !important;
    justify-content: center;
  }

  body .popbox button,
  body .action > *,
  body .chat_exportoptions > * {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  body #cke_responsedata,
  body #cke_editor1,
  body #cke_1_contents,
  body .ck.ck-reset,
  body iframe.cke_wysiwyg_frame.cke_reset {
    width: 100% !important;
    max-width: 100% !important;
  }

  body h1.display-4.mb-2.text-primary,
  body .success_massage.rdm {
    width: 100% !important;
    max-width: 100% !important;
  }

  body .jumbotron.jumbotron-fluid.rounded.border-0.shadow-sm,
  body .cycle-tab-container {
    width: calc(100% - 1rem) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  body header nav ul,
  body .menu,
  body .main-navigation ul,
  body .elementor-nav-menu,
  body .elementor-nav-menu--main,
  body .elementor-nav-menu--layout-horizontal,
  body .navbar-nav,
  body .menu-main-menu-container ul,
  body .menu-menu-1-container ul {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center;
    gap: 0.5rem 0.75rem;
  }

  body header nav li,
  body .menu li,
  body .main-navigation li,
  body .elementor-nav-menu li,
  body .navbar-nav li {
    float: none !important;
    width: auto !important;
    min-width: 0 !important;
  }
}

@media (max-width: 768px) {
  body [class*="col-md-"],
  body [class*="col-lg-"] {
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  body .cycle-tab-item {
    width: calc(50% - 0.5rem) !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  body .popbox button,
  body button.Activate_mail,
  body button.informative_attivate,
  body button#dropdownMenuButton,
  body select#vai,
  body input.searchtext {
    width: 100% !important;
    max-width: 100% !important;
  }

  body span.cus-span,
  body .ui-selectmenu-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    max-width: 100% !important;
  }

  body .privacyrafforzata,
  body li.cycle-tab-item.privacy {
    left: auto !important;
    top: auto !important;
    position: static !important;
  }

  body .wp-rss-aggregator.wpra-grid-template,
  body .wp-rss-template-container {
    height: auto !important;
    max-height: none !important;
  }

  body .col-md-8.horizontal,
  body .editorheight,
  body #cke_1_contents {
    height: auto !important;
    min-height: 16rem;
  }

  body .wpaicg_chat_widget_content {
    bottom: 1rem !important;
    max-width: calc(100vw - 1rem) !important;
  }

  body .chat_ex_arr {
    width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 0.75rem;
    justify-content: center;
  }

  body .chat_ex_arr .fff,
  body button.fff {
    width: calc(50% - 0.75rem) !important;
    max-width: 100% !important;
    min-width: 0 !important;
    font-size: 0.95rem !important;
    padding-inline: 0.75rem !important;
  }

  body .fixedarea,
  body div#responsedata .col3,
  body div#responsedata .col6 {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    height: auto !important;
  }

  body .own-novita,
  body .middleofcenter,
  body ul.nav.nav-tabs {
    width: 100% !important;
    justify-content: center !important;
  }

  body img.searchpagelogo {
    width: min(220px, 70vw) !important;
    top: 0 !important;
  }

  body .own-novita p {
    top: 0 !important;
    font-size: clamp(1.5rem, 6vw, 2rem) !important;
    text-align: center !important;
  }

  body span.nameonsearch,
  body a.hfe-sub-menu-item.searchlogout {
    position: static !important;
    display: block !important;
    right: auto !important;
    top: auto !important;
    float: none !important;
    text-align: center !important;
    margin: 0.5rem auto !important;
  }

  body .cycle-tab-container,
  body #responsedata,
  body .greendiv.cycle-tab-container {
    height: auto !important;
    min-height: 0 !important;
  }

  body #menu-login-header-menu,
  body #menu-login-header-menu .sub-menu {
    position: static !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0.5rem !important;
    box-shadow: none !important;
  }

  body #menu-login-header-menu > li,
  body #menu-login-header-menu .sub-menu > li,
  body #menu-login-header-menu a {
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    text-align: center !important;
  }

  body .user_title.leftside,
  body .tsbtngrp,
  body #flags {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    left: auto !important;
    right: auto !important;
    text-align: center !important;
  }

  body .tsbtngrp button,
  body .Ricercabtn {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 430px) {
  body {
    font-size: 15px;
  }

  body h1 {
    font-size: clamp(1.7rem, 7vw, 2rem) !important;
  }

  body h2 {
    font-size: clamp(1.35rem, 5.5vw, 1.6rem) !important;
  }

  body h3 {
    font-size: clamp(1.15rem, 4.8vw, 1.35rem) !important;
  }

  body .cycle-tab-item,
  body .popbox button,
  body .chat_ex_arr .fff,
  body .modal-footer > *,
  body .chat_exportoptions > * {
    width: 100% !important;
  }

  body .main-navigation a,
  body .menu-item a,
  body .nav-link,
  body .elementor-nav-menu a {
    font-size: 0.9rem !important;
    line-height: 1.35 !important;
  }

  body .jumbotron.jumbotron-fluid.rounded.border-0.shadow-sm,
  body .cycle-tab-container,
  body .widthadjust.resultblockdiv,
  body .widthadjust.continueclick {
    padding: 0.875rem !important;
  }

  body .dataTables_wrapper .dataTables_filter input,
  body .dataTables_wrapper .dataTables_length select,
  body input,
  body select,
  body textarea,
  body button,
  body .btn {
    min-height: 2.75rem;
  }
}
