
/*
 * =================================
 * General Styles
 * =================================
 */
/* Fix main container padding top/bottom */
.main.wrapper.clearfix {
    padding-top: 0;
    padding-bottom: 0;
}

a {
    color: #1b72b5;
}
h2, h3, h4, h5, h6 {
    color: rgb(20,20,20);
}
.aio-icon i {
    color: rgb(178,50,49);
}

#body-content .container {
    padding-right: 0;
    padding-left: 0;
}

.outter-wrapper {
    background: #ffffff;
}

.main-content,
.main-content tr,
.main-content li {
    color: ;
}

.main-content li {
    list-style-type: disc;
    margin-left: 30px;
    margin-bottom: 15px;
    display: list-item;
    text-align: -webkit-match-parent;
}

.main-content ul {
    margin-top: 20px;
    margin-bottom: 20px;
    list-style: none;
    display: block;
}

.container {
    margin: 0 auto;
    max-width: 1120px;
    padding: 0 25px;
}

#content li {
    list-style: disc;
    margin-left: 35px;
    margin-top: 10px;
}

span.vc_icon_element-icon.fa {
    font-family: "FontAwesome", "Font Awesome 5 Free";
}

.vc_row .ult-vc-seperator + .upb_row_bg {
    background-color: rgb(51,51,51);
}

/*
 * =================================
 * Logos
 * =================================
 */

.logo_1 {
        min-width: 200px;
            max-width: 250px;
        width: 100%;
    margin-right: auto;
    margin-left: auto;
    display: block;
    }

.logo_2 {
        min-width: 120px;
            max-width: 150px;
        width: 100%;
    margin-right: auto;
    margin-left: auto;
    display: block;
            filter: brightness(0) invert(1);
    }

/*
 * =================================
 * Header
 * =================================
 */
#topheaderbar h3 {
    margin-bottom: 0;
}

#header > .upb_row_bg {
    background-color:  !important;
}

#header strong {
    color: rgb(20,20,20) !important;
}

#header p {
    color: rgb(20,20,20) !important;
}

#header .vc_icon_element-icon {
    color: rgb(178,50,49);
}

#header.header-5 .upb_row_bg {
    border-bottom: 8px solid rgb(158,42,42);
}

.desktoptopbar {
    display: none;
}

/*
 * =================================
 * Heading Area
 * =================================
 */
#headingarea,
#headingarea h2 {
    color: #ffffff !important;
}

#headingarea h1 {
    color: rgb(247,247,247) !important;
}

#headingarea {
    padding: 300px 0px 35px 0px;
}

@media screen and (min-width: 960px) {
    #headingarea {
        padding: 300px 0px 35px 0px;
    }
}

/*
 * =================================
 * Subheading Area
 * =================================
 */
#subheadingarea .upb_row_bg  {
    background: #1e73be !important;
}
#subheadingarea h1,
#subheadingarea h2,
#subheadingarea h3,
#subheadingarea h4,
#subheadingarea h5,
#subheadingarea h6 {
    color: #ffffff !important;
}
#subheadingarea {
    color: #ffffff !important;
}

/*
 * =================================
 * Footing Area
 * =================================
 */
#footingarea .upb_row_bg {
    background: #ffffff !important;
}
#footingarea h1,
#footingarea h2,
#footingarea h3,
#footingarea h4,
#footingarea h5,
#footingarea h6 {
    color: #000000 !important;
}
#footingarea p {
    color: #000000 !important;
}

/*
 * =================================
 * Footer
 * =================================
 */
#footer,
#footer p {
    text-align: left;
}

#footer li:hover {
    background: rgb(158,42,42);
}

#footer,
#footer .upb_row_bg {
    background: rgb(178,50,49);
}

#footer p,
#footer a,
#footer li,
#footer strong,
#footer div {
    color: #ffffff;
}

#footer h2,
#footer h3 {
    color: #ffffff;
}

#footer-sub {
    background: rgb(158,42,42);
    padding: 50px 0;
}

#footer-sub p,
#footer-sub a {
    color: #ffffff;
}

#footer, #footer .upb_row_bg {
    border-top: 8px solid rgb(158,42,42);
}

#footer tr:nth-child(2n+1) {
    background: rgb(158,42,42);
    }

#footer .aioseo-opening-hours .aioseo-opening-hours-table {
    color: #ffffff;
    font-size: 15px;
    margin: 0 -0.5em;
}
#footer .aioseo-opening-hours .aioseo-opening-hours-table th,
#footer .aioseo-opening-hours .aioseo-opening-hours-table td {
    padding-top: 10.5px;
    padding-bottom: 10.5px;
}
@media screen and (max-width: 767px) {
    #footer .aioseo-opening-hours .aioseo-opening-hours-table {
        width: 100%;
        margin: 0;
    }
}

#footer h3 {
    margin-bottom: 20px;
    font-size: 20px;
}

#footer #menu-services,
#footer #menu-locations {
    text-align: left;
}

/* Services section */
.services a::before {
    font-family: "FontAwesome", "Font Awesome 5 Free";
    content: "\f054";
    font-size: 15px;
    font-weight: 600;
    padding-right: 6px;
    color: #ffffff;
}

.services a,
.locations a {
    padding: 7px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    line-height: 21px;
    display: block;
}

.services li:last-child a,
.locations li:last-child a {
    border: none;
}

#footer-wrapper #social-icons{
    margin-bottom: 5px;
}

/* Locations Served section */
.locations a::before {
    font-family: "FontAwesome", "Font Awesome 5 Free";
    content: "\f3c5";
    font-size: 15px;
    font-weight: 600;
    padding-right: 6px;
    color: #ffffff;
}

/* Business hours section */
.hours li {
    padding: 10px;
}

.hours span {
    float: right;
}

/* Copywright Terms Privacy styles */
.footer-bar, .footer-bar a {
    text-align: center;
    color: #ffffff;
}

/* Only for fotter with 2 horizontal navigation */
#footer .ubermenu-nav a{
    font-size: 15px;
    padding: 10px 12px;
}

/*
 * =================================
 * Homepage Heading Area
 * =================================
 */
#homepageheadingarea h1,
#homepageheadingarea h2,
#homepageheadingarea h3,
#homepageheadingarea p,
#homepageheadingarea {
    color: #ffffff;
}

#homepageheadingarea {
    padding: 380px 0px 35px 0px;
}

@media screen and (min-width: 960px) {
    #homepageheadingarea {
        padding: 420px 0px 420px 0px;
    }
}

/*
 * =================================
 * CTAs
 * =================================
 */
a.button-template {
    text-decoration: none;
}
.button--cta {
    cursor: pointer;
    text-transform: unset;
    border-radius: 5px !important;
    padding:  !important;
    width:  !important;
}
.button--cta_button_1 {
    background: rgb(178,50,49) !important;
    font-size: 18px !important;
            border: 3px solid !important;
        border-color: rgb(158,42,42) !important;
    
    --r: calc(178 * 0.2126);--g: calc(50 * 0.7152);--b: calc(49 * 0.0722);--sum: calc(var(--r) + var(--g) + var(--b));--perceived-lightness: calc(var(--sum) / 255);color: hsl(0, 0%, calc((var(--perceived-lightness) - 0.5) * -10000000%)) !important;}
.button--cta_button_1:hover {
    background: rgb(158,42,42) !important;    --r: calc(158 * 0.2126);--g: calc(42 * 0.7152);--b: calc(42 * 0.0722);--sum: calc(var(--r) + var(--g) + var(--b));--perceived-lightness: calc(var(--sum) / 255);color: hsl(0, 0%, calc((var(--perceived-lightness) - 0.5) * -10000000%)) !important;}

button {
    padding: 15px 25px 15px 25px;
    border-radius: 5px;
    border: 5px;
    margin: 0 5px 0 5px;
}

.button--cta_button_2 {
    background: rgb(242,242,242) !important;
    font-size: 18px !important;
            border: 3px solid !important;
        border-color: rgb(232,232,232) !important;
    
    --r: calc(242 * 0.2126);--g: calc(242 * 0.7152);--b: calc(242 * 0.0722);--sum: calc(var(--r) + var(--g) + var(--b));--perceived-lightness: calc(var(--sum) / 255);color: hsl(0, 0%, calc((var(--perceived-lightness) - 0.5) * -10000000%)) !important;}

.button--cta_button_2:hover {
    background: rgb(232,232,232) !important;    --r: calc(232 * 0.2126);--g: calc(232 * 0.7152);--b: calc(232 * 0.0722);--sum: calc(var(--r) + var(--g) + var(--b));--perceived-lightness: calc(var(--sum) / 255);color: hsl(0, 0%, calc((var(--perceived-lightness) - 0.5) * -10000000%)) !important;}

@media screen and (min-width: 768px) {
    .button--cta {
        margin: 0 5px;
    }
}


/*
 * =================================
 * Elfsight Forms
 * =================================
 */
[class^="eapps-contact-form-"] form button[aria-label="Submit"],
[class*=" eapps-contact-form-"] form button[aria-label="Submit"],
[class^="eapps-all-in-one-reviews-"] button,
[class*=" eapps-all-in-one-reviews-"] button {
    background-color: rgb(178,50,49) !important;
    color: rgb(255,255,255) !important;}

/* Resetting margin on the last child of the form so WPB Page Builder CSS can't change it */
[class^="eapps-contact-form-"] form > div:last-child,
[class*=" eapps-contact-form-"] form > div:last-child {
    margin: inherit;
}
[class^="eapps-form-builder-"] form > div > div > div:last-child,
[class*=" eapps-form-builder-"] form > div > div > div:last-child {
    margin-bottom: 20px;
}

/* Overriding standard TailwindCSS styling for labels */
form label {
    background-color: initial;
    width: auto;
}

.eapps-widget-toolbar {
    overflow: hidden;
}

/*
 * =================================
 * Misc / Unorganised
 * =================================
 */
.upb_bg_overlay{
    background-color: rgba(0,0,0,0.6) !important;
}

#body-content ul li {
    list-style-type: disc;
    margin-left: 35px;
}

.content-col p {
    margin-top: 0;
}

.content-col h2 {
    margin-bottom: 15px;
    margin-top: 30px;
}

.ult-content-box-anchor {
    color: inherit;
}

.ult-content-box {
    opacity: 0.9;
}
.ult-content-box:hover {
    opacity: 1.0;
}

/* style form container */
.main-content .contact-form-container {
    border: 5px solid rgb(178,50,49);
    border-radius: 10px;
    background: #ffffff;
    padding: 30px 16px;
}

.main-content .contact-form-container p {
    color: rgb(20,20,20);
}

.main-content .contact-form-container h2,
.main-content .contact-form-container h3  {
    color: rgb(20,20,20);
}

.main-content .contact-form-container p {
    margin-bottom: 0;
}

.main-content .contact-form-container #text-2 {
    margin-bottom: 15px;
}

/* Divider for contact-form-container */
.main-content .contact-form-container #text-3 {
    border-top: 2px solid #e4e4e4;
    padding-top: 16px;
}

.textoverbackground {
    color: #ffffff;
    background-color: #333333;
    background-blend-mode: overlay;
}

.oldgrid {
    border-radius: 500px;
}

.aioseo-opening-hours-table .hours {
    text-align: right;
}

/* Fix spacing issue caused by WPBakery Page Builder 6.10.0. This just adds a padding to the top of the SECOND section */
.main-content > .clearfix > .wpb-content-wrapper + .wpb-content-wrapper {
    padding-top: 35px;
}

/*
 * =================================
 * Media Queries
 * =================================
 */
@media screen and (max-width: 767px) {
    button.button--cta {
        width: 100%;
        margin-bottom: 8px !important;
    }

    .contact-form-container {
        border-left: none !important;
        border-right: none !important;
        padding: 30px 35px !important;
        border-radius: 0 !important;
        margin: 0 -25px;
    }

    #footer-sub {
        padding-bottom: 50px !important;
    }

    .top_bar {
        background: rgb(178,50,49);
        color: #ffffff;
        text-align: center;
        padding: 8px;
        font-size: 14px;
    }

    .mobilebottombar {
        width: 100%;
        position: fixed;
        bottom: 0;
        z-index: 999999;
        text-align: center;
        display: flex;
    }
    .mobilebottombar a {
        color: #ffffff;
        font-size: 18px;
    }
    .mobilebottombar .emailbutton {
        width: 100%;
        background: rgb(178,50,49);
        padding: 12px 0 12px 0;
        color: rgb(255,255,255) !important;    }
    .mobilebottombar .phonebutton {
        width: 100%;
        background: rgb(158,42,42);
        padding: 12px 0 12px 0;
        color: rgb(255,255,255) !important;    }
    .mobilebottombar a i ~ span {
        margin-left: 5px;
    }

    .vc_row .reverse {
        display: flex;
        flex-direction: column-reverse;
    }
}

/* Desktop Only */
@media only screen and (min-width: 768px) {
    .mobilebottombar,
    .mobiletopbar {
        display: none;
    }

    .desktoptopbar {
        display: block;
    }

    .top_bar {
        background: rgb(178,50,49);
        text-align: center;
        padding: 8px;
        font-size: 14px;
        color: #ffffff !important;    }

    .contact-form-container {
        margin-top: 0;
    }
}

@media screen and (max-width: 959px) {
    .ubermenu-responsive-default.ubermenu.ubermenu-responsive .ubermenu-column,
    .ubermenu-responsive-default.ubermenu.ubermenu-responsive .ubermenu-column-auto {
        min-width: 100%;
        text-align: center;
    }

    .ubermenu-item-level-1 a {
        text-align: center;
    }

    /* Homepage headline mobile font sizes */
    #homepageheadingarea h1 {
        font-size: 28px;
    }
    #homepageheadingarea h2 {
        font-size: 18px;
    }
    #homepageheadingarea h3 {
        font-size: 14px;
    }

    /* Headline mobile font fixes */
    #headingarea h1 {
        font-size: 36px;
    }
    #headingarea h2 {
        font-size: 26px !important;
    }

    /* Allow space for mobile CTA */
    #footer-sub{
        padding-bottom: 35px;
    }
}
