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

@import url("../impreza/style.css");

/* Add your custom styles below this line */



:root {
    --primary: #1b98e0;
    --h1-font-size: calc(24px + 1vw) !important;
    --h2-font-size: calc(21px + 1vw) !important;
    --h3-font-size: calc(18px + 1vw) !important;
    --h4-font-size: calc(14px + 1vw) !important;
}
h1, h2, h3, h4, h5, h6 {
    padding: 0 !important;
    margin-bottom: 15px !important;
}

.grid,
.grid-row {
    clear: both;
}


/* nd grid system*/

.grid,
.grid-row {
    display: grid;
    grid-gap: 30px;
}

.grid-inline,
.inline-grid {
    display: inline-grid;
}

.grid-gap-0 {
    grid-gap: 0px;
}

.grid-gap-10 {
    grid-gap: 10px;
}

.grid-gap-15 {
    grid-gap: 15px;
}

.grid-gap-20 {
    grid-gap: 20px;
}

.grid-gap-25 {
    grid-gap: 25px;
}

.grid-gap-30 {
    grid-gap: 30px;
}

.grid-gap-40 {
    grid-gap: 40px;
}

.grid-gap-50 {
    grid-gap: 50px;
}


.columns-1 {
    grid-template-columns: repeat(1, 1fr);
}

.columns-2 {
    grid-template-columns: repeat(2, 1fr);
}

.columns-2-auto {
    grid-template-columns: auto auto;
}

.columns-3 {
    grid-template-columns: repeat(3, 1fr);
}

.columns-3-auto {
    grid-template-columns: auto auto auto;
}

.columns-4 {
    grid-template-columns: repeat(4, 1fr);
}

.columns-4-auto {
    grid-template-columns: auto auto auto auto;
}

.columns-5 {
    grid-template-columns: repeat(5, 1fr);
}

.columns-6 {
    grid-template-columns: repeat(6, 1fr);
}

.columns-6-3-3 {
    grid-template-columns: auto 24% 24%;
}

.columns-3-6-3 {
    grid-template-columns: 24% auto 24%;
}

.columns-3-3-6 {
    grid-template-columns: 24% 24% auto;
}

.columns-3-9 {
    grid-template-columns: 18% auto;
}

.columns-9-3 {
    grid-template-columns: auto 18%;
}

.columns-8-4 {
    grid-template-columns: 73% auto;
}

.columns-4-8 {
    grid-template-columns: auto 73%;
}

.columns-5-7 {
    grid-template-columns: 43% auto;
}

.columns-7-5 {
    grid-template-columns: 60% auto;
}

/*max-width*/

[class*="max-w-"] {
    margin-left: auto;
    margin-right: auto;
}

.max-w-200 {
    max-width: 200px;
}

.max-w-250 {
    max-width: 250px;
}

.max-w-300 {
    max-width: 300px;
}

.max-w-350 {
    max-width: 350px;
}

.max-w-400 {
    max-width: 400px;
}

.max-w-450 {
    max-width: 450px;
}

.max-w-500 {
    max-width: 500px;
}

.max-w-550 {
    max-width: 550px;
}

.max-w-600 {
    max-width: 600px;
}

.max-w-650 {
    max-width: 650px;
}

.max-w-700 {
    max-width: 700px;
}

.max-w-750 {
    max-width: 750px;
}

.max-w-800 {
    max-width: 800px;
}

.max-w-850 {
    max-width: 850px;
}

.max-w-900 {
    max-width: 900px;
}

.max-w-950 {
    max-width: 950px;
}

.max-w-1000 {
    max-width: 1000px;
}

@media (min-width: 568px) {
    .mb-columns-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .mb-columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .mb-columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .mb-columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .mb-columns-8-4 {
        grid-template-columns: 73% auto;
    }
    .mb-columns-4-8 {
        grid-template-columns: auto 73%;
    }
    .mb-columns-5-7 {
        grid-template-columns: 43% auto;
    }
    .mb-columns-7-5 {
        grid-template-columns: 57% auto;
    }
}

@media (min-width: 768px) {
    .tb-columns-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .tb-columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .tb-columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .tb-columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .tb-columns-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .tb-columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .tb-columns-6-3-3 {
        grid-template-columns: auto 24% 24%;
    }
    .tb-columns-3-6-3 {
        grid-template-columns: 24% auto 24%;
    }
    .tb-columns-3-3-6 {
        grid-template-columns: 24% 24% auto;
    }
    .tb-columns-3-9 {
        grid-template-columns: 18% auto;
    }
    .tb-columns-9-3 {
        grid-template-columns: auto 18%;
    }
    .tb-columns-8-4 {
        grid-template-columns: 66.66% auto;
    }
    .tb-columns-4-8 {
        grid-template-columns: auto 66.66%;
    }
    .tb-columns-5-7 {
        grid-template-columns: 43% auto;
    }
    .tb-columns-7-5 {
        grid-template-columns: 60% auto;
    }
    .tb-column-gap-10 {
        grid-column-gap: 10px;
    }
    .tb-column-gap-15 {
        grid-column-gap: 15px;
    }
    .tb-column-gap-20 {
        grid-column-gap: 20px;
    }
    .tb-column-gap-30 {
        grid-column-gap: 30px;
    }
    .tb-column-gap-40 {
        grid-column-gap: 40px;
    }
    .tb-column-gap-50 {
        grid-column-gap: 50px;
    }
    .order-tb-last {
        order: 13;
    }
    .order-tb-0 {
        order: 0;
    }
    .order-tb-1 {
        order: 1;
    }
    .order-tb-2 {
        order: 2;
    }
    .order-tb-3 {
        order: 3;
    }
    .order-tb-4 {
        order: 4;
    }
    .order-tb-5 {
        order: 5;
    }
    .order-tb-6 {
        order: 6;
    }
    .order-tb-7 {
        order: 7;
    }
    .order-tb-8 {
        order: 8;
    }
    .order-tb-9 {
        order: 9;
    }
    .order-tb-10 {
        order: 10;
    }
    .order-tb-11 {
        order: 11;
    }
    .order-tb-12 {
        order: 12;
    }
}

@media (min-width: 1024px) {
    .dt-columns-1 {
        grid-template-columns: repeat(1, 1fr);
    }
    .dt-columns-2 {
        grid-template-columns: repeat(2, 1fr);
    }
    .dt-columns-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .dt-columns-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .dt-columns-5 {
        grid-template-columns: repeat(5, 1fr);
    }
    .dt-columns-6 {
        grid-template-columns: repeat(6, 1fr);
    }
    .dt-columns-6-3-3 {
        grid-template-columns: auto 24% 24%;
    }
    .dt-columns-3-6-3 {
        grid-template-columns: 24% auto 24%;
    }
    .dt-columns-3-3-6 {
        grid-template-columns: 24% 24% auto;
    }
    .dt-columns-3-9 {
        grid-template-columns: 18% auto;
    }
    .dt-columns-9-3 {
        grid-template-columns: auto 18%;
    }
    .dt-columns-8-4 {
        grid-template-columns: 66.66% auto;
    }
    .dt-columns-4-8 {
        grid-template-columns: auto 66.66%;
    }
    .dt-columns-5-7 {
        grid-template-columns: 43% auto;
    }
    .dt-columns-7-5 {
        grid-template-columns: 60% auto;
    }
    .dt-column-gap-10 {
        grid-column-gap: 10px;
    }
    .dt-column-gap-15 {
        grid-column-gap: 15px;
    }
    .dt-column-gap-20 {
        grid-column-gap: 20px;
    }
    .dt-column-gap-25 {
        grid-column-gap: 25px;
    }
    .dt-column-gap-30 {
        grid-column-gap: 30px;
    }
    .dt-column-gap-40 {
        grid-column-gap: 40px;
    }
    .dt-column-gap-50 {
        grid-column-gap: 50px;
    }
    .dt-grid-gap-10 {
        grid-gap: 10px;
    }
    .dt-grid-gap-15 {
        grid-gap: 15px;
    }
    .dt-grid-gap-20 {
        grid-gap: 20px;
    }
    .dt-grid-gap-20 {
        grid-gap: 20px;
    }
    .dt-grid-gap-30 {
        grid-gap: 30px;
    }
    .dt-grid-gap-40 {
        grid-gap: 40px;
    }
    .dt-grid-gap-50 {
        grid-gap: 50px;
    }
    .order-dt-last {
        order: 13;
    }
    .order-dt-0 {
        order: 0;
    }
    .order-dt-1 {
        order: 1;
    }
    .order-dt-2 {
        order: 2;
    }
    .order-dt-3 {
        order: 3;
    }
    .order-dt-4 {
        order: 4;
    }
    .order-dt-5 {
        order: 5;
    }
    .order-dt-6 {
        order: 6;
    }
    .order-dt-7 {
        order: 7;
    }
    .order-dt-8 {
        order: 8;
    }
    .order-dt-9 {
        order: 9;
    }
    .order-dt-10 {
        order: 10;
    }
    .order-dt-11 {
        order: 11;
    }
    .order-dt-12 {
        order: 12;
    }
}

@media (max-width:1023px) {
    .tb-grid-gap-10 {
        grid-gap: 10px;
    }
    .tb-grid-gap-15 {
        grid-gap: 15px;
    }
    .tb-grid-gap-20 {
        grid-gap: 20px;
    }
    .tb-grid-gap-30 {
        grid-gap: 30px;
    }
    .tb-grid-gap-40 {
        grid-gap: 40px;
    }
    .tb-grid-gap-50 {
        grid-gap: 50px;
    }
    /*vertical gap*/
    .tb-grid-gap-v-10 {
        grid-row-gap: 10px;
    }
    .tb-grid-gap-v-15 {
        grid-row-gap: 15px;
    }
    .tb-grid-gap-v-20 {
        grid-row-gap: 20px;
    }
    .tb-grid-gap-v-30 {
        grid-row-gap: 30px;
    }
    .tb-grid-gap-v-40 {
        grid-row-gap: 40px;
    }
    .tb-grid-gap-v-50 {
        grid-row-gap: 50px;
    }
    /*max width on tablet*/
    [class*="tb-max-w-"] {
        margin-left: auto;
        margin-right: auto;
    }
    .tb-max-w-300 {
        max-width: 300px;
    }
    .tb-max-w-400 {
        max-width: 400px;
    }
    .tb-max-w-500 {
        max-width: 500px;
    }
    .tb-max-w-600 {
        max-width: 600px;
    }
    .tb-max-w-700 {
        max-width: 700px;
    }
}

@media (max-width:767px) {
    .mb-grid-gap-10 {
        grid-gap: 10px;
    }
    .mb-grid-gap-15 {
        grid-gap: 15px;
    }
    .mb-grid-gap-20 {
        grid-gap: 20px;
    }
    .mb-grid-gap-30 {
        grid-gap: 30px;
    }
    .mb-grid-gap-40 {
        grid-gap: 40px;
    }
    .mb-grid-gap-50 {
        grid-gap: 50px;
    }
    /*vertical gap*/
    .mb-grid-gap-v-10 {
        grid-row-gap: 10px;
    }
    .mb-grid-gap-v-15 {
        grid-row-gap: 15px;
    }
    .mb-grid-gap-v-20 {
        grid-row-gap: 20px;
    }
    .mb-grid-gap-v-30 {
        grid-row-gap: 30px;
    }
    .mb-grid-gap-v-40 {
        grid-row-gap: 40px;
    }
    .mb-grid-gap-v-50 {
        grid-row-gap: 50px;
    }
    .mb-column-gap-10 {
        grid-column-gap: 10px;
    }
    .mb-column-gap-20 {
        grid-column-gap: 20px;
    }
    .mb-column-gap-30 {
        grid-column-gap: 30px;
    }
    .mb-column-gap-40 {
        grid-column-gap: 40px;
    }
    .mb-column-gap-50 {
        grid-column-gap: 50px;
    }
    [class*="mb-max-w-"] {
        margin-left: auto;
        margin-right: auto;
    }
    .mb-max-w-200 {
        max-width: 200px;
    }
    .mb-max-w-250 {
        max-width: 250px;
    }
    .mb-max-w-300 {
        max-width: 300px;
    }
    .mb-max-w-350 {
        max-width: 350px;
    }
    .mb-max-w-400 {
        max-width: 400px;
    }
    .mb-max-w-450 {
        max-width: 450px;
    }
    .mb-max-w-500 {
        max-width: 500px;
    }
}

@media (max-width:567px) {
    .mbv-grid-gap-10 {
        grid-gap: 10px;
    }
    .mbv-grid-gap-15 {
        grid-gap: 15px;
    }
    .mbv-grid-gap-20 {
        grid-gap: 20px;
    }
    .mbv-grid-gap-30 {
        grid-gap: 30px;
    }
    /*vertical gap*/
    .mbv-grid-gap-v-10 {
        grid-row-gap: 10px;
    }
    .mbv-grid-gap-v-15 {
        grid-row-gap: 15px;
    }
    .mbv-grid-gap-v-20 {
        grid-row-gap: 20px;
    }
    .mbv-grid-gap-v-30 {
        grid-row-gap: 30px;
    }
}


/*grid columns alignment*/

.v-align-top {
    align-items: start;
}

.v-align-center {
    align-items: center;
}

.v-align-bottom {
    align-items: end;
}

.v-align-stretch {
    align-items: stretch;
}


.category-list .wpb_column .vc_column-inner {
    display: grid;
    grid-template-columns: 150px auto;
    align-items: center;
    grid-gap: 20px;    
}

.category-list h3.w-text {font-size: 20px;font-weight: 500; line-height: 1.3;}
.category-list h3.w-text a {color: #333;}
.category-list h3.w-text a:hover {color: var(--primary);}


.single div#single-post-meta {
    display: grid;
    grid-gap: 15px;
    grid-template-columns: 50% 50%;
    font-size: 14px;
}
.single .w-post-elm.post_author.vcard.author {
    display: grid;
    grid-template-columns: 32px auto;
    grid-gap: 10px;
    float: right;
}
.single .post_taxonomy a {
    display: inline-block;
    background: var(--primary);
    color: #fff !important;
    font-size: 14px;
    padding: 5px 7px;
    line-height: 1.3;
    border-radius: 4px;
    margin-right: 5px;
}

div#sidebar-form {
    padding-top: 40px;
}

div#sidebar-form form {
    background: var(--primary);
    padding: 30px 20px 10px;
    border-radius: 4px;
    color: #fff;
    font-weight: 600;
}
div#sidebar-form form p {margin-bottom: 0px;line-height: 1.2;font-size: 16px;}
div#sidebar-form .wpcf7-form-control-wrap {
    margin-bottom: 15px;
}
div#sidebar-form select {
    background: #fff;
    height: 45px;
    min-height: 45px;
    padding: 0 10px;
    font-size: 15px;
    line-height: 1;
    border-radius: 4px;
    color: #000;
    font-weight: 600;
}
div#sidebar-form input#sb-chk-avail-btn {
    background: #ff9f0e;
    padding: 15px;
    font-size: 14px;
}
div#sidebar-form input#sb-chk-avail-btn:hover {
    background: #f57109;
}


div#comments {
    background: #f8f8f8;
    padding: 30px;
    border-radius: 8px;
}
div#comments ul.w-comments-list > li {
    background: #fff;
    margin-bottom: 20px;
    padding: 15px;
    font-size: 15px;
    line-height: 1.4;
    border: 1px solid #ddd;
    border-radius: 8px;
}
div#comments .comment-reply-title, div#comments .comment-notes {
    margin-bottom: 15px;
}

#commentform input:not([type=submit]), #commentform select,
#commentform textarea {
    background: #fff;
    box-shadow: none;
    border: 1px solid #ccc;
    font-size: 16px;
    color: #333;
    padding: 0 10px;
    width: 100%;
    font-family: inherit;
}
#commentform input:not([type=submit]), #commentform select {
    
}
#commentform textarea {
    padding: 10px;
}
#commentform input[type="checkbox"] {
    width: 20px;
    height: 20px;
    padding: 0;
        margin-top: 1px;
}
#commentform .w-form-row label, #commentform .mc4wp-checkbox-wp-comment-form label {
    font-size: 16px;
    line-height: 1.4;
}
h1.w-post-elm.post_title {margin-bottom: 5px;margin-top: 0px !important;}
.mc4wp-form-theme label:after, .mc4wp-form-theme input:after {display: none !important;}

.w-sharing {
    margin-top: 30px;
}
.category-grid {
display: grid;
    grid-template-columns: 150px auto;
    align-items: center;
    grid-gap: 20px;
}
.g-cols.wpb_row.us_custom_b7261ad8.category-list {
    margin-top: 30px;
}
#cats-3 h2 {
    font-size: 22px;
    margin-top: 16px;
    text-align: center;
    color: var(--primary);
}
#cats-3 h3 {
    font-size: 18px;
}
.w-separator.size_medium:empty {
    height: 15px;
    border-bottom: 1px solid #000;
    margin-bottom: 25px;
}
#cats-3 h3.w-text a.w-text-h {
    color: #444;
    font-weight: normal !important;
    display: block;
    padding: 9px 10px;
    font-size: 14px;
    border: 1px solid #444;
}
#cats-3 h3.w-text a.w-text-h:hover {
    color: #000;
}
@media (min-width: 768px) {
    #cats-3 h2 {
    min-height: 52px;
    }
}
@media (min-width: 1024px) {
    section#single-post-grid .g-cols.cols_3-1 {
    grid-gap: 40px;
    grid-template-columns: auto 280px;
}
    .menu-item-has-children > a > span.w-nav-arrow {
    display: inline-block;
    font-size: 14px;
}
}

@media (max-width:1023px){
    .w-nav.type_mobile .ush_menu_1.type_mobile .w-nav-anchor.level_1, .w-nav.type_mobile  .ush_menu_1.type_mobile .w-nav-anchor.level_1 + .w-nav-arrow {
        font-size: 16px;
    }
    .w-nav.type_mobile .w-nav-anchor:not(.w-btn) {
    line-height: 1.3 !important;
    padding: 12px 15px !important;
    transition: none;
    position: relative !important;
    font-size: 17px !important;
}
    .w-nav.type_mobile .menu-item {
    border-top: 1px solid #eee;
}
   .w-nav.type_mobile .menu-item-has-children>.w-nav-anchor .w-nav-arrow {
    position: absolute;
    right: 10px;
    top: 7px;
    font-size: 13px;
}

    section#single-post-grid .g-cols.cols_3-1 {
    grid-gap: 40px;
    grid-template-columns: auto;
}
  section#single-post-grid .g-cols.via_grid>.vc_column_container:last-child {
        max-width: 400px;
    margin: auto;
    }
}

.single h1 {font-size: 32px;}
.w-grid.type_grid .w-grid-list {
    gap: calc(var(--gap, 0px) * 1) !important;
}

p {
    clear: both;
}
.comment-success-msg {
    padding: 10px;
    background-color: #e6ffed;
    border: 1px solid #4CAF50;
    color: #2d7a35;
    border-radius: 5px;
    font-weight: 500;
}

@media (max-width:767px){
    .single h1 {font-size: 32px;}
}

/* Fix Solid Security Pro Passwordless Login Layout */
body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show #login {
    width: 320px !important;
    max-width: 320px !important;
    margin: 0 auto !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show .itsec-pwls-login-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    box-sizing: border-box !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show #loginform {
    width: 100% !important;
    max-width: 100% !important;
    position: relative !important;
    padding: 26px 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show .itsec-pwls-login__submit {
    width: 100% !important;
    max-width: 100% !important;
    margin: 10px 0 !important;
    box-sizing: border-box !important;
    display: block !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show .itsec-pwls-login-fallback__or {
    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show .itsec-pwls-login-fallback__link-wrap {
    width: 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 10px 0 !important;
    box-sizing: border-box !important;
}

body.itsec-pwls-login.itsec-pwls-login--flow-method-first.itsec-pwls-login--show #login {
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}