/* WordPress browser measurements, 144 routes at 1348px, 2026-10-10.
   Contact blocks are the agreed replacement for former feedback forms. */
.legacy-home #content.site-content { padding:0; }
.legacy-breadcrumbs { display:block; }
.legacy-breadcrumbs > li { display:inline-block; }
.legacy-breadcrumbs > li:not(:last-child) { margin-right:0.1934em; }
.legacy-page .fp-icon-box-5 .legacy-contact-details p { margin:0 0 0 45px; }
.legacy-home .fp-latest-post .item-latest-post .entry-title { font-size:20px; line-height:1.2; }
/* WooCommerce's original list reset and title metrics. */
.woocommerce ul.products { padding:0; margin:0 -15px 1em; list-style:none; clear:both; }
.woocommerce .woocommerce-result-count { float:left; margin:0 0 1em; }
.woocommerce .woocommerce-ordering { float:right; margin:0 0 1em; }
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  padding:8px 0 !important; margin:0 !important; font-size:16px !important; line-height:1.2 !important;
}
.woocommerce ul.products li.product .product-header { height:290px; position:relative; }
.woocommerce ul.products li.product .product-header img {
  width:100% !important; height:290px !important; display:block; object-fit:contain; margin:0 0 20px;
}
.legacy-product .related ul.products { margin:0 -15px 1em !important; gap:0 !important; }
.legacy-product .related ul.products > li.product { padding:0 15px !important; }
.legacy-product .tablepress td,.legacy-product .tablepress th,
.legacy-service #primary .tablepress td,.legacy-service #primary .tablepress th {
  padding:8px !important; font-size:14px !important; line-height:1.6 !important;
}
.legacy-page .vc_progress_bar .vc_label,.legacy-page .vc_progress_bar .vc_label_units { color:#fff !important; }
.vc_tta-panel,.legacy-contact-cta { scroll-margin-top:105px; }
/* Native details preserve FactoryPlus's two original accordion variants. */
details.fp-accordion.style-2 .accordion-title h2 { margin:0; padding:15px 0 15px 80px; }
details.fp-accordion.style-2 .accordion-title .icons { margin:0; width:56px; border-radius:0; }
details.fp-accordion.style-2[open] > .accordion-title { border-bottom:1px solid #f7f7f7; }
/* The original TablePress rules, without its unused sorting script. */
.tablepress tbody td{color:#9e9e9e}
.tablepress-table-description{clear:both;display:block}
.tablepress{border-collapse:collapse;border-spacing:0;width:100%;margin-bottom:1em;border:none}
.tablepress td,.tablepress th{padding:8px;border:none;background:0 0;text-align:left;float:none!important}
.tablepress tbody td{vertical-align:top}
.tablepress tbody td,.tablepress tfoot th{border-top:1px solid #ddd}
.tablepress tbody tr:first-child td{border-top:0}
.tablepress thead th{border-bottom:1px solid #ddd}
.tablepress tfoot th,.tablepress thead th{background-color:#d9edf7;font-weight:700;vertical-align:middle}
.tablepress .odd td{background-color:#f9f9f9}
.tablepress .even td{background-color:#fff}
.tablepress .row-hover tr:hover td{background-color:#f3f3f3}
.tablepress img{margin:0;padding:0;border:none;max-width:none}
.tablepress tbody td{vertical-align:middle}
.tablepress tfoot th,.tablepress thead th{background-color:#f49b00;font-weight:700;vertical-align:middle;font-size:14px;color:#fff;border:1px solid #f49b00}
.tablepress td,.tablepress th{padding:8px;border:1px solid #f49b00;background:0 0;float:none!important;font-size:14px;color:#111}

.tablepress tbody td { color:#9e9e9e !important; }
.tablepress thead th,.tablepress tfoot th { color:#fff !important; background-color:#f49b00 !important; }
/* Responsive Revolution Slider grid and its individually positioned layers. */
.legacy-slider { position:relative; height:720px; background:center/cover no-repeat; overflow:hidden; }
.legacy-slider-content { position:relative; width:1170px; max-width:100%; height:100%; margin:auto; }
.legacy-slider-layer { position:absolute; margin:0; left:var(--layer-x); top:var(--layer-y); white-space:nowrap; }
.legacy-slider-contact { position:absolute; right:0; top:45px; width:540px; max-width:46%; }
.legacy-slider-contact .legacy-contact-cta { margin:0; white-space:normal; }
.legacy-slider-layer.fp_button_layer {
  color:#9e9e9e; border:2px solid rgba(255,255,255,.5); padding:10px 30px;
  font:700 14px/14px Montserrat,sans-serif; text-transform:uppercase;
}
.legacy-slider-layer.fp_button_layer:hover { color:#fff; border-color:#f49b00; background:#f49b00; }
@media (max-width:1199px) {
  .legacy-slider { height:min(768px,75vw); }
  .legacy-slider-content { width:1024px; }
  .legacy-slider-layer { left:calc(var(--layer-nx) * min(1px,100vw / 1024)); top:calc(var(--layer-ny) * min(1px,100vw / 1024)); }
  .legacy-slider-contact { display:none; }
}
@media (max-width:991px) {
  .legacy-slider { height:min(960px,123.4vw); }
  .legacy-slider-content { width:778px; }
  .legacy-slider-layer { left:calc(var(--layer-tx) * min(1px,100vw / 778)); top:calc(var(--layer-ty) * min(1px,100vw / 778)); }
}
@media (max-width:767px) {
  .legacy-slider { height:150vw; }
  .legacy-slider-layer { left:8.333vw; top:calc(var(--layer-ty) * 100vw / 480); font-size:clamp(14px,6.25vw,30px) !important; line-height:1 !important; max-width:calc(100% - 32px); }
  .legacy-slider-layer.fp_content_layer { font-size:clamp(10px,4.166vw,20px) !important; white-space:normal; }
  .legacy-slider-layer.fp_button_layer { font-size:clamp(8px,2.916vw,14px) !important; padding:8px 15px; white-space:normal; }
}

.sks-project-slot { display:contents; }
.filters-dropdown li[role="button"] { cursor:pointer; }
.filters-dropdown li[role="button"]:focus-visible { outline:2px solid #fac012; outline-offset:4px; }
.single-project-page .fp-related-project { margin:0; }
.single-project-page .fp-related-project .related-project { margin:0 !important; }
.single-project-page .fp-related-project .entry-thumbnail img { aspect-ratio:auto; }
.single-project-page .sks-related-controls { gap:10px; }
.single-project-page .sks-related-controls button { width:45px; height:45px; font-size:14px; }
.single-project-page .sks-related-controls .fa { line-height:1; }
.legacy-product .woocommerce-product-gallery { margin-bottom:32px; }

@font-face { font-family:flexslider-icon; src:url('/legacy/visual08-assets/flexslider-icon.woff') format('woff'); font-weight:400; font-style:normal; font-display:block; }
.sks-gallery-slider { position:relative; margin:0 0 60px; background:#fff; border:4px solid #fff; border-radius:4px; }
.sks-gallery-slider .slides { list-style:none; padding:0; margin:0; }
.sks-gallery-slider .slides > li { list-style:none; margin:0; padding:0; }
.sks-gallery-slider .slides > li[hidden] { display:none !important; }
.sks-gallery-slider .slides > li:not([hidden]) { display:block !important; }
.sks-gallery-slider .slides img { width:100%; display:block; height:auto; }
.sks-gallery-slider .flex-control-nav { position:absolute; top:100%; bottom:auto; width:100%; margin:15px 0 0; padding:0; text-align:center; z-index:10; }
.sks-gallery-slider .flex-control-nav li { display:inline-block; margin:0 6px; list-style:none; }
.sks-gallery-slider .flex-control-nav button { width:11px; height:11px; padding:0; border:0; border-radius:20px; box-shadow:inset 0 0 3px rgba(0,0,0,.3); background:rgba(0,0,0,.5); text-indent:-9999px; cursor:pointer; }
.sks-gallery-slider .flex-control-nav button.flex-active { background:rgba(0,0,0,.9); }
.sks-gallery-slider .flex-direction-nav { margin:0; padding:0; list-style:none; }
.sks-gallery-slider .flex-direction-nav button { display:block; position:absolute; top:50%; margin:-20px 0 0; width:40px; height:40px; border:0; padding:0; background:none; color:rgba(0,0,0,.8); opacity:0; cursor:pointer; text-shadow:1px 1px 0 rgba(255,255,255,.3); transition:opacity .3s; }
.sks-gallery-slider .flex-direction-nav button::before { font:40px/1 flexslider-icon; content:'\f001'; }
.sks-gallery-slider .flex-direction-nav button.flex-next::before { content:'\f002'; }
.sks-gallery-slider .flex-prev { left:10px; } .sks-gallery-slider .flex-next { right:10px; }
.sks-gallery-slider:hover .flex-direction-nav button,.sks-gallery-slider:focus-within .flex-direction-nav button { opacity:.7; }
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul { display:flex; flex-wrap:wrap; gap:1px; list-style:none; margin:0; padding:0; }
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul li { margin:0; padding:0; list-style:none; }
.wpb_gallery .wpb_image_grid .wpb_image_grid_ul img { display:block; max-width:100%; height:auto; }
#attachment-large_medium .sks-gallery-slider .prettyphoto { display:flex; justify-content:center; align-items:center; height:700px; }
#attachment-large_medium img.attachment-large { max-width:450px; margin:0 auto; padding-bottom:1rem; }
.sks-image-dialog { max-width:96vw; max-height:96vh; padding:14px; border:0; overflow:auto; background:#fff; }
.sks-image-dialog::backdrop { background:rgba(0,0,0,.8); }
.sks-image-dialog > img { display:block; max-width:90vw; max-height:88vh; width:auto; height:auto; }
.sks-image-dialog > button { position:absolute; right:8px; top:8px; width:32px; height:32px; border:0; background:#fff; color:#272727; font-size:24px; line-height:1; }
@media (max-width:767px) { #attachment-large_medium .sks-gallery-slider .prettyphoto { height:auto; min-height:300px; } #attachment-large_medium img.attachment-large { max-width:100%; } }

.single-project-page .single-project > .entry-thumbnail > img.attachment-factoryplus-single-project-thumb { aspect-ratio:auto; height:auto; width:auto; max-width:100%; }
.legacy-product .sks-related-products-carousel { position:relative; }
.legacy-product .sks-related-products-carousel .sks-related-products-viewport { width:calc(100% + 30px); margin:0 -15px; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
.legacy-product .sks-related-products-carousel .sks-related-products-viewport::-webkit-scrollbar { display:none; }
.legacy-product .sks-related-products-carousel ul.products { display:flex !important; flex-wrap:nowrap; margin:0 !important; padding:0 !important; width:100%; }
.legacy-product .sks-related-products-carousel ul.products > li.product { flex:0 0 33.333333%; width:33.333333% !important; max-width:33.333333% !important; padding:0 !important; scroll-snap-align:start; }
.legacy-product .sks-related-products-carousel .sks-product-controls { position:absolute; right:0; top:35px; display:flex; gap:10px; }
.legacy-product .sks-related-products-carousel .sks-product-controls button { width:45px; height:45px; border:2px solid #f7f7f7; border-radius:50%; background:transparent; color:#9e9e9e; font-size:14px; }
.legacy-product .sks-related-products-carousel .sks-product-controls button:hover { color:#fff; background:#fac012; border-color:#fac012; }
@media (max-width:991px) { .legacy-product .sks-related-products-carousel ul.products > li.product { flex-basis:50%; width:50% !important; max-width:50% !important; } }
@media (max-width:767px) { .legacy-product .sks-related-products-carousel .sks-product-controls { display:none; } }

.legacy-product .sks-related-products-carousel ul.products li.product .product-header img { height:290px !important; object-fit:contain; }

.legacy-project-archive .project-wrapper .project-thumbnail img { aspect-ratio:auto; height:auto; }
.legacy-project-taxonomy .blog-wrapper .entry-thumbnail img,.legacy-blog-listing .blog-wrapper .entry-thumbnail img { width:auto; aspect-ratio:auto; height:auto; max-width:100%; }
.legacy-home .fp-latest-post .entry-thumbnail img { aspect-ratio:auto; height:auto; }
.woocommerce .shop-toolbar .woocommerce-result-count { float:none; margin:0; line-height:45px; }
.woocommerce .shop-toolbar .woocommerce-ordering { float:none; width:100%; margin:0; text-align:right; }

.sks-product-dialog[open] { display:flex !important; position:fixed; inset:0; width:100vw; height:100vh; max-width:100vw; max-height:100vh; padding:15px; margin:0; border:0; background:transparent; overflow:auto; align-items:flex-start; }
.sks-product-dialog::backdrop { background:rgba(0,0,0,.5); }
.sks-product-dialog .modal-dialog { width:70%; max-width:none; margin:auto; }
.sks-product-dialog .modal-content { background:#fff; }
.sks-product-dialog .woocommerce-product-gallery { opacity:1 !important; }
@media (max-width:767px) { .sks-product-dialog .modal-dialog { width:100%; } }
