/* Keep the original desktop artwork. Reflow below its fixed 966px canvas. */
html { scroll-padding-top: 48px; }
img { max-width: 100%; height: auto; }
iframe, video { max-width: 100%; }
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible,
select:focus-visible, [tabindex]:focus-visible { outline: 3px solid #126b95; outline-offset: 3px; }
.rt-skip-link { position: absolute; left: 12px; top: -200px; z-index: 100000; padding: 12px; background: #fff; color: #222; }
.rt-skip-link:focus { top: 12px; }
.rt-page-title, .rt-home-title { font-size: 24px; line-height: 1.3; font-weight: normal; margin: 0 0 12px; color: #606060; }
.rt-home-title { border-bottom: 1px dotted #d5d5d5; padding-bottom: 8px; }
.header_slogan .slogan-text { font-size: 14px; line-height: 21px; margin: 0; font-weight: normal; color: #606060; }
.rt-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rt-slider-toggle { position: absolute; z-index: 950; right: 18px; bottom: 24px; min-height: 44px; padding: 8px 12px; background: #fff; color: #333; border: 1px solid #777; border-radius: 4px; cursor: pointer; }
#slider_area .preload { opacity: 1 !important; }
#dropdown_menu_s > ul { display: block; right: 40px; }
.rt-reduced-motion #dropdown_menu_s > ul { right: 40px !important; }
.rt-reduced-motion .keys { display: none; }
.rt-menu-toggle { display: none; }
.rt-search-title { font-size: 24px; line-height: 1.3; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.rt-mobile-search { display: none; }
.accordions-shortcode > h3 a { display: block; min-height: 32px; padding: 6px 10px; box-sizing: border-box; }
@media (max-width: 999px) {
    body { font-size: 16px; line-height: 1.6; }
    #header, #container3 { width: calc(100% - 24px); max-width: 966px; }
    #header { padding: 16px 0; display: flex; flex-direction: column; align-items: center; }
    .header_slogan { position: static; order: -1; width: 100%; }
    .header_slogan .slogan-text { font-size: 15px; line-height: 1.5; }
    .wbe_certified { margin: 8px 0; font-size: 20px; }
    #logo { float: none; margin: 8px 0 16px; max-width: 100%; }
    #header_right { position: static; width: 100%; height: auto; overflow: visible; }
    #navigation, #dropdown_menu, #dropdown_menu_s { position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; overflow: visible !important; }
    #dropdown_menu .keys { display: none; }
    #dropdown_menu_s > ul, #dropdown_menu > ul { position: static !important; display: flex !important; flex-wrap: wrap; justify-content: center; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; float: none !important; }
    #dropdown_menu ul li { float: none; display: block; height: auto; margin: 2px; padding: 0; }
    #dropdown_menu ul li a { display: flex; align-items: center; min-height: 44px; padding: 6px 12px; line-height: 1.4; box-sizing: border-box; font-size: 13px; }
    #dropdown_menu ul ul { position: static !important; display: block !important; width: auto !important; visibility: visible !important; }
    #navigation .rt-menu-toggle { display: block; width: 100%; min-height: 48px; padding: 12px 16px; margin: 0; border: 1px solid #aaa; border-radius: 6px; background: #f4f4f4; color: #333; text-align: left; font: 600 16px/1.4 Arial, sans-serif; cursor: pointer; }
    #navigation .rt-menu-toggle { box-sizing: border-box; max-width: 100%; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
    #navigation.rt-menu-enhanced #dropdown_menu[hidden] { display: none !important; }
    #dropdown_menu_s > ul, #dropdown_menu > ul { flex-direction: column; align-items: stretch; gap: 0; }
    #dropdown_menu ul li, #dropdown_menu ul li:hover { width: 100%; margin: 0; padding: 0; background: none !important; border: 0; }
    #dropdown_menu ul li a, #dropdown_menu ul li a:hover, #dropdown_menu ul li a:focus,
    #dropdown_menu ul li.current-menu-item > a, #dropdown_menu ul li.current_page_item > a {
        width: 100%; height: auto !important; min-height: 48px; padding: 12px 16px !important; margin: 0; background: #fff !important; color: #333 !important; border: 0; border-bottom: 1px solid #ddd; border-radius: 0; white-space: normal; overflow-wrap: anywhere; text-decoration: none; line-height: 1.5 !important; font-size: 15px;
    }
    #dropdown_menu ul li.current-menu-item > a, #dropdown_menu ul li.current_page_item > a { background: #e9e9e9 !important; font-weight: bold; }
    #dropdown_menu ul li a:hover, #dropdown_menu ul li a:focus-visible { background: #f1f1f1 !important; text-decoration: underline; }
    .subscribe_box { margin: 8px 0 0; float: none; width: 100%; }
    .subscribe_box:empty { display: none; }
    .rt-mobile-search { display: none; width: 100%; gap: 8px; margin: 12px 0 0; box-sizing: border-box; }
    .rt-mobile-search input[type="search"] { flex: 1 1 0; min-width: 0; width: 0; height: 48px; padding: 10px 12px; margin: 0; border: 1px solid #aaa; border-radius: 6px; background: #fff; color: #333; font: 16px/1.4 Arial, sans-serif; box-sizing: border-box; }
    .rt-mobile-search button { flex: 0 0 auto; min-height: 48px; padding: 10px 14px; border: 1px solid #777; border-radius: 6px; background: #f4f4f4; color: #333; font: 600 16px/1.4 Arial, sans-serif; cursor: pointer; }
    .sub_header .search_bar { display: none; }
    #container1, #container2 { background-image: none; padding-top: 0; }
    .page_curv_top { display: none; }
    .content_con { width: 100%; box-sizing: border-box; background: #fff; border: 1px solid #ddd; border-radius: 12px; box-shadow: 0 2px 8px #0002; overflow-wrap: anywhere; }
    .content_con2 { width: 100%; box-sizing: border-box; padding: 20px 16px 0; }
    .content, .content.sub, .content.sub.fullwidth, .content.productlist, .sidebar,
    .box.single, .box.single.fullbox, .box.small, .box.full, .content_con2.three_column .box.small,
    .ezcol, .ezcol-two-third, .ezcol-one-third { float: none; display: block; width: 100%; max-width: 100%; box-sizing: border-box; margin-left: 0; margin-right: 0; }
    .ezcol.ezcol-two-third, .ezcol.ezcol-one-third { width: 100% !important; }
    .sidebar { margin-top: 24px; border-top: 1px solid #ddd; padding-top: 20px; }
    .sidebar, .sidebars1, .sidebars2 { background: none; min-height: 0; padding-left: 0; }
    .sub_header { position: static; width: auto; height: auto; margin: 0 16px; padding: 14px 0; display: flex; flex-direction: column; gap: 12px; }
    .breadcrumb { position: static; padding: 0; font-size: 12px; }
    .search_bar { position: relative; top: auto; right: auto; padding: 0; height: 44px; width: 100%; max-width: 400px; }
    .search_bar form { display: flex; height: 44px; background: #fff; border: 1px solid #aaa; border-radius: 5px; }
    .search_bar form input.search_text { position: static; width: calc(100% - 48px); height: 42px; margin: 0; padding: 6px 10px; box-sizing: border-box; font-size: 16px; background: none; }
    .search_bar form input.searchsubmit { position: static; width: 44px; height: 42px; margin: 0; padding: 0; background-position: center; }
    #slider_con { width: 100%; height: auto; aspect-ratio: 940 / 320; overflow: hidden; border-radius: 12px 12px 0 0; }
    #slider_area { width: 100% !important; height: auto !important; aspect-ratio: 940 / 320; margin: 0; }
    #slider_area .slide { width: 100% !important; height: 100% !important; margin: 0; }
    #slider_area .slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
    .slider_curv, #slider_area .right_side { display: none; }
    #numbers { bottom: 12px; }
    .rt-slider-toggle { bottom: 8px; right: 8px; }
    input, textarea, select { max-width: 100%; box-sizing: border-box; font-size: 16px; }
    input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=image]), select { min-height: 44px; }
    textarea { width: 100%; min-height: 160px; }
    .wpcf7-form-control-wrap { max-width: 100%; }
    .wpcf7-form p { margin: 0 0 16px; }
    .wpcf7-form input:not([type=submit]):not([type=checkbox]):not([type=radio]), .wpcf7-form select { width: 100%; }
    #contact_form, #contact_form ul, #contact_form li { width: 100%; box-sizing: border-box; }
    table { max-width: 100%; }
    .logos { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; padding-bottom: 16px; }
    .logos a { margin: 0; max-width: 28%; }
    #footer, #footer .footer_con, #footer .footer_con2 { width: 100%; box-sizing: border-box; background-image: none; height: auto; min-height: 0; }
    #footer .footer_con2 { padding: 16px; }
    #footer .part1, #footer .part2, #footer .part3 { float: none; width: auto; margin: 0; text-align: center; }
    #footer a { display: inline-block; padding: 8px; }
    .accordions-shortcode > h3 a { min-height: 44px; padding: 8px 10px; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Keyboard-visible submenus and accessible image viewer. */
.navigation li:focus-within > ul {display:block !important; visibility:visible !important; height:auto !important;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {outline:3px solid #005fcc; outline-offset:3px;}
.rt-lightbox {max-width:min(92vw,1100px); max-height:92vh; padding:16px; border:0; border-radius:8px; color:#222; background:#fff;}
.rt-lightbox::backdrop {background:rgba(0,0,0,.8);}
.rt-lightbox img {display:block; max-width:100%; max-height:70vh; width:auto; height:auto; margin:12px auto;}
.rt-lightbox button {padding:10px 14px; min-height:44px; margin:4px; cursor:pointer;}
.rt-lightbox [hidden] {display:none;}
#numbers a span {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
@media (max-width:999px) {
    #porfolio_slider, .portfolio_slides, .portfolio_categories, .product_right_side,
    .box.big_box, .box.product {float:none; width:100% !important; max-width:100%; box-sizing:border-box; margin-left:0; margin-right:0;}
    .portfolio_slides {height:auto !important; aspect-ratio:940/300;}
    .portfolio_slides .pslide {width:100% !important; max-width:100%;}
    .portfolio_slider_arrows {left:auto; right:10px;}
    #porfolio_slider > img, .box.big_box > img, .product_right_side > img {width:100%; max-width:100%;}
    .box.big_box .imgarea, .box.product .imgarea {width:100%; max-width:100%; box-sizing:border-box;}
    .portfolio_categories ul {float:none; width:auto; margin:0; padding:0;}
    .product_right_side {clear:both;}
}
@media (max-width:999px) {
    .product_left_side #content, .product_left_side .tabdiv,
    .product_left_side #technical_details {width:100%; max-width:100%; box-sizing:border-box;}
    .product_left_side table {display:block; max-width:100%; overflow-x:auto;}
}
@media (max-width:999px) {
    .box.blog, .dateandcategories {float:none; width:100%; max-width:100%; box-sizing:border-box;}
}

.portfolio_slider_arrows button {border:0; padding:0; cursor:pointer;}
@media (max-width:999px) {
 .portfolio_slider_arrows {width:96px; display:flex; gap:4px;}
 .portfolio_slider_arrows button {width:44px; min-height:44px; background-position:center;}
 .portfolio_slide_content, .portfolio_slide_content .title, .portfolio_slide_content .text {width:100%; max-width:100%; box-sizing:border-box;}
}
