/*
Theme Name: Impreza Child
Template: Impreza
Version: 1.0
Author:	UpSolution
Theme URI: http://impreza.us-themes.com/
Author URI: http://us-themes.com/
*/

/*Add your own styles here:*/

:root {
    --colour-site-text: 64, 64, 64;
    --colour-heading: 72, 72, 72;
    --colour-link: 100, 171, 58;
    --colour-link-highlight: 78, 133, 46;
    --font-main: "sofia-pro", sans-serif;
}
body {
    font-family: var(--font-main);
    font-size: 16px;
}
body input,
body textarea,
body select,
body .l-canvas,
body .l-footer,
body .l-popup-box-content,
body .w-blog.layout_flat .w-blog-post-h,
body .w-blog.layout_cards .w-blog-post-h,
body .w-form-row-field::before,
body .w-iconbox.color_light.style_circle .w-iconbox-icon,
body .w-tabs.layout_timeline .w-tabs-item,
body .w-tabs.layout_timeline .w-tabs-section-header-h,
body .bbpress .button,
body .w-cart-dropdown,
body .woocommerce .button,
body .no-touch .btn_hov_shadow .widget_shopping_cart .button:not(.checkout):hover,
body .select2-dropdown {
	color: rgb(var(--colour-site-text));
}
body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
   font-weight: 900;
}
body .l-section[class*="color_"] h1,
body .l-section[class*="color_"] h2,
body .l-section[class*="color_"] h3,
body .l-section[class*="color_"] h4,
body .l-section[class*="color_"] h5,
body .l-section[class*="color_"] h6,
body .l-section[style~="color:"] h1,
body .l-section[style~="color:"] h2,
body .l-section[style~="color:"] h3,
body .l-section[style~="color:"] h4,
body .l-section[style~="color:"] h5,
body .l-section[style~="color:"] h6,
body .vc_column-inner.color_custom h1,
body .vc_column-inner.color_custom h2,
body .vc_column-inner.color_custom h3,
body .vc_column-inner.color_custom h4,
body .vc_column-inner.color_custom h5,
body .vc_column-inner.color_custom h6 {
	color: rgb(var(--colour-heading));
}
.em-heading {
    font-family: var(--font-main) !important;
    font-weight: 900 !important;
}
body a {
    color: rgb(var(--colour-link));
}
body a:hover {
    color: rgb(var(--colour-link-highlight));
}
body a.em-button::before,
body a.em-button.w-btn.color_primary::before,
body a.em-button-white-border.w-btn.color_white::before {
    display: none;
}
body a.em-button,
body a.em-button.w-btn.color_primary,
body a.em-button-white-border.w-btn.color_white {
    background-color: #4282E6;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    border-radius: 5px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.33333333em;
    padding: 15px 30px 17px;
    text-transform: none;
}
body a.em-button-white-border.w-btn.color_white {
    background-color: rgba(0,0,0,0);
}
body a.em-button:hover,
body a.em-button.w-btn.color_primary:hover,
body a.em-button-white-border.w-btn.color_white:hover {
    background-color: #1d69e2;
    color: #fff !important;
}
body a.em-button-white-border.w-btn.color_white:hover {
    background-color: #fff !important;
}
body .no-touch .btn_hov_slide .w-btn::before,
body .no-touch .btn_hov_slide .cl-btn::before {
    display: none;
}
.fw-600 {
    font-weight: 600;
}
.fz-18,
.banner-home p {
    font-size: 18px;
    line-height: 1.33333333em;
}
.fz-39 {
    font-size: 39px;
    line-height: 1.3em;
}
body h1,
.fz-65 {
    font-size: 65px;
    line-height: 0.90769231em;
}
h2.fz-65 {
    margin-bottom: 38px;
}
.content-section .l-section-h {
    padding-bottom: 100px;
    padding-top: 100px;
}
body .l-header.pos_fixed {
    background: #fff;
}
body .l-subheader.at_middle .l-subheader-h {
    max-width: 1820px;
}
.l-subheader-cell .ush_text_4 {
    display: none;
}
body .l-subheader-cell .ush_text_4 {
    display: block;
}
body .l-subheader-cell.at_right .w-text i {
    display: none;
}
body .l-subheader-cell.at_right .ush_text_2 a::before {
    color: rgba(87,93,91,0.5);
    content: "Talk to our friendly team";
    display: block;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2em;
    margin-bottom: 4px;
    margin-top: 3px;
}
body .l-subheader-cell.at_right .ush_text_2 a {
    color: #575D5B;
    font-size: 32px;
    font-weight: 600;
    line-height: 1em;
}
body .l-subheader-cell.at_right > * {
    margin-left: 37px;
}
body.header_hor .l-subheader.at_bottom {
    background: rgb(var(--colour-link));
}
body.header_hor .ush_menu_1.type_desktop .w-nav-list.level_1 > .menu-item > a {
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    padding-left: 23px;
    padding-right: 23px;
}
body.header_hor .w-nav.type_desktop > .w-nav-list > .menu-item.menu-mobile-only {
    display: none;
}
body.header_hor .w-nav.type_desktop .menu-item-has-children > a .w-nav-arrow::before {
    border-top: 8px solid #fff;
    border-left: 5px solid rgba(0,0,0,0);
    border-right: 5px solid rgba(0,0,0,0);
    content: "";
    display: inline-block;
    margin-left: 16px;
}
body.header_hor .w-nav.type_desktop .menu-item-has-children > a .w-nav-arrow {
    display: inline-block;
    height: auto;
    line-height: 1em;
    position: relative;
    top: 2px;
    vertical-align: middle;
}
body.header_hor .w-nav.type_desktop .menu-item-has-children ul a {
    color: rgb(var(--colour-site-text));
}
body.header_hor .w-nav.type_desktop .menu-item-has-children ul a:hover {
    color: #fff;
}
.banner-home {
    margin-top: 32px;
}
.banner-home .l-section-img {
    top: 132px;
}
.banner-home .l-section-h {
    padding-bottom: 115px;
    padding-top: 180px;
}
.banner-home .wpb_text_column {
    margin-bottom: 40px;
    max-width: 650px;
}
.banner-home h1 {
    color: #fff;
    margin-bottom: 14px;
}
.banner-home p {
    color: #fff;
}
.home-portals .hero-box::before {
	padding-top: 38.596491%;
}
.home-portals.hero-box-columns-2 > div {
    margin: 10px 0;
}
.home-portals .hero-box.hero-box-effect-sarah .hero-box-text {
    top: 40px;
}
.home-portals .hero-box.hero-box-effect-sarah h3 {
    font-weight: 900;
}
body .bottom-bar h3.em-heading {
    color: #fff;
    margin-bottom: 46px;
}
.bottom-bar .l-section-h {
    padding-bottom: 100px;
    padding-top: 80px;
}
.from-the-blog .display-posts-listing {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
    list-style: none;
    margin: 0;
}
.from-the-blog .display-posts-listing li {
    background: #fff;
    margin: 0;
    overflow: hidden;
    position: relative;
}
.from-the-blog .display-posts-listing a.image {
    display: block;
    overflow: hidden;
    position: relative;
}
.from-the-blog .display-posts-listing a.image::before {
    content: "";
    display: block;
    padding-top: 61.891892%;
}
.from-the-blog .display-posts-listing a.image::after {
    bottom: -99em;
    content: "";
    display: block;
    left: -99em;
    position: absolute;
    right: -99em;
    top: -99em;
    z-index: 1;
}
.from-the-blog .display-posts-listing a.image img {
    object-fit: cover;
    left: 0;
    position: absolute;
    height: 100%;
    top: 0;
    width: 100%;
}
.from-the-blog .display-posts-listing a.title::after {
    bottom: 36px;
    color: rgb(var(--colour-link));
    content: "Read the full article";
    display: block;
    font-size: 16px;
    left: 35px;
    position: absolute;
    right: 35px;
    text-decoration: underline;
}
.from-the-blog .display-posts-listing a.title {
	color: rgb(var(--colour-heading));
    display: block;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.18181818em;
    padding: 26px 35px 80px;
}
.from-the-blog .display-posts-listing a.title:hover,
.from-the-blog .display-posts-listing a.image:hover + a.title {
    color: rgb(var(--colour-link));
}
.from-the-blog .display-posts-listing .date {
    background: rgb(var(--colour-link));
    -webkit-border-top-right-radius: 8px;
    -webkit-border-bottom-right-radius: 8px;
    -moz-border-radius-topright: 8px;
    -moz-border-radius-bottomright: 8px;
    border-top-right-radius: 8px;
    border-bottom-right-radius: 8px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    left: 0;
    line-height: 1.33333333em;
    padding: 12px 25px 13px;
    position: absolute;
    top: 30px;
}
.footer-top .l-section-h {
    padding-bottom: 0;
    padding-top: 100px;
}
.footer-top h2.widgettitle,
.footer-top h3 {
	color: rgb(var(--colour-heading));
    font-size: 24px;
    line-height: 1.3em;
    margin-bottom: 32px;
}
.footer-quick-links ul li::before {
    display: none;
}
.l-footer .footer-quick-links .widget_nav_menu ul li {
    margin: 11px 0 0;
    padding: 0;
}
.l-footer .footer-quick-links .widget_nav_menu ul li:first-child {
    margin-top: 0;
}
.l-footer .footer-quick-links .widget_nav_menu ul li a {
    color: rgb(var(--colour-site-text));
}
.l-footer .footer-quick-links .widget_nav_menu ul li a:hover {

}
.footer-get-in-touch {
    line-height: 1.5em;
}
.footer-get-in-touch a {
    display: inline-block;
    margin-top: 16px;
    text-decoration: underline;
}
.footer-logo {
    text-align: right;
}
.footer-logo img {
    width: 206px;
}
.footer-interior {
    text-align: right;
}
.footer-interior img {
    width: 142px;
}
.footer-copyright {
    font-size: 14px;
    padding-top: 5px;
}
body .footer-copyright a {
    color: rgb(var(--colour-site-text));
}
.footer-social.w-socials.style_solid .w-socials-item .w-socials-item-link {
    color: #fff;
    height: 35px;
    line-height: 36px;
    width: 35px;
}
.footer-social.w-socials.style_solid .facebook .w-socials-item-link {
	background-color: #42599e;
}
.footer-social.w-socials.style_solid .twitter .w-socials-item-link {
	background-color: #55acee;
}
.footer-social.w-socials.style_solid .pinterest .w-socials-item-link {
	background-color: #cb2027;
}
.footer-social .w-socials-item.pinterest .w-socials-item-link::after {
	content: '\f231';
}
.footer-social .w-socials-item {
    margin: 0 4px;
}
.footer-bottom .l-section-h {
    padding-bottom: 90px;
    padding-top: 50px;
}
.l-main-h {
    padding-bottom: 100px;
    padding-top: 100px;
}
body.home .l-main-h {
    padding-bottom: 0;
    padding-top: 0;
}

@media (max-width: 1440px) {
    .content-section .l-section-h {
        padding-bottom: 70px;
        padding-top: 70px;
    }
    .banner-home .l-section-h {
        padding-bottom: 65px;
        padding-top: 130px;
    }
    body h1,
    .fz-65 {
        font-size: 60px;
    }
    .bottom-bar .l-section-h {
        padding-bottom: 80px;
        padding-top: 60px;
    }
    .footer-top .l-section-h {
        padding-top: 70px;
    }
    .footer-bottom .l-section-h {
        padding-bottom: 60px;
        padding-top: 40px;
    }
}

@media (max-width: 1199px) {
    .l-main-h {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    body h1,
    .fz-65 {
        font-size: 50px;
    }
    h2.fz-65 {
        margin-bottom: 25px;
    }
    body.header_hor .w-nav.type_desktop .menu-item-has-children > a .w-nav-arrow::before {
        margin-left: 8px;
    }
    body.header_hor .ush_menu_1.type_desktop .w-nav-list.level_1 > .menu-item > a {
        font-size: 16px;
        padding-left: 15px;
        padding-right: 15px;
    }
    .banner-home .l-section-h {
        padding-bottom: 40px;
        padding-top: 90px;
    }
    .from-the-blog .display-posts-listing a.title::after {
        font-size: 15px;
    }
    .from-the-blog .display-posts-listing a.title {
        font-size: 18px;
    }
    .from-the-blog .display-posts-listing .date {
        font-size: 16px;
        padding: 9px 20px 10px;
        top: 20px;
    }
}

@media (max-width: 991px) {
    body h1, .fz-65 {
        font-size: 40px;
        line-height: 1.1em;
    }
    .fz-18,
    .banner-home p {
        font-size: 16px;
    }
    .fz-39 {
        font-size: 30px;
    }
    .content-section .l-section-h {
        padding-bottom: 50px;
        padding-top: 50px;
    }
    body.header_hor .w-nav.type_mobile a.w-nav-control {
        color: #fff;
    }
    body.header_hor .l-subheader.at_bottom {
        background: rgb(var(--colour-link));
        height: 40px;
        line-height: 40px;
    }
    body .w-nav.type_mobile .w-nav-item.level_1.menu-item-663 {
        display: none;
    }
    .banner-home {
        margin-top: 0;
    }
    .banner-home .l-section-h {
        padding-bottom: 30px;
        padding-top: 60px;
    }
    .banner-home .l-section-img {
        top: 0;
    }
    .banner-home .wpb_text_column {
        margin-bottom: 25px;
        max-width: 480px;
    }
    .bottom-bar .l-section-h {
        padding-bottom: 60px;
        padding-top: 40px;
    }
    body .bottom-bar h3.em-heading {
        margin-bottom: 40px;
    }
    .home-portals .hero-box.hero-box-effect-sarah h3 {
        font-size: 20px;
    }
    .home-portals .hero-box.hero-box-effect-sarah .hero-box-text {
        left: 20px;
        right: 20px;
        top: 20px;
    }
    .from-the-blog .display-posts-listing a.title::after {
        bottom: 23px;
        left: 20px;
        right: 20px;
    }
    .from-the-blog .display-posts-listing a.title {
        font-size: 16px;
        padding: 20px 20px 60px;
    }
    .from-the-blog .display-posts-listing .date {
        font-size: 14px;
        padding: 7px 15px 9px;
        top: 20px;
    }
    .footer-top h2.widgettitle,
    .footer-top h3 {
        font-size: 20px;
        margin-bottom: 20px;
    }
    .footer-top .l-section-h {
        padding-top: 50px;
    }
    .footer-bottom .l-section-h {
        padding-bottom: 40px;
        padding-top: 30px;
    }
    .l-footer .footer-quick-links .widget_nav_menu ul li a,
    .footer-get-in-touch {
        font-size: 14px;
    }
}

@media (max-width: 900px) {
    body.header_hor .w-nav.type_desktop > .w-nav-list > .menu-item.menu-mobile-only {
        display: block;
    }
}

@media (max-width: 767px) {
    body h1, .fz-65 {
        font-size: 32px;
    }
    body a.em-button,
    body a.em-button.w-btn.color_primary,
    body a.em-button-white-border.w-btn.color_white {
        font-size: 18px;
        font-weight: 600;
        line-height: 1.33333333em;
        padding: 11px 25px 13px;
    }
    .banner-home {
        text-align: center;
    }
    .from-the-blog .display-posts-listing {
        grid-template-columns: 100%;
    }
    .footer-top,
    .footer-quick-links,
    .footer-bottom,
    .footer-logo,
    .footer-interior,
    .footer-social .w-socials-list {
        text-align: center;
    }
}
