/**
 * DNH Plugin Styles - Refactored (Mobile-First)
 * Base styles + breakpoint-specific overrides only
 * 
 * Breakpoints:
 * - sm: 561px+
 * - md: 768px+
 * - lg: 992px+
 * - xl: 1200px+
 * - hd-ready: 1400px+
 * - hd: 1920px+
 * - uhd: 2560px+
 */

/* ==========================================================================
   CSS CUSTOM PROPERTIES
   ========================================================================== */

:root {
    --default-shadow:
        rgba(0, 0, 0, 0.07) 0px 1px 1px,
        rgba(0, 0, 0, 0.07) 0px 2px 2px,
        rgba(0, 0, 0, 0.07) 0px 4px 4px,
        rgba(0, 0, 0, 0.07) 0px 8px 8px,
        rgba(0, 0, 0, 0.07) 0px 16px 16px;
    --blue-color-w-opacity: #007AFF0D;
    --primary-blue: #00529f;
    --primary-blue-10: #00529F1A;
    --primary-blue-20: #00529F33;
    --selection-bg: #e5f2ff;
    --transition: all 125ms ease;
    --transition-slow: all .25s ease;
    --font-family: proxima-nova, sans-serif;
}

/* ==========================================================================
   GLOBAL BASE STYLES (Mobile-first defaults)
   ========================================================================== */

::-moz-selection {
    background: var(--selection-bg);
    color: var(--primary-blue) !important;
}

::selection {
    background: var(--selection-bg);
    color: var(--primary-blue) !important;
}

/* --- Category Container --- */
.dnh_cat_container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    width: 100%;
    height: auto;
}

.dnh_cat_element_main_wrapper {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: left;
}

.dnh_cat_element {
    width: 100%;
    height: auto;
    border-radius: 5px;
    padding: 0;
    display: grid;
    grid-template-columns: 100%;
    transition: var(--transition);
    background-color: var(--blue-color-w-opacity) !important;
}

.dnh_cat_element:hover {
    box-shadow: var(--default-shadow);
}

.dnh_image_container {
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    visibility: hidden;
    padding: 0;
}

.dnh_image_container_inner {
    width: 100%;
    height: 100%;
    mix-blend-mode: darken;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    visibility: hidden;
}

.dnh_text_container {
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 2rem;
}

.dnh_text_container_inner {
    width: 100%;
    line-height: 1.3rem;
}

.dnh_cat_name {
    font-size: 1.5rem;
    color: var(--primary-blue);
    font-weight: 400;
    margin: 0 0 1rem 0;
}

.dnh_cat_dec {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
}

/* --- Latest Articles --- */
.dnh_latest_article_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    width: 100%;
    padding: 2rem;
    height: auto;
}

.dnh_latest_article_element {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.dnh_latest_article_image_container {
    visibility: hidden;
    width: 0;
    height: 0;
}

.dnh_latest_article_image_container_inner {
    visibility: hidden;
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.dnh_latest_article_text_container {
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    justify-content: center;
    line-height: auto;
    padding: 4%;
}

.dnh_latest_article_text_container_inner {
    width: 100%;
    line-height: 1.25em;
}

.dnh_news_button {
    display: inline-block;
    padding: 0.5rem 1.5rem;
    text-align: center;
    text-transform: uppercase;
    background-color: var(--primary-blue);
    color: #fff !important;
    font-size: 1.25rem;
    font-weight: 300;
    margin-bottom: 1rem;
}

.dnh_latest_article_name {
    font-size: 1.5rem;
    color: var(--primary-blue);
    font-weight: 400;
    margin-bottom: 1rem;
}

.dnh_latest_article_excerpt {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
    margin-bottom: 1rem;
}

.dnh_latest_article_read_button {
    font-size: 1.15rem;
    text-align: center;
    border-radius: 5px;
    display: inline-block;
    padding: 0.5rem 1rem;
    color: #fff !important;
    background-color: var(--primary-blue);
    border: solid 1px var(--primary-blue);
    transition: var(--transition);
}

.dnh_latest_article_read_button:hover {
    color: var(--primary-blue) !important;
    background-color: #fff;
}

.soundwave_element {
    display: none;
}

/* --- Product Ratings --- */
.dnh_product_ratings_container {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-column-gap: 1rem;
    grid-row-gap: 1rem;
}

.dnh_product_rating_element {
    width: 2.5rem;
    height: 2.5rem;
    display: flex;
    justify-content: center;
    align-items: center;
    user-select: none;
}

.dnh_product_rating_element_inner,
.dnh_product_rating_element_inner_ce,
.dnh_product_rating_element_inner_cert {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.rating {
    font-size: 1rem;
    color: #777;
    font-weight: 600;
    cursor: default;
}

.rating_ce {
    font-size: 1rem;
    color: #777;
    font-weight: 400;
}

/* --- Product Specs Table --- */
.dnh_product_specs_table {
    border-collapse: collapse;
    width: 100%;
    border: none;
}

.dnh_product_specs_table tr:nth-child(odd) > td {
    background-color: var(--blue-color-w-opacity) !important;
    color: #000 !important;
}

.dnh_product_specs_table tr:nth-child(even) > td {
    background-color: #fff !important;
    color: #000 !important;
}

.dnh_table_label {
    font-weight: 500;
    font-size: 1rem;
    border: none;
    width: 50%;
    padding: 1% 0 1% 2%;
}

.dnh_table_value {
    font-weight: 300;
    font-size: 1rem;
    border: none;
    width: 50%;
    padding: 1% 0 1% 2%;
}

/* --- Datasheets --- */
.dnh_datasheet_header {
    font-size: 1.15rem;
    font-weight: 300;
    margin-top: 0;
}

.dnh_datasheets_not_found {
    font-size: 1rem;
    font-weight: 500;
}

.datasheet_size {
    color: #999;
    font-weight: 600;
    font-size: smaller;
    transition: var(--transition);
}

.dnh_datasheets_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    font-family: var(--font-family);
}

.dnh_datasheets_container_inner_small {
    width: 100%;
    display: block;
    margin-bottom: 1.5rem;
}

.dnh_datasheets_container_inner_wide {
    width: 100%;
    display: block;
}

.dnh_datasheets_container form {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    font-family: var(--font-family);
}

.dnh_datasheet_element {
    width: 90%;
    height: 3rem;
    margin: 0.75rem 0;
    display: block;
    transition: var(--transition);
    background-color: #fff;
}

.file_format_image {
    width: 2rem;
    display: inline-block;
}

.dnh_datasheet_label {
    display: flex;
    width: 100%;
    align-items: center;
    cursor: pointer;
    padding: 0 0 0 10px;
    height: 100%;
    user-select: none;
    transition: var(--transition);
}

.dnh_datasheet_label input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.dnh_datasheet_element_buttons {
    width: 90%;
    text-align: center;
    display: grid;
    grid-template-columns: 50% 50%;
    margin: auto;
    gap: 1.5rem;
}

.dnh_datasheet_sheet_name {
    color: var(--primary-blue);
    font-weight: 300;
    font-size: 1rem;
    display: block;
    width: 100%;
    padding: 0 0 0 2%;
    transition: var(--transition);
}

.dnh_datasheet_open_small {
    display: grid;
    align-content: center;
    width: 10%;
    height: 100%;
    background-color: var(--primary-blue);
    text-align: right;
    padding: 0.75rem;
    transition: var(--transition);
}

.dnh_datasheet_open_wide {
    display: grid;
    align-content: center;
    width: 12%;
    height: 100%;
    background-color: var(--primary-blue);
    text-align: right;
    padding: 1rem;
    transition: var(--transition);
}

.dnh_datasheet_open_small img,
.dnh_datasheet_open_wide img {
    filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(288deg) brightness(102%) contrast(102%);
}

.dnh_datasheets_submit_button {
    padding: 2% !important;
    font-size: 1rem !important;
    border-radius: 5px !important;
    border: solid 1px var(--primary-blue) !important;
    background-color: transparent !important;
    color: var(--primary-blue) !important;
    transition: var(--transition) !important;
    width: 100% !important;
}

.dnh_datasheets_submit_button:disabled {
    border-color: #999 !important;
    color: #999 !important;
}

.dnh_datasheets_submit_button:hover:not([disabled]) {
    background-color: var(--primary-blue) !important;
    color: #fff !important;
}

.dnh_all_datasheets_submit_button {
    padding: 2% !important;
    font-size: 1rem !important;
    border-radius: 5px !important;
    border: solid 1px var(--primary-blue) !important;
    background-color: transparent !important;
    color: var(--primary-blue) !important;
    transition: var(--transition) !important;
    width: 100% !important;
}

.dnh_all_datasheets_submit_button:hover {
    background-color: var(--primary-blue) !important;
    color: #fff !important;
}

.selected_datasheet {
    height: 3rem;
    background-color: var(--primary-blue);
    box-shadow: var(--default-shadow);
}

.selected_datasheet img {
    filter: brightness(0) invert(1);
}

.selected_datasheet .dnh_datasheet_file_name {
    color: #fff;
    font-weight: 500;
    font-size: 1rem;
}

.selected_datasheet .dnh_datasheet_sheet_name {
    color: #fff;
    font-weight: 300;
    font-size: 1rem;
}

.selected_datasheet .datasheet_size {
    color: #fff;
}

.no_datasheet_found {
    font-size: 1.25rem;
}

.dnh_datasheets_subheading {
    position: absolute;
    color: var(--primary-blue);
    font-size: 1.1rem;
    margin-top: -1.5rem;
    font-weight: 300;
    text-transform: uppercase;
}

/* --- Products --- */
.dnh_prod_inner_container {
    width: 100%;
    height: auto;
    border-radius: 5px;
    padding: 2%;
    background-color: var(--blue-color-w-opacity);
    margin-bottom: 3%;
}

.dnh_prod_outer_container {
    width: 100%;
    height: auto;
}

.dnh_prod_sub_cat_subhead {
    color: var(--primary-blue);
    font-size: 1rem;
    font-weight: 500;
    text-transform: uppercase;
}

.dnh_prod_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    font-family: var(--font-family);
}

.dnh_prod_element {
    width: 98%;
    min-height: 250px;
    align-items: center;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    background-color: #fff;
    margin: 1.5rem 0;
    transition: var(--transition);
}

.dnh_prod_element:hover {
    box-shadow: var(--default-shadow);
}

.dnh_prod_img_element {
    visibility: hidden;
    width: 0;
    height: 0;
}

.dnh_prod_img_element_inner {
    visibility: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #fff;
    mix-blend-mode: darken;
}

.dnh_prod_text_element {
    width: 100%;
    height: 100%;
    padding: 2rem 3rem;
    align-items: center;
    display: flex;
}

.dnh_prod_text_element_inner {
    width: 100%;
}

.dnh_prod_name {
    font-size: 1.25rem;
    font-weight: 500;
    color: #000;
}

.dnh_prod_grid_sep {
    display: block;
    width: 16.67%;
    height: 2px;
    background-color: var(--primary-blue);
    margin: 1% 0;
}

.dnh_prod_desc {
    font-size: 1rem;
    font-weight: 300;
    color: #000;
}

.dnh_prod_results_found {
    display: block;
    width: 100%;
    font-size: 1.15rem;
    font-weight: 400;
    padding: 0 0 2% 0;
}

/* Featured Products */
.dnh_prod_element_featured {
    width: 98%;
    min-height: 250px;
    align-items: center;
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    background-color: var(--primary-blue);
    transition: var(--transition);
}

.dnh_prod_element_featured:hover {
    box-shadow: var(--default-shadow);
}

.dnh_prod_img_element_featured {
    visibility: hidden;
    width: 0;
    height: 0;
}

.dnh_prod_img_element_inner_featured {
    visibility: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #fff;
}

.dnh_prod_text_element_featured {
    width: 100%;
    height: 100%;
    padding: 1rem 3rem;
    align-items: center;
    display: flex;
}

.dnh_prod_text_element_inner_featured {
    width: 100%;
}

.dnh_prod_name_featured {
    font-size: 1.25rem;
    font-weight: 500;
    color: #fff;
}

.dnh_prod_grid_sep_featured {
    display: block;
    width: 16.67%;
    height: 2px;
    background-color: #fff;
    margin: 1% 0;
}

.dnh_prod_desc_featured {
    font-size: 1rem;
    font-weight: 300;
    color: #fff;
}

.dnh_prod_featured {
    color: #fff;
    font-weight: 500;
    font-size: 0.85rem;
}

.dnh_product_category_entry_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    font-family: var(--font-family);
}

/* --- Product Graph --- */
.dnh_product_graph_container {
    display: block;
    width: 100%;
}

.dnh_product_graph_inner {
    width: 75%;
    margin: 0 auto;
}

/* --- Contact --- */
.dnh_contact_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    height: auto;
    font-family: var(--font-family);
}

.dnh_contact_element {
    width: 100%;
    align-items: center;
    flex-wrap: wrap;
    display: flex;
    padding: 5% 0;
}

.dnh_contact_contact_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    align-items: center;
}

.dnh_contact_contact_container img {
    width: 40px;
}

.dnh_contact_info_row {
    display: flex;
    width: 100%;
    padding: 3% 0;
    align-items: center;
}

.dnh_contact_address_container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    height: auto;
    font-family: var(--font-family);
}

.dnh_contact_address {
    font-weight: 300;
    font-size: 1rem;
    padding: 5% 0;
}

.dnh_contact_phone {
    font-weight: 300;
    font-size: 1rem;
    display: inline-block;
}

/* --- Search Results --- */
.dnh_search_result_container {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
    background-color: var(--blue-color-w-opacity);
    padding: 1.5rem;
    margin: 1.5rem 0;
    font-family: var(--font-family);
}

.dnh_search_result_element {
    width: 100%;
    height: 100%;
    align-items: center;
    display: flex;
    border-radius: 5px;
    justify-content: center;
    background-color: #fff;
    transition: var(--transition);
}

.dnh_search_result_inner {
    width: 100%;
    padding: 5%;
}

.dnh_search_result_link {
    width: 31.5%;
    height: fit-content;
    margin: .75%;
    transition: var(--transition);
}

.dnh_search_result_link:hover .dnh_search_result_element {
    box-shadow: 0 0 25px 5px rgba(0, 0, 0, .1);
    transform: scale(1.05);
    border: solid 2px var(--primary-blue);
    background-color: var(--blue-color-w-opacity);
}

.dnh_search_result_title {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--primary-blue) !important;
}

.dnh_search_result_excerpt {
    font-size: 1.2rem;
    font-weight: 300;
    color: #000 !important;
}

.dnh_search_result_post_type {
    font-weight: 500;
    display: inline-block;
    background-color: var(--primary-blue);
    color: #fff;
    border: solid 2px var(--primary-blue);
    border-radius: 5px;
    padding: 0.25rem 2rem;
    text-transform: uppercase;
    font-size: 1rem;
}

.dnh_posts_found {
    font-weight: 300;
    display: inline-block;
    min-width: 10%;
    text-transform: uppercase;
    text-align: center;
    background-color: var(--primary-blue);
    border: solid 2px var(--primary-blue);
    color: #fff;
    padding: 0.5rem 2rem;
    border-radius: 5px;
    margin: 0 .75%;
    font-size: 1.15rem;
}

.dnh_posts_found b {
    font-weight: 800;
    letter-spacing: 2px;
}

.dnh_no_posts_found {
    margin-top: 2%;
    display: block;
    font-size: 1.5rem;
}

.dnh_search_result_heading {
    font-weight: 500;
    margin: 0 .75% 2% .75%;
    font-size: 1.25rem;
}

.dnh_search_result_heading b {
    text-transform: uppercase;
}

/* --- Search & Filter Plugin --- */
#search-filter-form-2667 h4,
#search-filter-form-313 h4 {
    font-family: var(--font-family);
    font-size: 0.85rem;
    font-weight: 600;
    text-transform: uppercase;
}

.searchandfilter ul {
    padding-left: 0 !important;
}

.searchandfilter select,
.sf-input-text {
    width: 100% !important;
    border: solid 1px #d5d5d5 !important;
    background-color: #fff !important;
    color: #000 !important;
    border-radius: 0 !important;
}

.searchandfilter .noUi-connect {
    background-color: var(--primary-blue) !important;
}

.searchandfilter .noUi-horizontal .noUi-handle {
    border-radius: 0 !important;
}

.searchandfilter input[type=submit] {
    border: solid 1px var(--primary-blue);
    background-color: #fff;
    font-size: 1rem;
    width: 100% !important;
    text-align: center;
    border-radius: 3px;
    color: var(--primary-blue) !important;
    transition: var(--transition);
}

.searchandfilter input[type=submit]:hover {
    background-color: var(--primary-blue);
    color: #fff !important;
}

.searchandfilter > ul {
    margin: 0 !important;
    padding: 0 !important;
}

.searchandfilter > ul > li {
    display: inline-block !important;
    padding-right: 10px !important;
    width: 50% !important;
}

/* --- News Archive --- */
.dnh_news_archive_container {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    font-family: var(--font-family);
    padding: 1rem;
    background-color: var(--blue-color-w-opacity);
}

.dnh_news_post_count {
    font-size: 1.15rem;
}

.dnh_news_archive_element_main_wrapper {
    width: 100%;
    min-height: 150px;
}

.dnh_news_archive_element {
    border-radius: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    margin: .75%;
    padding: 1.5rem;
    background-color: #fff;
    transition: var(--transition);
}

.dnh_news_archive_element:hover {
    box-shadow: var(--default-shadow);
}

.dnh_news_archive_img_element {
    visibility: hidden;
    width: 0;
    min-height: 0;
}

.dnh_news_archive_img_element_inner {
    visibility: hidden;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    background-color: #fff;
    border-radius: 5px;
}

.dnh_news_archive_text_element {
    width: 100%;
    height: 100%;
    padding: 1rem;
}

.dnh_news_archive_text_element_inner {
    width: 100%;
    align-items: center;
}

.dnh_news_archive_name {
    font-size: 1.15rem;
    font-weight: 500;
    color: #000;
}

.dnh_news_archive_desc {
    font-size: 1rem;
    color: #000;
    font-weight: 300;
    line-clamp: 3;
    overflow: hidden;
}

.dnh_news_archive_grid_sep {
    display: block;
    width: 16.67%;
    height: 2px;
    background-color: var(--primary-blue);
    margin: .75rem 0 !important;
}

/* --- Organization / Employees --- */
.dnh_org_person_container {
    width: 100%;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
}

.dnh_org_person_element {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-height: 125px;
    background-color: var(--selection-bg);
    margin: .75%;
    padding: 4% 0;
    text-align: center;
}

.dnh_org_person_name {
    color: var(--primary-blue);
    font-weight: 400;
    font-size: 1.5rem;
    display: block;
    width: 100%;
}

.dnh_org_person_position {
    color: #000;
    font-weight: 300;
    font-size: 1.2rem;
    display: block;
    width: 100%;
}

.dnh_org_person_mail {
    color: #000;
    font-weight: 300;
    font-size: 1.2rem;
    display: block;
    width: 100%;
}

.dnh_employee_container {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    font-family: var(--font-family);
}

.dnh_employee_element {
    width: 100%;
    min-height: 256px;
    background-color: var(--selection-bg);
    text-align: center;
    margin: 1%;
    padding: 3%;
}

.dnh_employee_image_container {
    width: 100%;
    height: 200px;
    align-items: center;
    display: flex;
    justify-content: center;
}

.dnh_employee_image_container_inner {
    width: 200px;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 500px;
    border: solid 1px #0000001a;
}

.dnh_flags_container {
    width: 100%;
    margin: auto;
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    gap: 0.25rem;
}

.dnh_flag_element {
    width: 100%;
}

.dnh_flag_element img {
    height: 16px !important;
    width: 24px !important;
}

.dnh_employee_text_container {
    width: 100%;
    padding: 0.25rem;
    line-height: 1.5em;
    margin: 1.5rem 0 0 0;
}

.dnh_employee_name {
    font-weight: 600;
    font-size: 1.15rem;
}

.dnh_employee_item {
    font-weight: 300;
    font-size: 1rem;
}

.dnh_employee_item a {
    color: inherit !important;
}

.email {
    border-bottom: solid 2px var(--primary-blue);
    padding-bottom: 5px;
}

/* --- Category Menu --- */
/* Mobile: flex wrap with 3 items per row */
.dnh_cat_menu_container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -moz-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -moz-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
}

.dnh_cat_element_link {
    display: block;
    text-align: center;
    font-size: .9rem;
    width: 33.125%;
    padding: 1rem 0;
    background-color: #fff;
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    -moz-transition: all .25s ease;
    transition: all .25s ease;
}

.dnh_cat_element_link:hover {
    background-color: var(--primary-blue);
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    -moz-transition: all .25s ease;
    transition: all .25s ease;
}

.dnh_cat_element_link:hover .dnh_cat_menu_element_name {
    color: #fff;
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    -moz-transition: all .25s ease;
    transition: all .25s ease;
}

.dnh_cat_menu_element {
    width: 100%;
}

.dnh_cat_menu_element_name {
    color: var(--primary-blue);
    -webkit-transition: all .25s ease;
    -o-transition: all .25s ease;
    -moz-transition: all .25s ease;
    transition: all .25s ease;
}

.dnh_cat_element_link_active {
    display: block;
    text-align: center;
    font-size: .9rem;
    width: 33.125%;
    padding: 1rem 0;
    background-color: var(--primary-blue);
}

.dnh_cat_menu_element_active {
    width: 100%;
}

.dnh_cat_menu_element_name_active {
    color: #fff;
}

/* --- Similar Products --- */
.dnh_similar_product_container {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1rem;
    text-align: center;
    border-radius: 5px;
    background-color: var(--blue-color-w-opacity);
}

.dnh_similar_product_container_header {
    grid-column: 1 / -1;
}

.dnh_similar_product_element_main_wrapper {
    width: 100%;
}

.dnh_similar_product_container h3 {
    display: block;
    width: 100%;
    text-transform: uppercase;
    font-weight: 500;
    font-size: 1.5rem;
    margin: .5rem 0 0 0;
}

.dnh_similar_product_element {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    text-align: left;
    padding: 0.5rem;
    border-radius: 5px;
    background-color: #fff;
    transition: var(--transition);
}

.dnh_similar_product_element:hover {
    box-shadow: var(--default-shadow);
}

.dnh_similar_product_image_container {
    margin: 1rem 2rem;
    min-height: 100px;
    max-height: 200px;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

.dnh_similar_product_text_container {
    display: block;
    padding: .75rem;
    color: #000;
}

.dnh_similar_product_title {
    font-size: 1.25rem;
    font-weight: 500;
}

.dnh_similar_product_desc {
    line-clamp: 4;
    overflow: hidden;
    font-weight: 400;
    font-size: .9rem;
}

.dnh_similar_products_breadcrumbs {
    display: block;
    width: 100%;
    font-size: 1rem;
    font-weight: 400;
    text-transform: uppercase;
    color: var(--primary-blue);
    margin: .5rem 0;
}

.dnh_featured_product_star_container {
    padding: .4rem;
    display: inline-block;
    position: absolute;
    width: auto;
    top: .8rem;
    right: 0;
    border-radius: 5px;
    background-color: var(--primary-blue);
    z-index: 10;
}

.dnh_featured_product_star_text {
    font-size: 1.25rem;
    text-transform: uppercase;
    color: #fff;
}

/* --- References --- */
.dnh_references_container {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.5rem;
}

.dnh_reference_element {
    display: flex;
    flex-wrap: wrap;
    justify-content: left;
    width: 100%;
    height: 20rem;
}

.dnh_reference_slider_container {
    width: 100%;
    height: auto;
}

.dnh_reference_title_container {
    height: 12.5%;
    width: 100%;
}

.dnh_reference_heading {
    color: var(--primary-blue);
    font-weight: 500;
    font-size: 1.5rem;
}

.dnh_reference_content_container {
    height: 87.5%;
    width: 100%;
    text-align: left;
    align-items: center;
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
}

.dnh_reference_desc {
    color: #fff;
    font-weight: 400;
    font-size: 1rem;
    padding: 1rem;
    width: 100%;
    height: 100%;
    transform: scale(0);
    opacity: 0;
    display: block;
    transition: all .25s cubic-bezier(.5, 0, .5, 1);
}

.dnh_reference_element:hover .dnh_reference_desc {
    opacity: 1;
    transform: scale(1);
    background-color: var(--primary-blue);
}

/* --- WPML Language Switcher --- */
.wpml-ls-legacy-list-horizontal a {
    padding: 0 !important;
    border-radius: 100px;
}

.wpml-ls-legacy-list-horizontal {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
}

.wpml-ls-legacy-list-horizontal li {
    margin-left: 0.5rem !important;
}

.wpml-ls-native {
    background-color: var(--primary-blue);
    color: #fff;
    border-radius: 5px;
    padding: 0.5rem 0.75rem;
    display: inline-block;
    font-size: 1.25rem;
}

.wpml-ls-display {
    background-color: var(--primary-blue-20);
    color: #fff;
    border-radius: 5px;
    padding: 0.5rem 0.75rem;
    display: inline-block;
    font-size: 1.25rem;
    transition: var(--transition);
}

.wpml-ls-display:hover {
    background-color: var(--primary-blue);
    box-shadow: var(--default-shadow);
}

.wpml-ls-link {
    width: 100%;
    padding: 0 !important;
}

/* --- Product Gallery --- */
.dnh-product-gallery-heading {
    padding-top: 1.5rem;
    color: var(--primary-blue);
    text-transform: uppercase;
    font-weight: 400;
    font-size: 1.33rem;
}

/* --- Misc / Utilities --- */
.dnh_au_certs_not_found {
    font-family: "proxima-nova", Sans-serif;
    font-size: 1.2rem;
    font-weight: 400;
    font-style: italic;
}

#product_filters,
#product_results {
    width: 100% !important;
}

a[x-apple-data-detectors] {
    color: #fff !important;
}

a[href^=tel] {
    color: inherit !important;
    text-decoration: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    font-weight: inherit !important;
}

/* ==========================================================================
   SMALL (561px+) - Only overrides
   ========================================================================== */
@media (min-width: 561px) {
    .dnh_cat_name { font-size: 1.75rem; }
    .dnh_cat_dec { font-size: 1.15rem; }
    
    /* Cat menu: 3 column grid */
    .dnh_cat_menu_container {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0;
    }
    .dnh_cat_element_link {
        font-size: 1rem;
        width: 100%;
    }
    .dnh_cat_element_link_active {
        font-size: 1rem;
        width: 100%;
    }
}

/* ==========================================================================
   MEDIUM (768px+) - Images become visible
   ========================================================================== */
@media (min-width: 768px) {
    .dnh_cat_element { grid-template-columns: 25% 75%; }
    
    .dnh_image_container {
        visibility: visible;
        padding: 1rem;
    }
    .dnh_image_container_inner { visibility: visible; }
    
    .dnh_latest_article_image_container {
        visibility: visible;
        width: 35%;
        height: 100%;
        align-items: center;
        display: flex;
        justify-content: center;
    }
    .dnh_latest_article_image_container_inner { visibility: visible; }
    .dnh_latest_article_text_container { width: 65%; }
    .dnh_news_button { font-size: 1.5rem; margin-bottom: 2rem; padding: 0.5rem 1.5rem; }
    .dnh_latest_article_name { margin-bottom: 2rem; }
    .dnh_latest_article_excerpt { font-size: 1.25rem; margin-bottom: 2rem; }
    
    .dnh_product_ratings_container { grid-template-columns: repeat(20, 1fr); }
    .dnh_product_rating_element { width: 3.5rem; height: 3.5rem; }
    
    .dnh_table_label,
    .dnh_table_value { font-size: 1.2rem; padding: 0.5rem; }
    
    .dnh_datasheet_header { margin-top: 5%; }
    .dnh_datasheets_container_inner_small { width: 50%; margin-bottom: 0; }
    .dnh_datasheet_element_buttons { width: 50%; display: flex; flex-wrap: nowrap; justify-content: space-between; margin: 1rem auto; }
    .dnh_datasheet_open_small { width: 16%; }
    .dnh_datasheets_submit_button,
    .dnh_all_datasheets_submit_button { width: 45% !important; }
    
    .dnh_prod_img_element {
        visibility: visible;
        width: 15%;
        height: 100%;
        padding: 0 1rem;
        align-items: center;
        display: flex;
    }
    .dnh_prod_img_element_inner {
        visibility: visible;
        width: 256px !important;
        height: 256px !important;
    }
    .dnh_prod_text_element { width: 85%; }
    
    .dnh_prod_img_element_featured {
        visibility: visible;
        width: 15%;
        height: 100%;
        align-items: center;
        display: flex;
        padding: 0 1rem 0 0;
    }
    .dnh_prod_img_element_inner_featured {
        visibility: visible;
        width: 256px !important;
        height: 256px !important;
    }
    .dnh_prod_text_element_featured { width: 85%; }
    .dnh_prod_name_featured { font-size: 1.5rem; }
    .dnh_prod_desc_featured { font-size: 1.15rem; }
    .dnh_prod_featured { font-size: 1.2rem; }
    
    .dnh_contact_container { display: grid; grid-template-columns: 1fr; gap: 0; }
    .dnh_contact_element { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.5rem; padding: 3rem 0; }
    .dnh_contact_info_row { display: block; }
    .dnh_contact_address,
    .dnh_contact_phone { font-size: 1.15rem; }
    .dnh_contact_address { padding: 0; }
    
    .dnh_posts_found { font-size: 1.3rem; }
    .dnh_search_result_heading { font-size: 1.75rem; }
    
    .searchandfilter select.sf-input-select,
    .sf-input-text { min-width: 10vw !important; }
    .searchandfilter .meta-slider { width: 90% !important; }
    .chosen-container-multi { min-width: 10vw !important; width: 10vw !important; max-width: 10vw !important; }
    .searchandfilter input[type=submit] { min-width: 10vw !important; border-radius: 5px; }
    .searchandfilter > ul > li { width: 32.5% !important; }
    
    .dnh_news_archive_container { display: flex; flex-wrap: wrap; padding: 1.5rem; }
    .dnh_news_archive_img_element {
        visibility: visible;
        width: 15%;
        min-height: 150px;
        align-items: center;
        display: flex;
    }
    .dnh_news_archive_img_element_inner {
        visibility: visible;
        width: 100%;
        height: 100%;
    }
    .dnh_news_archive_text_element { width: 75%; padding: 20px 40px; display: flex; }
    
    .dnh_org_person_container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .dnh_org_person_element { padding: 1rem 0; background-color: var(--primary-blue-10); border-radius: 5px; margin: 0; }
    .dnh_org_person_position,
    .dnh_org_person_mail { font-size: 1rem; }
    
    .dnh_employee_container { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; }
    .dnh_employee_element { width: 100%; height: 100%; background-color: var(--blue-color-w-opacity); border-radius: 5px; padding: 2rem; margin: 0; }
    .dnh_employee_image_container_inner { border: solid 0px; box-shadow: var(--default-shadow); }
    .dnh_flags_container { grid-template-columns: repeat(15, 1fr); }
    .dnh_employee_text_container { line-height: 1.25em; }
    .dnh_employee_name { font-size: 1rem; }
    .dnh_employee_item { font-size: 0.85rem; }
    
    /* Cat menu: 6 column grid */
    .dnh_cat_menu_container {
        display: grid;
        grid-template-columns: repeat(6, 1fr);
        gap: 0;
    }
    .dnh_cat_element_link { font-size: 1rem; width: 100%; }
    .dnh_cat_element_link_active { font-size: 1rem; width: 100%; }
    
    .dnh_similar_product_container { grid-template-columns: repeat(2, 1fr); }
    
    .dnh_references_container { grid-template-columns: repeat(2, 1fr); }
    
    .wpml-ls-native { font-size: 0.9rem; }
    .wpml-ls-display { font-size: 1rem; }
    
    .dnh-product-gallery-heading { padding-top: 2rem; font-size: 2rem; }
}

/* ==========================================================================
   LARGE (992px+)
   ========================================================================== */
@media (min-width: 992px) {
    .dnh_cat_element { grid-template-columns: 15% 85%; }
    .dnh_image_container { padding: 2rem; }
    .dnh_text_container { padding: 5rem 2rem; }
    
    .dnh_news_button { padding: 1rem 1.5rem; }
    
    .dnh_table_label,
    .dnh_table_value { font-size: 0.9rem; }
    
    .dnh_datasheet_open_small { width: 8%; }
    .dnh_datasheet_open_wide { width: 6%; }
    .dnh_datasheets_submit_button,
    .dnh_all_datasheets_submit_button { font-size: 1.15rem !important; }
    
    .dnh_flags_container { grid-template-columns: repeat(10, 1fr); }
    
    .dnh-product-gallery-heading { font-size: 1.25rem; }
}

/* ==========================================================================
   XLARGE (1200px+)
   ========================================================================== */
@media (min-width: 1200px) {
    .searchandfilter select.sf-input-select,
    .sf-input-text { min-width: 15vw !important; }
    .searchandfilter .meta-slider { min-width: 15vw !important; }
    .chosen-container-multi { min-width: 15vw !important; width: 15vw !important; max-width: 15vw !important; }
    .searchandfilter input[type=submit] { min-width: 15vw !important; }
}

/* ==========================================================================
   HD READY (1400px+) - Hide header/footer, cat_menu back to flex
   ========================================================================== */
@media (min-width: 1400px) {
    #site-footer,
    #site-header { display: none !important; }
    .otgs-development-site-front-end { display: none !important; }
    
    /* Cat menu: back to flex no-wrap */
    .dnh_cat_menu_container {
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
    }
    .dnh_cat_element_link {
        font-size: 0.85rem;
        width: 8.33%;
    }
    .dnh_cat_element_link_active {
        font-size: 0.85rem;
        width: 8.33%;
    }
}

/* ==========================================================================
   HD (1920px+) - 2 column category layout
   ========================================================================== */
@media (min-width: 1920px) {
    .dnh_cat_container { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
    .dnh_cat_element { grid-template-columns: 25% 75%; padding: 0.5rem; }
    .dnh_image_container { padding-left: 2rem; padding-top: 0; padding-bottom: 0; padding-right: 0; }
    .dnh_text_container { padding: 10%; }
    .dnh_cat_name { font-size: 1.6rem; }
    
    .dnh_latest_article_container { padding: 0; }
    .dnh_news_button { padding: 1rem 1.5rem; }
    
    .soundwave_element { display: block; position: absolute; width: 70%; bottom: 0; }
    
    .dnh_product_rating_element { width: 3rem; height: 3rem; }
    .rating,
    .rating_ce { font-size: 0.85rem; }
    
    .dnh_table_label,
    .dnh_table_value { font-size: .85vw; padding: 1% 0 1% 2%; width: auto; }
    
    .dnh_datasheet_header { font-size: 1.15vw; }
    .dnh_datasheets_not_found { font-size: .9vw; }
    .dnh_datasheet_element { height: 4rem; margin: 1% 0; }
    .dnh_datasheet_sheet_name { font-size: 1.15rem; }
    .dnh_datasheet_open_small { width: 8%; padding: 1rem; }
    .dnh_datasheet_open_wide { width: 4%; }
    .dnh_datasheets_submit_button,
    .dnh_all_datasheets_submit_button { border-radius: 250px !important; }
    .selected_datasheet { height: 4rem; }
    .selected_datasheet .dnh_datasheet_file_name,
    .selected_datasheet .dnh_datasheet_sheet_name { font-size: 1.15rem; }
    .dnh_datasheets_subheading { font-size: 1.25rem; margin-top: -2rem; }
    
    .dnh_prod_sub_cat_subhead { font-size: 1.25rem; }
    .dnh_prod_name { font-size: 1.5rem; }
    .dnh_prod_desc { font-size: 1.15rem; }
    
    .dnh_contact_container { display: flex; }
    .dnh_contact_element { display: flex; padding: 5% 0 2% 0; }
    .dnh_contact_contact_container { width: 50%; }
    .dnh_contact_contact_container img { width: 30px; }
    .dnh_contact_info_row { display: flex; padding: 1.5% 0; }
    .dnh_contact_address_container { width: 50%; }
    .dnh_contact_address,
    .dnh_contact_phone { font-size: .8vw; }
    
    #search-filter-form-313 h4 { font-size: .75rem !important; }
    
    .wpml-ls-legacy-list-horizontal li { margin-left: .5vw !important; }
    .wpml-ls-native { border-radius: 100px; padding: 7px 15px; font-size: .75vw; }
    .wpml-ls-display { background-color: #d5d5d5; border-radius: 100px; padding: 7px 15px; font-size: .75vw; }
    
    .dnh_employee_container { grid-template-columns: repeat(3, 1fr); }
    .dnh_employee_element { background-color: var(--primary-blue-10); }
    
    /* Cat menu: font-size back to 1rem */
    .dnh_cat_element_link { font-size: 1rem; width: 8.33%; }
    .dnh_cat_element_link_active { font-size: 1rem; width: 8.33%; }
    
    .dnh_similar_product_container { grid-template-columns: repeat(3, 1fr); }
    
    .dnh_references_container { display: flex; flex-wrap: wrap; justify-content: space-around; }
    .dnh_reference_element { width: 47.5%; margin: .75rem; height: 25rem; }
    .dnh_reference_heading { font-size: 1.75rem; }
    
    .dnh-product-gallery-heading { font-size: 1.33rem; }
    
    /* Main Menu (HD only) */
    .dnh_main_menu_container {
        width: 100%;
        min-height: 125px;
        display: flex;
        flex-wrap: nowrap;
        justify-content: left;
        position: relative;
        z-index: 99;
    }
    .dnh_main_menu_link { display: block; width: 100%; min-height: 125px; }
    .dnh_main_menu_element {
        width: 100%;
        height: 100%;
        display: flex;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: center;
        border-bottom: solid 10px #fff0;
        transition: var(--transition-slow);
    }
    .dnh_main_menu_element:hover {
        background-color: var(--primary-blue);
        border-bottom: solid 10px #fff;
        box-shadow: var(--default-shadow);
    }
    .dnh_main_menu_element_title {
        font-family: var(--font-family);
        color: var(--primary-blue);
        font-size: clamp(20px, .85vw, 26px);
        font-weight: 400;
    }
    .dnh_main_menu_element:hover .dnh_main_menu_element_title { color: #fff; }
    
    /* Cookie Law Info (HD only) */
    #cookie-law-info-bar { box-shadow: none; font-family: var(--font-family); }
    #cookie-law-info-bar[data-cli-style=cli-style-v2] { padding: 1.5% 2% 1% 2%; }
    .cli-bar-message { font-size: .8vw !important; font-weight: 300 !important; line-height: .9vw !important; }
    .cli_messagebar_head { color: #fff !important; font-size: 1.1vw !important; font-weight: 600 !important; line-height: 1vw !important; }
    #CONSTANT_OPEN_URL,
    .cookie_action_close_header { font-size: .8vw !important; text-transform: uppercase; font-weight: 400 !important; border: solid 1px #fff; transition: var(--transition); }
    #CONSTANT_OPEN_URL:hover,
    .cookie_action_close_header:hover { border-color: #fff; color: #fff !important; background-color: var(--primary-blue) !important; }
}

/* ==========================================================================
   ULTRA HD (2560px+)
   ========================================================================== */
@media (min-width: 2560px) {
    .dnh_cat_name { font-size: 1.75rem; }
    
    /* Cat menu: larger font */
    .dnh_cat_element_link { font-size: 1.15rem; }
    .dnh_cat_element_link_active { font-size: 1.15rem; }
}

/* ==========================================================================
   ELEMENTOR OVERRIDES (Breakpoint-specific)
   ========================================================================== */

/* Mobile (max-width: 560px) */
@media (max-width: 560.98px) {
    .elementor-211 .elementor-element.elementor-element-fa588b3 { padding: 0 2.5% !important; }
    .elementor-15 .elementor-element.elementor-element-a24319f .elementor-heading-title { font-size: 3.75vw !important; }
    .elementor-3743 .elementor-element.elementor-element-9c1ac57 .elementor-heading-title,
    .elementor-element-93c6810 .elementor-heading-title { font-size: 4vw !important; }
    .elementor-211 .elementor-element.elementor-element-349e3b3 .elementor-heading-title,
    .elementor-211 .elementor-element.elementor-element-b6bd4ee .elementor-heading-title { font-size: 1.25rem !important; }
    .elementor-211 .elementor-element.elementor-element-2a3da89 > .elementor-widget-container { font-size: 1rem !important; padding: 0 !important; }
    .elementor-211 .elementor-element.elementor-element-8a0933a .elementor-heading-title { font-size: 1.25rem !important; }
    .elementor-282 .elementor-element.elementor-element-fcab187 .elementor-heading-title,
    .elementor-2990 .elementor-element.elementor-element-66fe937 .elementor-heading-title,
    .elementor-359 .elementor-element.elementor-element-f7fd100 .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-4536300 .elementor-heading-title,
    .elementor-364 .elementor-element.elementor-element-608f6f0 .elementor-heading-title,
    .elementor-364 .elementor-element.elementor-element-87cf93d .elementor-heading-title,
    .elementor-366 .elementor-element.elementor-element-15f60c9 .elementor-heading-title { font-size: 5.5vw !important; }
    .elementor-element-69c1f43,
    .elementor-element-aed4d8b { width: 100% !important; }
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion td,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion th,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion tr { font-size: 2vw !important; }
    .jet-toggle__content-inner { padding: 30px 5px !important; }
    .elementor-2674 .elementor-element.elementor-element-79d4891 .pp-map-height { height: 350px !important; }
    .elementor-211 .elementor-element.elementor-element-96fe6d7 { width: 100% !important; }
    .elementor-211 .elementor-element.elementor-element-c283fe9 img { width: 40% !important; }
    .elementor-211 .elementor-element.elementor-element-9b26f95 { width: 100% !important; margin-top: 5vh !important; }
    .elementor-211 .elementor-element.elementor-element-63b0096 { display: none !important; }
    .elementor-211 .elementor-element.elementor-element-9f05150 { width: 100% !important; }
    .elementor-32 .elementor-element.elementor-element-2676111,
    .elementor-32 .elementor-element.elementor-element-9d41386 { font-size: 2.5vw !important; }
    .elementor-32 .elementor-element.elementor-element-1b69b7e { font-size: 2.85vw !important; }
    .elementor-32 .elementor-element.elementor-element-8cd6300 .elementor-heading-title { font-size: 5vw !important; }
    .elementor-32 .elementor-element.elementor-element-5a5cd8d img { width: 96px !important; }
    .elementor-15 .elementor-element.elementor-element-856f046,
    .elementor-2576 .elementor-element.elementor-element-856f046 { padding: 2% 5% !important; }
    .elementor-2971 .elementor-element.elementor-element-fed6237 .elementor-button { font-size: 3vw !important; }
    .elementor-2971 .elementor-element.elementor-element-798559d .elementor-heading-title { font-size: 4vw !important; }
    .elementor-2971 .elementor-element.elementor-element-20dade4 .elementor-icon-list-item { font-size: 2.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-948f7b0 .widget-image-caption { font-size: 2.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-01ac88f { font-size: 2.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-742dbba { font-size: 2.5vw !important; columns: 1 !important; }
    .elementor-widget-text-editor .elementor-drop-cap { font-size: 3vw !important; }
    .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(2, 1fr) !important; }
    .elementor-2971 .elementor-element.elementor-element-7cd9e38 .elementor-share-btn__title { font-size: 2.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--label,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--label { font-size: 3vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--title,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--title { font-size: 2.5vw !important; }
    .elementor-361 .elementor-element.elementor-element-025b7fa .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-2685c91 .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-d4e626a .elementor-heading-title { font-size: 4vw !important; }
    .elementor-element-19bc471,
    .elementor-element-779e51e,
    .elementor-element-c8141ac { font-size: 3vw !important; }
    .elementor-361 .elementor-element.elementor-element-1998e61,
    .elementor-361 .elementor-element.elementor-element-50674b0,
    .elementor-361 .elementor-element.elementor-element-cb185c4 { padding: 2% 5% !important; }
    .wp-image-3202 { float: none !important; margin-left: 0 !important; }
}

/* Medium (768px - 991px) */
@media (min-width: 768px) and (max-width: 991.98px) {
    .elementor-211 .elementor-element.elementor-element-fa588b3 { padding: 0 5% !important; }
    .elementor-15 .elementor-element.elementor-element-a24319f .elementor-heading-title { font-size: 3.5vw !important; }
    .elementor-3743 .elementor-element.elementor-element-9c1ac57 .elementor-heading-title,
    .elementor-element-93c6810 .elementor-heading-title { font-size: 3.5vw !important; }
    .elementor-3743 .elementor-element.elementor-element-42cae51,
    .elementor-3743 .elementor-element.elementor-element-48cf7b0 { width: 100% !important; }
    .elementor-211 .elementor-element.elementor-element-349e3b3 .elementor-heading-title { font-size: 1.8rem !important; }
    .elementor-211 .elementor-element.elementor-element-2a3da89 > .elementor-widget-container { font-size: 1.5rem !important; padding: 0 !important; }
    .elementor-211 .elementor-element.elementor-element-8a0933a .elementor-heading-title { font-size: 1.8rem !important; }
    .elementor-282 .elementor-element.elementor-element-fcab187 .elementor-heading-title,
    .elementor-2990 .elementor-element.elementor-element-66fe937 .elementor-heading-title,
    .elementor-359 .elementor-element.elementor-element-f7fd100 .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-4536300 .elementor-heading-title,
    .elementor-364 .elementor-element.elementor-element-608f6f0 .elementor-heading-title,
    .elementor-364 .elementor-element.elementor-element-87cf93d .elementor-heading-title,
    .elementor-366 .elementor-element.elementor-element-15f60c9 .elementor-heading-title { font-size: 4.5vw !important; }
    .elementor-element-69c1f43,
    .elementor-element-aed4d8b { width: 100% !important; }
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion td,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion th,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion tr { font-size: 1.3vw !important; }
    .elementor-364 .elementor-element.elementor-element-d27ff40 { padding-left: 5% !important; padding-right: 5% !important; }
    .elementor-211 .elementor-element.elementor-element-96fe6d7 { width: 100% !important; }
    .elementor-211 .elementor-element.elementor-element-c283fe9 img { width: 40% !important; }
    .elementor-211 .elementor-element.elementor-element-9b26f95 { width: 100% !important; margin-top: 5vh !important; }
    .elementor-211 .elementor-element.elementor-element-63b0096 { display: none !important; }
    .elementor-211 .elementor-element.elementor-element-9f05150 { width: 100% !important; }
    .elementor-32 .elementor-element.elementor-element-2676111,
    .elementor-32 .elementor-element.elementor-element-9d41386 { font-size: 1.45vw !important; }
    .elementor-32 .elementor-element.elementor-element-1b69b7e { font-size: 1.85vw !important; }
    .elementor-32 .elementor-element.elementor-element-8cd6300 .elementor-heading-title { font-size: 2.4vw !important; }
    .elementor-15 .elementor-element.elementor-element-856f046,
    .elementor-2576 .elementor-element.elementor-element-856f046 { padding: 2% 5% !important; }
    .elementor-2971 .elementor-element.elementor-element-fed6237 .elementor-button { font-size: 2vw !important; }
    .elementor-2971 .elementor-element.elementor-element-798559d .elementor-heading-title { font-size: 3vw !important; }
    .elementor-2971 .elementor-element.elementor-element-20dade4 .elementor-icon-list-item { font-size: 2.25vw !important; }
    .elementor-2971 .elementor-element.elementor-element-948f7b0 .widget-image-caption { font-size: 2vw !important; }
    .elementor-2971 .elementor-element.elementor-element-01ac88f { font-size: 2vw !important; }
    .elementor-2971 .elementor-element.elementor-element-742dbba { font-size: 2vw !important; columns: 1 !important; }
    .elementor-widget-text-editor .elementor-drop-cap { font-size: 2.5vw !important; }
    .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .elementor-2971 .elementor-element.elementor-element-7cd9e38 .elementor-share-btn__title { font-size: 2vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--label,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--label { font-size: 2.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--title,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--title { font-size: 2vw !important; }
    .elementor-361 .elementor-element.elementor-element-025b7fa .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-2685c91 .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-d4e626a .elementor-heading-title { font-size: 2.5vw !important; }
    .elementor-element-19bc471,
    .elementor-element-779e51e,
    .elementor-element-c8141ac { font-size: 2vw !important; }
    .wp-image-3202 { float: none !important; margin-left: 0 !important; }
    .elementor-361 .elementor-element.elementor-element-cb185c4 { padding: 2% 5%; }
    .soundwave_element { display: none !important; }
}

/* Large (992px - 1199px) */
@media (min-width: 992px) and (max-width: 1199.98px) {
    .elementor-211 .elementor-element.elementor-element-fa588b3 { padding: 0 5% !important; }
    .elementor-15 .elementor-element.elementor-element-a24319f .elementor-heading-title { font-size: 3.5vw !important; }
    .elementor-element-93c6810 .elementor-heading-title { font-size: 2.8vw !important; }
    .elementor-211 .elementor-element.elementor-element-349e3b3 .elementor-heading-title { font-size: 1.5rem !important; }
    .elementor-211 .elementor-element.elementor-element-2a3da89 > .elementor-widget-container { font-size: 1.2rem !important; padding: 0 !important; }
    .elementor-211 .elementor-element.elementor-element-8a0933a .elementor-heading-title { font-size: 1.5rem !important; }
    .jet-accordion__inner h3 { font-size: 2vw !important; }
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion td,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion th,
    .elementor-366 .elementor-element.elementor-element-cdba563 > .elementor-widget-container > .jet-accordion tr { font-size: 1.3vw !important; }
    .elementor-364 .elementor-element.elementor-element-d27ff40 { padding-left: 5% !important; padding-right: 5% !important; }
    .elementor-361 .elementor-element.elementor-element-1998e61,
    .elementor-361 .elementor-element.elementor-element-50674b0,
    .elementor-361 .elementor-element.elementor-element-7e4b6f2,
    .elementor-361 .elementor-element.elementor-element-cb185c4 { padding-left: 5% !important; padding-right: 5% !important; }
    .elementor-50 .elementor-element.elementor-element-c0f3eb4 { width: 25% !important; }
    .elementor-3743 .elementor-element.elementor-element-42cae51 { width: 30% !important; }
    .elementor-3743 .elementor-element.elementor-element-48cf7b0 { width: 70% !important; }
    .elementor-50 .elementor-element.elementor-element-dd89ec7 { width: 50% !important; }
    .elementor-15 .elementor-element.elementor-element-9934a0b { padding-left: 5% !important; padding-right: 5% !important; }
    .elementor-50 .elementor-element.elementor-element-a2f1148 { width: 25% !important; }
    .elementor-50 .elementor-element.elementor-element-90fb701.elementor-search-form--skin-full_screen input[type=search].elementor-search-form__input { font-size: 1.85vw !important; }
    .elementor-50 .elementor-element.elementor-element-de8688b > .elementor-container { min-height: 90px !important; }
    .elementor-211 .elementor-element.elementor-element-96fe6d7 { width: 35% !important; }
    .elementor-211 .elementor-element.elementor-element-9b26f95 { width: 65% !important; }
    .elementor-32 .elementor-element.elementor-element-2676111,
    .elementor-32 .elementor-element.elementor-element-9d41386 { font-size: 1.45vw !important; }
    .elementor-32 .elementor-element.elementor-element-1b69b7e { font-size: 1.85vw !important; }
    .elementor-32 .elementor-element.elementor-element-8cd6300 .elementor-heading-title { font-size: 2.4vw !important; }
    .elementor-2971 .elementor-element.elementor-element-fed6237 .elementor-button { font-size: 1.25vw !important; }
    .elementor-2971 .elementor-element.elementor-element-798559d .elementor-heading-title { font-size: 1.85vw !important; }
    .elementor-2971 .elementor-element.elementor-element-20dade4 .elementor-icon-list-item { font-size: 1.25vw !important; }
    .elementor-2971 .elementor-element.elementor-element-948f7b0 .widget-image-caption { font-size: 1.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-01ac88f { font-size: 1.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-742dbba { font-size: 1.5vw !important; }
    .elementor-widget-text-editor .elementor-drop-cap { font-size: 2.5vw !important; }
    .elementor-grid-6 .elementor-grid { grid-template-columns: repeat(3, 1fr) !important; }
    .elementor-2971 .elementor-element.elementor-element-7cd9e38 .elementor-share-btn__title { font-size: 1.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--label,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--label { font-size: 1.5vw !important; }
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__next--title,
    .elementor-2971 .elementor-element.elementor-element-21f5a24 span.post-navigation__prev--title { font-size: 1.25vw !important; }
    .elementor-361 .elementor-element.elementor-element-025b7fa .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-2685c91 .elementor-heading-title,
    .elementor-361 .elementor-element.elementor-element-d4e626a .elementor-heading-title { font-size: 2vw !important; }
    .elementor-element-19bc471,
    .elementor-element-779e51e,
    .elementor-element-c8141ac { font-size: 1.5vw !important; }
}

/* HD (1920px+) - Elementor overrides */
@media (min-width: 1920px) {
    .elementor-50 .elementor-element.elementor-element-c0f3eb4 { width: 20% !important; }
    .elementor-50 .elementor-element.elementor-element-dd89ec7 { width: 60% !important; }
    .elementor-50 .elementor-element.elementor-element-a2f1148 { width: 20% !important; }
}