/** * Post Structures - Dynamic CSS * * @package Astra * @since 4.0.0 */ if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly. } /** * Post Structures */ add_filter( 'astra_dynamic_theme_css', 'astra_post_single_structure_dynamic_css' ); /** * Dynamic CSS * * @param string $dynamic_css Astra Dynamic CSS. * @param string $dynamic_css_filtered Astra Dynamic CSS Filters. * @return String Generated dynamic CSS for Post Structures. * * @since 4.0.0 */ function astra_post_single_structure_dynamic_css( $dynamic_css, $dynamic_css_filtered = '' ) { $current_post_type = strval( get_post_type() ); $supported_post_types = Astra_Posts_Structure_Loader::get_supported_post_types(); if ( ! is_singular( $current_post_type ) ) { return $dynamic_css; } if ( ! in_array( $current_post_type, $supported_post_types ) ) { return $dynamic_css; } if ( 'product' === $current_post_type ) { $single_section_id = 'section-woo-shop-single'; } elseif ( 'page' === $current_post_type ) { $single_section_id = 'section-single-page'; } elseif ( 'download' === $current_post_type ) { $single_section_id = 'section-edd-single'; } else { $single_section_id = 'single-posttype-' . $current_post_type; } $margin_option = 'post' === $current_post_type ? 'single-post-outside-spacing' : $single_section_id . '-margin'; $padding_option = 'post' === $current_post_type ? 'single-post-inside-spacing' : $single_section_id . '-padding'; $padding = astra_get_option( $padding_option ); $margin = astra_get_option( $margin_option ); $margin_selector = '.site .site-content #primary'; $padding_selector = '.site .site-content #primary .ast-article-single, .ast-separate-container .site-content #secondary .widget'; if ( class_exists( 'WooCommerce' ) && 'product' === $current_post_type ) { $padding_selector = '.site .site-content #primary .ast-woocommerce-container'; } // Desktop CSS. $css_output_desktop = array( $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'desktop' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'desktop' ), ), $padding_selector => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'desktop' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'desktop' ), ), ); // Tablet CSS. $css_output_tablet = array( $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'tablet' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'tablet' ), ), $padding_selector => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'tablet' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'tablet' ), ), ); // Mobile CSS. $css_output_mobile = array( $margin_selector => array( // Margin CSS. 'margin-top' => astra_responsive_spacing( $margin, 'top', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $margin, 'left', 'mobile' ), 'margin-right' => astra_responsive_spacing( $margin, 'right', 'mobile' ), ), $padding_selector => array( // Padding CSS. 'padding-top' => astra_responsive_spacing( $padding, 'top', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $padding, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $padding, 'left', 'mobile' ), 'padding-right' => astra_responsive_spacing( $padding, 'right', 'mobile' ), ), ); $css_output = astra_parse_css( $css_output_desktop ); $css_output .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $css_output .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); $dynamic_css .= $css_output; if ( false === astra_get_option( 'ast-single-' . $current_post_type . '-title', ( class_exists( 'WooCommerce' ) && 'product' === $current_post_type ) ? false : true ) ) { return $dynamic_css; } $layout_type = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-layout', 'layout-1' ); $layout_2_active = ( 'layout-2' === $layout_type ) ? true : false; $exclude_attr = astra_get_option( 'enable-related-posts', false ) ? ':not(.related-entry-header)' : ''; if ( $layout_2_active ) { $selector = '.ast-single-entry-banner[data-post-type="' . $current_post_type . '"]'; } else { $selector = 'header.entry-header' . $exclude_attr; } $site_content_width = astra_get_option( 'site-content-width', 1200 ); $horz_alignment = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-horizontal-alignment' ); $desk_h_alignment = ( isset( $horz_alignment['desktop'] ) ) ? $horz_alignment['desktop'] : ''; $tab_h_alignment = ( isset( $horz_alignment['tablet'] ) ) ? $horz_alignment['tablet'] : ''; $mob_h_alignment = ( isset( $horz_alignment['mobile'] ) ) ? $horz_alignment['mobile'] : ''; $banner_padding = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-padding', Astra_Posts_Structure_Loader::get_customizer_default( 'responsive-padding' ) ); $banner_margin = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-margin' ); $text_color = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-text-color' ); $title_color = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-title-color' ); $link_color = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-link-color' ); $link_hover_color = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-link-hover-color' ); $elements_gap = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-elements-gap', 10 ); $banner_height = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-height' ); $desk_banner_height = ( $layout_2_active && isset( $banner_height['desktop'] ) ) ? astra_get_css_value( $banner_height['desktop'], 'px' ) : ''; $tab_banner_height = ( $layout_2_active && isset( $banner_height['tablet'] ) ) ? astra_get_css_value( $banner_height['tablet'], 'px' ) : ''; $mob_banner_height = ( $layout_2_active && isset( $banner_height['mobile'] ) ) ? astra_get_css_value( $banner_height['mobile'], 'px' ) : ''; $vert_alignment = ( $layout_2_active ) ? astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-vertical-alignment', 'center' ) : 'center'; $width_type = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-width-type', 'fullwidth' ); $custom_width = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-custom-width', 1200 ); $single_structure = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-structure', 'page' === $current_post_type ? array( 'ast-dynamic-single-' . $current_post_type . '-image', 'ast-dynamic-single-' . $current_post_type . '-title' ) : array( 'ast-dynamic-single-' . $current_post_type . '-title', 'ast-dynamic-single-' . $current_post_type . '-meta' ) ); // Banner Text typography dynamic stylings. $banner_text_font_size = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-text-font-size' ); // Banner Title typography dynamic stylings. $banner_title_font_size = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-title-font-size', Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-size' ) ); // Banner Meta typography dynamic stylings. $banner_meta_font_size = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-meta-font-size' ); $css_output_min_tablet = array(); $narrow_container_width = astra_get_option( 'narrow-container-max-width', apply_filters( 'astra_narrow_container_width', 750 ) ); $author_avatar_size = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-author-avatar-size' ); // Aspect ratio. $aspect_ratio_type = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-article-featured-image-ratio-type', 'predefined' ); $predefined_scale = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-article-featured-image-ratio-pre-scale', '16/9' ); $custom_scale_width = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-article-featured-image-custom-scale-width', 16 ); $custom_scale_height = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-article-featured-image-custom-scale-height', 9 ); $aspect_ratio = astra_get_dynamic_image_aspect_ratio( $aspect_ratio_type, $predefined_scale, $custom_scale_width, $custom_scale_height ); $object_fit_style = 'custom' === $aspect_ratio_type ? 'cover' : ''; // Remove featured image padding. $remove_featured_image_padding = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-remove-featured-padding', false ) && 'layout-1' === $layout_type && 'none' === astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-article-featured-image-position-layout-1' ) ? true : false; // Few settings from banner section are also applicable to 'layout-1' so adding this condition & compatibility. if ( 'layout-1' === $layout_type ) { $image_wrap_alignment = Astra_Dynamic_CSS::astra_4_4_0_compatibility() ? 'center' : ''; /** * Desktop CSS. */ $css_output_desktop = array( $selector => array( 'text-align' => $desk_h_alignment, ), $selector . ' *' => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-text-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-text-font-weight' ), $banner_text_font_size, 'ast-dynamic-single-' . $current_post_type . '-text-font-extras', $text_color ), $selector . ' .entry-title' => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-title-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-title-font-weight', Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-weight' ) ), $banner_title_font_size, 'ast-dynamic-single-' . $current_post_type . '-title-font-extras', $title_color ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-meta-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-meta-font-weight' ), $banner_meta_font_size, 'ast-dynamic-single-' . $current_post_type . '-meta-font-extras' ), $selector . ' a, ' . $selector . ' a *' => array( 'color' => esc_attr( $link_color ), ), $selector . ' a:hover, ' . $selector . ' a:hover *' => array( 'color' => esc_attr( $link_hover_color ), ), $selector . ' > *:not(:last-child)' => array( 'margin-bottom' => $elements_gap . 'px', ), $selector . ' .post-thumb-img-content' => array( 'text-align' => $image_wrap_alignment, ), $selector . ' .post-thumb img, .ast-single-post-featured-section.post-thumb img' => array( 'aspect-ratio' => $aspect_ratio, 'width' => Astra_Dynamic_CSS::astra_4_6_0_compatibility() && 'default' !== $aspect_ratio_type ? '100%' : '', 'height' => Astra_Dynamic_CSS::astra_4_6_0_compatibility() && 'default' !== $aspect_ratio_type ? '100%' : '', 'object-fit' => $object_fit_style, ), ); /** * Tablet CSS. */ $css_output_tablet = array( $selector => array( 'text-align' => $tab_h_alignment, ), $selector . ' .entry-title' => array( 'font-size' => astra_responsive_font( $banner_title_font_size, 'tablet' ), ), $selector . ' *' => array( 'font-size' => astra_responsive_font( $banner_text_font_size, 'tablet' ), ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => array( 'font-size' => astra_responsive_font( $banner_meta_font_size, 'tablet' ), ), ); /** * Mobile CSS. */ $css_output_mobile = array( $selector => array( 'text-align' => $mob_h_alignment, ), $selector . ' .entry-title' => array( 'font-size' => astra_responsive_font( $banner_title_font_size, 'mobile' ), ), $selector . ' *' => array( 'font-size' => astra_responsive_font( $banner_text_font_size, 'mobile' ), ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => array( 'font-size' => astra_responsive_font( $banner_meta_font_size, 'mobile' ), ), ); if ( $remove_featured_image_padding ) { $single_post_container_spacing = astra_get_option( 'single-post-inside-spacing' ); $container_padding_defaults = Astra_Dynamic_CSS::astra_4_6_0_compatibility() && is_single() ? '2.5em' : '3em'; $container_lg_horz_spacing = ( true === astra_check_is_structural_setup() ) ? $container_padding_defaults : '6.67'; $container_lg_vert_spacing = ( true === astra_check_is_structural_setup() ) ? $container_padding_defaults : '5.34'; $astra_desktop_container_left_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'left', 'desktop' ) ? astra_responsive_spacing( $single_post_container_spacing, 'left', 'desktop', $container_lg_horz_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_desktop_container_right_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'desktop' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'desktop', $container_lg_horz_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_desktop_container_top_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'desktop' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'desktop', $container_lg_vert_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_tablet_container_left_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'left', 'tablet' ) ? astra_responsive_spacing( $single_post_container_spacing, 'left', 'tablet', $container_lg_horz_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_tablet_container_right_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'tablet' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'tablet', $container_lg_horz_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_tablet_container_top_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'tablet' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'tablet', $container_lg_vert_spacing ) : 'var(--ast-container-default-xlg-padding)'; $astra_mobile_container_left_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'left', 'mobile' ) ? astra_responsive_spacing( $single_post_container_spacing, 'left', 'mobile', $container_lg_horz_spacing ) : '1em'; $astra_mobile_container_right_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'mobile' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'mobile', $container_lg_horz_spacing ) : '1em'; $astra_mobile_container_top_spacing = defined( 'ASTRA_EXT_VER' ) && astra_responsive_spacing( $single_post_container_spacing, 'right', 'mobile' ) ? astra_responsive_spacing( $single_post_container_spacing, 'right', 'mobile', $container_lg_vert_spacing ) : '1.5em'; $css_output_desktop[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-left'] = $astra_desktop_container_left_spacing ? 'calc( -1 * ' . $astra_desktop_container_left_spacing . ' )' : ''; $css_output_desktop[ '.ast-separate-container ' . $selector . ' > *:first-child.post-thumb' ]['margin-top'] = $astra_desktop_container_top_spacing ? 'calc( -1 * ' . $astra_desktop_container_top_spacing . ' )' : ''; $css_output_desktop[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-right'] = $astra_desktop_container_right_spacing ? 'calc( -1 * ' . $astra_desktop_container_right_spacing . ' )' : ''; $css_output_tablet[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-left'] = $astra_tablet_container_left_spacing ? 'calc( -1 * ' . $astra_tablet_container_left_spacing . ' )' : ''; $css_output_tablet[ '.ast-separate-container ' . $selector . ' > *:first-child.post-thumb' ]['margin-top'] = $astra_tablet_container_top_spacing ? 'calc( -1 * ' . $astra_tablet_container_top_spacing . ' )' : ''; $css_output_tablet[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-right'] = $astra_tablet_container_right_spacing ? 'calc( -1 * ' . $astra_tablet_container_right_spacing . ' )' : ''; $css_output_mobile[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-left'] = $astra_mobile_container_left_spacing ? 'calc( -1 * ' . $astra_mobile_container_left_spacing . ' )' : ''; $css_output_mobile[ '.ast-separate-container ' . $selector . ' > *:first-child.post-thumb' ]['margin-top'] = $astra_mobile_container_top_spacing ? 'calc( -1 * ' . $astra_mobile_container_top_spacing . ' )' : ''; $css_output_mobile[ '.ast-separate-container ' . $selector . ' .post-thumb' ]['margin-right'] = $astra_mobile_container_right_spacing ? 'calc( -1 * ' . $astra_mobile_container_right_spacing . ' )' : ''; } } else { $entry_title_selector = is_customize_preview() ? $selector . ' .ast-container .entry-title' : $selector . ' .entry-title'; $image_position = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-image-position', 'inside' ); $use_featured_background = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-featured-as-background', false ); $custom_background = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-background', Astra_Posts_Structure_Loader::get_customizer_default( 'responsive-background' ) ); /** * Desktop CSS. */ $css_output_desktop = array( $selector => array( 'text-align' => $desk_h_alignment, 'justify-content' => $vert_alignment, 'min-height' => $desk_banner_height, 'margin-top' => astra_responsive_spacing( $banner_margin, 'top', 'desktop' ), 'margin-right' => astra_responsive_spacing( $banner_margin, 'right', 'desktop' ), 'margin-bottom' => astra_responsive_spacing( $banner_margin, 'bottom', 'desktop' ), 'margin-left' => astra_responsive_spacing( $banner_margin, 'left', 'desktop' ), 'width' => '100%', 'padding-top' => astra_responsive_spacing( $banner_padding, 'top', 'desktop' ), 'padding-right' => astra_responsive_spacing( $banner_padding, 'right', 'desktop' ), 'padding-bottom' => astra_responsive_spacing( $banner_padding, 'bottom', 'desktop' ), 'padding-left' => astra_responsive_spacing( $banner_padding, 'left', 'desktop' ), ), $selector . '[data-banner-layout="layout-2"]' => astra_get_responsive_background_obj( $custom_background, 'desktop' ), $selector . ' .ast-container *' => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-text-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-text-font-weight' ), $banner_text_font_size, 'ast-dynamic-single-' . $current_post_type . '-text-font-extras', $text_color ), $selector . ' .ast-container > *:not(:last-child), ' . $selector . ' .read-more' => array( 'margin-bottom' => $elements_gap . 'px', ), $selector . ' .ast-container' => array( 'width' => '100%', ), $entry_title_selector => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-title-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-title-font-weight', Astra_Posts_Structure_Loader::get_customizer_default( 'title-font-weight' ) ), $banner_title_font_size, 'ast-dynamic-single-' . $current_post_type . '-title-font-extras', $title_color ), $selector . ' > .entry-title' => array( 'margin-bottom' => '0', ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => astra_get_font_array_css( astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-meta-font-family' ), astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-meta-font-weight' ), $banner_meta_font_size, 'ast-dynamic-single-' . $current_post_type . '-meta-font-extras' ), $selector . ' .ast-container a, ' . $selector . ' .ast-container a *' => array( 'color' => esc_attr( $link_color ), ), $selector . ' .ast-container a:hover, ' . $selector . ' .ast-container a:hover *' => array( 'color' => esc_attr( $link_hover_color ), ), '.ast-single-entry-banner .read-more .ast-button' => array( 'margin-top' => '0.5em', 'display' => 'inline-block', ), $selector . ' .post-thumb img, .ast-single-post-featured-section img' => array( 'aspect-ratio' => $aspect_ratio, 'width' => Astra_Dynamic_CSS::astra_4_6_0_compatibility() && 'default' !== $aspect_ratio_type ? '100%' : '', 'height' => Astra_Dynamic_CSS::astra_4_6_0_compatibility() && 'default' !== $aspect_ratio_type ? '100%' : '', 'object-fit' => $object_fit_style, ), $selector . ' .ast-container > *:last-child' => array( 'margin-bottom' => '0', ), ); /** * Min tablet width CSS. */ $css_output_min_tablet = array( '.ast-narrow-container ' . $selector . ' .ast-container' => array( 'max-width' => $narrow_container_width . 'px', 'padding-left' => '0', 'padding-right' => '0', ), ); /** * Tablet CSS. */ $css_output_tablet = array( $selector => array( 'text-align' => $tab_h_alignment, 'min-height' => $tab_banner_height, 'padding-top' => astra_responsive_spacing( $banner_padding, 'top', 'tablet' ), 'padding-right' => astra_responsive_spacing( $banner_padding, 'right', 'tablet' ), 'padding-bottom' => astra_responsive_spacing( $banner_padding, 'bottom', 'tablet' ), 'padding-left' => astra_responsive_spacing( $banner_padding, 'left', 'tablet' ), 'margin-top' => astra_responsive_spacing( $banner_margin, 'top', 'tablet' ), 'margin-right' => astra_responsive_spacing( $banner_margin, 'right', 'tablet' ), 'margin-bottom' => astra_responsive_spacing( $banner_margin, 'bottom', 'tablet' ), 'margin-left' => astra_responsive_spacing( $banner_margin, 'left', 'tablet' ), ), $selector . '[data-banner-layout="layout-2"]' => astra_get_responsive_background_obj( $custom_background, 'tablet' ), $selector . ' .entry-title' => array( 'font-size' => astra_responsive_font( $banner_title_font_size, 'tablet' ), ), $selector . ' .ast-container' => array( 'padding-left' => '0', 'padding-right' => '0', ), $selector . ' *' => array( 'font-size' => astra_responsive_font( $banner_text_font_size, 'tablet' ), ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => array( 'font-size' => astra_responsive_font( $banner_meta_font_size, 'tablet' ), ), ); /** * Mobile CSS. */ $css_output_mobile = array( $selector => array( 'text-align' => $mob_h_alignment, 'min-height' => $mob_banner_height, 'padding-top' => astra_responsive_spacing( $banner_padding, 'top', 'mobile' ), 'padding-right' => astra_responsive_spacing( $banner_padding, 'right', 'mobile' ), 'padding-bottom' => astra_responsive_spacing( $banner_padding, 'bottom', 'mobile' ), 'padding-left' => astra_responsive_spacing( $banner_padding, 'left', 'mobile' ), 'margin-top' => astra_responsive_spacing( $banner_margin, 'top', 'mobile' ), 'margin-right' => astra_responsive_spacing( $banner_margin, 'right', 'mobile' ), 'margin-bottom' => astra_responsive_spacing( $banner_margin, 'bottom', 'mobile' ), 'margin-left' => astra_responsive_spacing( $banner_margin, 'left', 'mobile' ), ), $selector . '[data-banner-layout="layout-2"]' => astra_get_responsive_background_obj( $custom_background, 'mobile' ), $selector . ' .entry-title' => array( 'font-size' => astra_responsive_font( $banner_title_font_size, 'mobile' ), ), $selector . ' *' => array( 'font-size' => astra_responsive_font( $banner_text_font_size, 'mobile' ), ), $selector . ' .entry-meta, ' . $selector . ' .entry-meta *' => array( 'font-size' => astra_responsive_font( $banner_meta_font_size, 'mobile' ), ), ); if ( ( $layout_2_active && 'custom' === $width_type ) || is_customize_preview() ) { $css_output_desktop[ $selector . '[data-banner-width-type="custom"]' ]['max-width'] = $custom_width . 'px'; } if ( 'outside' !== $image_position && in_array( 'ast-dynamic-single-' . $current_post_type . '-image', $single_structure ) && $use_featured_background ) { /** @psalm-suppress PossiblyFalseArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort $feat_image_src = wp_get_attachment_url( get_post_thumbnail_id( get_the_ID() ) ); /** @psalm-suppress PossiblyFalseArgument */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( $feat_image_src ) { $css_output_desktop[ $selector . '[data-banner-background-type="featured"]' ] = array( 'background' => 'url( ' . esc_url( $feat_image_src ) . ' )', 'background-repeat' => 'no-repeat', 'background-attachment' => 'scroll', 'background-position' => 'center center', 'background-size' => 'cover', ); $overlay_color = astra_get_option( 'ast-dynamic-single-' . $current_post_type . '-banner-featured-overlay', '' ); if ( '' !== $overlay_color && 'unset' !== $overlay_color ) { $css_output_desktop[ $selector . '[data-banner-background-type="featured"]' ]['background'] = 'url( ' . esc_url( $feat_image_src ) . ' ) ' . $overlay_color; $css_output_desktop[ $selector . '[data-banner-background-type="featured"]' ]['background-blend-mode'] = 'multiply'; } } } if ( 'outside' === $image_position ) { $css_output_desktop['.single article .post-thumb'] = array( 'margin-bottom' => '2em', ); } } $dynamic_css .= ' .ast-single-entry-banner { -js-display: flex; display: flex; flex-direction: column; justify-content: center; text-align: center; position: relative; background: #eeeeee; } .ast-single-entry-banner[data-banner-layout="layout-1"] { max-width: ' . astra_get_css_value( $site_content_width, 'px' ) . '; background: inherit; padding: 20px 0; } .ast-single-entry-banner[data-banner-width-type="custom"] { margin: 0 auto; width: 100%; } .ast-single-entry-banner + .site-content .entry-header { margin-bottom: 0; } .site .ast-author-avatar { --ast-author-avatar-size: ' . astra_get_css_value( $author_avatar_size, 'px' ) . '; } a.ast-underline-text { text-decoration: underline; } .ast-container > .ast-terms-link { position: relative; display: block; } a.ast-button.ast-badge-tax { padding: 4px 8px; border-radius: 3px; font-size: inherit; } '; if ( is_customize_preview() ) { $dynamic_css .= ' .site-header-focus-item .ast-container div.customize-partial-edit-shortcut, .site-header-focus-item .ast-container button.item-customizer-focus { font-size: inherit; } '; } $margin_top = astra_responsive_spacing( $margin, 'top', 'desktop' ); // To add top spacing for SureCart shop page default title. if ( class_exists( 'SureCart' ) && $margin_top && 0 === intval( $margin_top ) && get_the_ID() === intval( get_option( 'surecart_shop_page_id' ) ) ) { $dynamic_css .= ' .page .entry-header { margin-top: 3em; } '; } /* Parse CSS from array() */ $dynamic_css .= astra_parse_css( $css_output_desktop ); $dynamic_css .= astra_parse_css( $css_output_min_tablet, astra_get_tablet_breakpoint( '', 1 ) ); $dynamic_css .= astra_parse_css( $css_output_tablet, '', astra_get_tablet_breakpoint() ); $dynamic_css .= astra_parse_css( $css_output_mobile, '', astra_get_mobile_breakpoint() ); return $dynamic_css; } IT Professional – WSTERN IT SERVICES (WITS)

WITSYNERGY

IT Professional Services  

WITS Western IT Services serves as your trusted partner for cutting-edge IT solutions.
Our comprehensive suite of IT Professional S​ervices is designed to cater to the needs of corporate
and business clients, empowering them to thrive in today’s dynamic landscape.

Cyber Security
Services

ERP & CRM 
Professional

Marketing, SEO & PPCIT Professional

Data Analytics IT Professional Services

Our Services

Western IT Services

Cyber Security Services

Protect your business from evolving cyber threats with our advanced Cyber Security services. We offer 24/7 threat monitoring, risk assessments, and proactive threat mitigation. Our multi-layered defense system safeguards sensitive data and ensures compliance with industry regulations. From endpoint protection to network security, we provide comprehensive coverage. Stay secure, compliant, and resilient with our end-to-end cybersecurity solutions.

ERP & CRM Professional Services

Optimize your business operations with our ERP & CRM professional services. We streamline workflows, enhance customer engagement, and improve resource management. Our team customizes and integrates leading ERP and CRM platforms tailored to your unique business needs. Experience seamless automation, real-time data access, and increased productivity. Stay agile and customer-focused with our end-to-end ERP & CRM solutions.

Marketing, SEO & PPC IT Professional Services

Boost your brand visibility with our Marketing, SEO, and PPC IT services. We craft tailored strategies to increase online traffic, improve search rankings, and drive conversions. Our PPC campaigns target high-intent audiences for maximum ROI. With advanced analytics, we continuously optimize campaigns for peak performance. Take control of your online presence and achieve sustained growth with our expert digital marketing solutions.

Data Analytics IT Professional Services

Our Data Analytics IT services empower businesses to make data-driven decisions with precision. We specialize in data collection, cleansing, and visualization, offering actionable insights to improve performance. From predictive analytics to advanced reporting, our solutions drive efficiency and growth. Our expert team ensures seamless integration with existing systems for maximum impact. Stay ahead of the competition with our state-of-the-art data analytics services.

 



Our Services

We Keep It Simple




Cyber Security Services

WITS Western IT Services focuses on two main areas of cybersecurity: Critical Infrastructure Security, protecting vital computer systems and digital assets essential for national security and public safety; and Network Security, preventing unauthorized access and halting cyberattacks. We specialize in implementing best practices to secure your IT investments and data effectively, and comlying with different Standards as NIST, ISO27001, COBIT and others.

Critical Infrastructure Security, protecting vital computer systems and digital assets essential for national security and public safety; and Network Security, preventing unauthorized access and halting cyberattacks. We specialize in implementing best practices to secure your IT investments and data effectively, and comlying with different Standards as NIST, ISO27001, COBIT and others.


Get Started

ERP & CRM Professional
Services

WITS Western IT Services ERP & CRM Solutions ERP and CRM systems are integrated software solutions that streamline and manage an organization’s core business processes. These processes include finance, human resources, procurement, sales processes, inventory management, production, and more. Western IT Services has been serve as Project Manager Implementator for multiple of our customers successfully transitioned, this has been executed based in the PMLC and different Methodologies as CMMI and Scrum, our certified team members and partners can guarantee your business a Successful and seamless transition, with the proper training for your employees, creating another succeed story in the implementation of this.


Get Started

Data Analytics IT
Professional Services

WITSYNERGY Data Analytics Services
Critical Infrastructure Security:
Converting RAW data into actionable insights includes a range of tools, processes and technologies we use to find trends for your business and solve the problems using Data. With WITSYNERGY Data Analytics we can shape your business processes and improve decision-making for your Executive Board by fostering your business growth.
Stop experience issues and give us a call for your next project in Data Analytics, let us Unleash the power of IT for your Business!


Get Started

Marketing, SEO & PPC IT
Professional Services

WITSYNERGY offers comprehensive Marketing, SEO, and PPC IT Professional Services to effectively elevate your brand in the ever-evolving digital space. We specialize in boosting your online visibility through tailored search engine optimization strategies and highly targeted pay-per-click campaigns. By combining innovative technology with deep industry expertise, we help you drive targeted traffic, improve user engagement, and significantly increase conversions. Whether you’re looking to enhance brand awareness or maximize your ROI, our customized solutions are designed to deliver measurable results that perfectly align with your unique business goals.


Get Started

Cyber Security Services

WITS Western IT Services focuses on two main areas of cybersecurity: Critical Infrastructure Security, protecting vital computer systems and digital assets essential for national security and public safety; and Network Security, preventing unauthorized access and halting cyberattacks. We specialize in implementing best practices to secure your IT investments and data effectively, and comlying with different Standards as NIST, ISO27001, COBIT and others.

Critical Infrastructure Security, protecting vital computer systems and digital assets essential for national security and public safety; and Network Security, preventing unauthorized access and halting cyberattacks. We specialize in implementing best practices to secure your IT investments and data effectively, and comlying with different Standards as NIST, ISO27001, COBIT and others.


Get Started

ERP & CRM Professional
Services

WITS Western IT Services ERP & CRM Solutions ERP and CRM systems are integrated software solutions that streamline and manage an organization’s core business processes. These processes include finance, human resources, procurement, sales processes, inventory management, production, and more. Western IT Services has been serve as Project Manager Implementator for multiple of our customers successfully transitioned, this has been executed based in the PMLC and different Methodologies as CMMI and Scrum, our certified team members and partners can guarantee your business a Successful and seamless transition, with the proper training for your employees, creating another succeed story in the implementation of this.


Get Started

Data Analytics IT
Professional Services

WITSYNERGY Data Analytics Services
Critical Infrastructure Security:
Converting RAW data into actionable insights includes a range of tools, processes and technologies we use to find trends for your business and solve the problems using Data. With WITSYNERGY Data Analytics we can shape your business processes and improve decision-making for your Executive Board by fostering your business growth.
Stop experience issues and give us a call for your next project in Data Analytics, let us Unleash the power of IT for your Business!


Get Started

Marketing, SEO & PPC IT
Professional Services

WITSYNERGY offers comprehensive Marketing, SEO, and PPC IT Professional Services to effectively elevate your brand in the ever-evolving digital space. We specialize in boosting your online visibility through tailored search engine optimization strategies and highly targeted pay-per-click campaigns. By combining innovative technology with deep industry expertise, we help you drive targeted traffic, improve user engagement, and significantly increase conversions. Whether you’re looking to enhance brand awareness or maximize your ROI, our customized solutions are designed to deliver measurable results that perfectly align with your unique business goals.


Get Started

Our Approach

Leverage IT Solutions for Sustainable Growth

Driving business success and customer loyalty requires more than a one-size-fits-all solution. By utilizing advanced tools and systems from our tech partners, we enable seamless automation, ensuring a streamlined experience that grows with your business with minimal effort on your part.

Our Integration Tools Include:

  • Cybersecurity Solutions
  • Data Analytics
  • Cybersecurity Solutions
  • Data Analytics


Book A

Free IT Session

Take the first step toward enhancing your business’s IT infrastructure. Our experts are ready to provide personalized guidance—absolutely free. Experience the WITS difference today!

  • 24/7 IT Support Availability
  • Tailored IT Solutions for Growth

WITS

Western IT Services Certifications

We are proud to showcase multiple badges that
Certifications has certified our business

WITS CISCO CERTIFIED
WITS KLCP
WITS PMP1
WITS UBIQUITI
WITS AWS
WITS AZURE Certified


Your Common

Questions Answered

WITS Western IT Services stands out as a prominent IT services and support company, offering a comprehensive
range of solutions tailored for both residential and business clients. With a steadfast commitment to delivering
unparalleled IT services, WITS prides itself on providing the best quality services at competitive prices,
setting itself apart as a leading Managed Service Provider (MSP) in the industry.


At WITS we are commited to offer you the best price based on your needs, our rates are competitive and affordable for all users, $125 an hour flat rate for Residential Users, Contact us for a discount or go to our Pricing webpage fro more information.

Any time throug our website or via Phone call we offer services 24/7 and we are ready for you!

WITS coverage is all the UTAH State and we can help you 24/7 hours, Contact us for more information.


At WITS, we offer a range of services tailored to residential needs, including computer repair, network setup, video surveillance, and IT training. Our dedicated team is committed to resolving your tech issues quickly and efficiently, ensuring you stay connected and secure. Contact us today for reliable support!

Yes No Charge for Survey on site, that is our policy, no matter how far you are or how long this take us, is NO Charge and free estimate

Hear from Our Clients

Discover how WITS has transformed businesses and homes with our reliable,
24/7  IT solutions. See what our clients are saying about our
exceptional service and unwavering support!

Sarah T.
Sarah T.Home User Read More
“The level of service from WITS is unmatched. Anytime I have a tech issue at home, they’re just a call away and always fix it quickly. Their professionalism and dedication make them feel like part of the family!”
Emily R
Emily RBusiness Owner Read More
“WITS transformed our business operations with their top-notch IT solutions. Their 24/7 support team is always responsive, ensuring minimal downtime. From cybersecurity to structured cabling, their expertise is unmatched. Highly recommend them for any IT needs!”
John D
John D– John D., Remote Worker Read More
“Western IT Services has been a game-changer for our home office setup. Their team was professional, efficient, and incredibly knowledgeable. Thanks to WITS, our systems are now secure and running smoothly!”
Previous
Next

Scroll to Top